xfce4: new packages (#44646)

This commit is contained in:
Teague Sterling 2024-08-03 04:29:48 -07:00 committed by GitHub
parent a1090029f3
commit c5ae5ba4db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 821 additions and 0 deletions

View File

@ -0,0 +1,54 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Exo(AutotoolsPackage):
"""Helper applications for XFCE4"""
homepage = "https://docs.xfce.org/xfce/exo/start"
url = "https://archive.xfce.org/xfce/4.16/src/exo-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="4f2c61d045a888cdb64297fd0ae20cc23da9b97ffb82562ed12806ed21da7d55")
version("4.16.0", sha256="1975b00eed9a8aa1f899eab2efaea593731c19138b83fdff2f13bdca5275bacc")
variant("introspection", default=True, description="Build with gobject-introspection support")
# Base requirements
with default_args(type=("build", "run")):
depends_on("libxfce4util")
depends_on("libxfce4ui")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("perl-uri")
with when("+introspection"):
depends_on("libxfce4util+introspection")
depends_on("libxfce4ui+introspection")
depends_on("gobject-introspection")
depends_on("intltool@0.51.0:", type="build")
with default_args(type=("build", "link", "run")):
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
return args

View File

@ -0,0 +1,51 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Garcon(AutotoolsPackage):
"""Menu library for XFCE4"""
homepage = "https://docs.xfce.org/xfce/garcon/start"
url = "https://archive.xfce.org/xfce/4.16/src/garcon-0.8.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("LGPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="54633487566a8b8502b71c11a7f719efe27c069bd5773cc95f11ff4ea8f11a14")
version("0.8.0", sha256="4811d89ee5bc48dbdeffd69fc3eec6c112bbf01fde98a9e848335b374a4aa1bb")
variant("introspection", default=True, description="Build with gobject-introspection support")
# Base requirements
depends_on("intltool@0.51.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("glib@2:")
depends_on("gtkplus@3:")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
return args
def setup_dependent_build_environment(self, env, dep_spec):
if self.spec.satisfies("+introspection") and dep_spec.satisfies("+introspection"):
env.append_path("XDG_DATA_DIRS", self.prefix.share)

View File

@ -0,0 +1,66 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Libxfce4ui(AutotoolsPackage):
"""Widget sharing library for XFCE4"""
homepage = "https://docs.xfce.org/xfce/libxfce4ui/start"
url = "https://archive.xfce.org/xfce/4.16/src/libxfce4ui-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("LGPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="532247c4387c17bb9ef94a73147039b8d013c3131c95cdbd2fa85fbcc848d06b")
version("4.16.0", sha256="8b06c9e94f4be88a9d87c47592411b6cbc32073e7af9cbd64c7b2924ec90ceaa")
variant("glibtop", default=True, description="Build with glibtop support")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant("vala", default=True, description="Build with vala support")
variant("notification", default=True, description="Build with startup-notification support")
depends_on("intltool@0.35.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("xfconf")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("libgtop@2", when="+glibtop")
depends_on("startup-notification", when="+notification")
with when("+introspection"):
depends_on("gobject-introspection")
depends_on("libxfce4util+introspection")
with when("+vala"):
depends_on("vala")
depends_on("libxfce4util+vala")
with when("@4.18:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("glibtop")
args += self.enable_or_disable("introspection")
args += self.enable_or_disable("vala")
args += self.enable_or_disable("notification")
return args
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)

View File

@ -0,0 +1,56 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Libxfce4util(AutotoolsPackage):
"""Libxfce4util common non-GTK+ utilities among the Xfce applications."""
homepage = "https://docs.xfce.org/xfce/libxfce4util/start"
url = "https://archive.xfce.org/xfce/4.16/src/libxfce4util-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("LGPLv2", checked_by="teague") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="1157ca717fd3dd1da7724a6432a4fb24af9cd922f738e971fd1fd36dfaeac3c9")
version("4.16.0", sha256="60598d745d1fc81ff5ad3cecc3a8d1b85990dd22023e7743f55abd87d8b55b83")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant("vala", default=True, description="Build with vala support")
with default_args(type="build"):
depends_on("intltool@0.35.0:", when="@4.16:")
depends_on("gettext", when="@4.18:")
with default_args(type=("run", "link", "build")):
depends_on("pkgconfig@0.9.0:")
depends_on("glib@2")
depends_on("gobject-introspection", when="+introspection")
depends_on("vala", when="+vala")
with when("@4.18:"):
depends_on("glib@2.66:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16"):
depends_on("glib@2.50:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
args += self.enable_or_disable("vala")
return args
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)

View File

@ -0,0 +1,38 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class ThunarVolman(AutotoolsPackage):
"""Thunar extension which enables automatic management of removable drives and media."""
homepage = "https://docs.xfce.org/xfce/thunar/thunar-volman"
url = "https://archive.xfce.org/xfce/4.18/src/thunar-volman-4.18.0.tar.bz2"
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling")
version("4.18.0", sha256="93b75c7ffbe246a21f4190295acc148e184be8df397e431b258d0d676e87fc65")
extends("thunar")
# Base requirements
depends_on("intltool@0.39.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("exo")
depends_on("libgudev")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("dbus-glib")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("libgudev@145:")

View File

@ -0,0 +1,76 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Thunar(AutotoolsPackage):
"""Thunar File Manager"""
homepage = "https://docs.xfce.org/xfce/thunar/start"
url = "https://archive.xfce.org/xfce/4.16/src/thunar-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="d1f4b080c97b9e390eff199aaaac7562fb20f031686f8d5ee5207e953bfc2feb")
version("4.16.0", sha256="6277c448116a91ebfa564972645d8d79ef69864992a02bb164b7b13f98fdfd9b")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant("notifications", default=True, description="Build with startup-notification support")
variant("jpeg", default=True, description="Build with libjpeg support")
variant("exif", default=True, description="Build with libexif support")
variant("gdbus", default=True, description="Build with gdbus support")
variant("gio-unix", default=True, description="Build with gio-unix support")
variant("libnotify", default=True, description="Build with libnotify support")
variant("freetype", default=True, description="Build with freetype support")
extendable = True
# Base requirements
depends_on("intltool@0.39.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("exo")
depends_on("libpng")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("libexif", when="+exif")
depends_on("dbus-glib", when="+gdbus")
depends_on("libnotify", when="+libnotify")
depends_on("libjpeg", when="+jpeg")
depends_on("freetype", when="+freetype")
depends_on("startup-notification", when="+notifications")
with when("+introspection"):
depends_on("libxfce4util+introspection")
depends_on("libxfce4ui+introspection")
depends_on("gobject-introspection")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def setup_build_environment(self, env):
if self.spec.satisfies("@4.18"):
# Fails to check in xcfe4 include subdirectory for the libxfce4kbd-private-3 tree
env.append_flags("CPPFLAGS", f"-I{self.spec['libxfce4ui'].home.include.xfce4}")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
args += self.enable_or_disable("notifications")
args += self.enable_or_disable("exif")
args += self.enable_or_disable("gio-unix")
args += ["--with-custom-thunarx-dirs-enabled"]
return args

View File

@ -0,0 +1,72 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Tumbler(AutotoolsPackage):
"""Tumbler is a D-Bus service for applications to request thumbnails for XFCE4"""
homepage = "https://docs.xfce.org/xfce/tumbler/start"
url = "https://archive.xfce.org/xfce/4.16/src/tumbler-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="4087f3af4ef31271d3f315421a2f1fe67e4fda7ad60bbab1f073627914dfcf00")
version("4.16.0", sha256="9b0b7fed0c64041733d490b1b307297984629d0dd85369749617a8766850af66")
variant("desktop-thumbnailer", default=True, description="Build with .desktop file support")
variant("cover-thumbnailer", default=True, description="Build with cover support")
variant("pixbuf-thumbnailer", default=True, description="Build with pixbuf support")
variant("font-thumbnailer", default=True, description="Build with font support")
variant("jpeg-thumbnailer", default=True, description="Build with jpeg thumbnail support")
variant("ffmpeg-thumbnailer", default=True, description="Build with ffmpg video support")
# variant("gstreamer", default=True, description="Build with gstreamer video support")
variant("poppler-thumbnailer", default=True, description="Build with pdf support")
# variant("libgsf", default=True, description="Build with odf support")
# variant("libopenraw-gnome", default=True, description="Build with raw image support")
conflicts("%gcc@13:", when="@:4.18", msg="GCC 13+ fails on implicit pointer casting")
# Base requirements
with default_args(type="build"):
depends_on("intltool@0.35.0:")
depends_on("gettext")
depends_on("pkgconfig", type=("build", "link"))
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("glib@2:")
depends_on("dbus-glib")
depends_on("gdk-pixbuf")
depends_on("libpng")
depends_on("gtkplus@3:")
depends_on("freetype", when="+font-thumbnailer")
depends_on("libjpeg", when="+jpeg-thumbnailer")
depends_on("ffmpeg", when="+ffmpeg-thumbnailer")
depends_on("poppler+glib", when="+poppler-thumbnailer")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
def configure_args(self):
args = []
args += self.enable_or_disable("desktop-thumbnailer")
args += self.enable_or_disable("cover-thumbnailer")
args += self.enable_or_disable("pixbuf-thumbnailer")
args += self.enable_or_disable("font-thumbnailer")
args += self.enable_or_disable("jpeg-thumbnailer")
args += self.enable_or_disable("ffmpeg-thumbnailer")
args += self.enable_or_disable("poppler-thumbnailer")
return args

View File

@ -0,0 +1,36 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfce4Appfinder(AutotoolsPackage):
"""Program to find and launch installed applications for XFCE4"""
homepage = "https://docs.xfce.org/xfce/xfce4-appfinder/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfce4-appfinder-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="962a98d7b327d2073ed4cd0f78bce7945ed51b97d52fd60196e8b02ef819c18c")
version("4.16.0", sha256="37b92aaaeeec8220ed23163cf89321168d3b49e0c48b4c10f12dc4a21fdf0954")
# Base requirements
with default_args(type=("build", "link", "run")):
depends_on("libxfce4ui")
depends_on("garcon")
depends_on("glib@2:")
depends_on("intltool@0.35.0:", type="build")
with default_args(type=("build", "link", "run")):
with when("@4.18.0:"):
depends_on("glib@2.66:")
with when("@4.16.0:"):
depends_on("glib@2.50:")

View File

@ -0,0 +1,46 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfce4Core(BundlePackage):
"""Core libraries and applications for the Xfce4 desktop environment"""
homepage = "https://docs.xfce.org/start"
maintainers("teaguesterling")
version("4.18")
version("4.16")
with when("@4.18"):
depends_on("libxfce4util@4.18")
depends_on("xfconf@4.18")
depends_on("libxfce4ui@4.18")
depends_on("garcon@4.18.0")
depends_on("exo@4.18")
depends_on("thunar@4.18")
depends_on("xfce4-session@4.18")
depends_on("xfce4-panel@4.18")
depends_on("xfce4-settings@4.18")
depends_on("xfdesktop@4.18")
depends_on("xfwm4@4.18")
depends_on("xfce4-appfinder@4.18")
depends_on("tumbler@4.18")
with when("@4.16"):
depends_on("libxfce4util@4.16")
depends_on("xfconf@4.16")
depends_on("libxfce4ui@4.16")
depends_on("garcon@0.8.0")
depends_on("exo@4.16")
depends_on("thunar@4.16")
depends_on("xfce4-session@4.16")
depends_on("xfce4-panel@4.16")
depends_on("xfce4-settings@4.16")
depends_on("xfdesktop@4.16")
depends_on("xfwm4@4.16")
depends_on("xfce4-appfinder@4.16")
depends_on("tumbler@4.16")

View File

@ -0,0 +1,14 @@
diff --git a/libxfce4panel/Makefile.in b/libxfce4panel/Makefile.in
index 41642e1..c7d7b51 100644
--- a/libxfce4panel/Makefile.in
+++ b/libxfce4panel/Makefile.in
@@ -861,7 +861,7 @@ INTROSPECTION_COMPILER_ARGS = \
--includedir=.
@HAVE_INTROSPECTION_TRUE@introspection_sources = $(libxfce4panel_2_0_la_SOURCES)
-@HAVE_INTROSPECTION_TRUE@libxfce4panel_2_0_gir_INCLUDES = GObject-2.0 GLib-2.0 Gtk-3.0 Libxfce4util-1.0
+@HAVE_INTROSPECTION_TRUE@libxfce4panel_2_0_gir_INCLUDES = GObject-2.0 GLib-2.0 Gtk-3.0 libxfce4util-1.0
@HAVE_INTROSPECTION_TRUE@libxfce4panel_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
@HAVE_INTROSPECTION_TRUE@libxfce4panel_2_0_gir_LIBS = libxfce4panel-2.0.la
@HAVE_INTROSPECTION_TRUE@libxfce4panel_2_0_gir_FILES = $(introspection_sources)

View File

@ -0,0 +1,57 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfce4Panel(AutotoolsPackage):
"""Panel manager for Xfce4"""
homepage = "https://docs.xfce.org/xfce/xfce4-panel/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfce4-panel-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2 OR LGPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="be80023fd546587831bab25ded15ae4c9e346289a75744b6ba4cf4ee53794710")
version("4.16.0", sha256="5e979aeeb37d306d72858b1bc67448222ea7a68de01409055b846cd31f3cc53d")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant("notification", default=True, description="Build with startup-notification support")
patch("fix-libxfce4util-gir.patch", when="@4.16.0") # Capitalization difference causes error
# Base requirements
depends_on("intltool@0.51.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4ui")
depends_on("libxfce4util")
depends_on("exo")
depends_on("garcon")
depends_on("libwnck@3:")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("startup-notification", when="+notification")
with when("+introspection"):
depends_on("libxfce4ui+introspection")
depends_on("gobject-introspection")
depends_on("gobject-introspection")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("introspection")
return args

View File

@ -0,0 +1,65 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfce4Session(AutotoolsPackage):
"""Session manager for Xfce4"""
homepage = "https://docs.xfce.org/xfce/xfce4-session/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfce4-session-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="38badb500b272012f494543a60a9c0563c381647cc95bed73b68aec0b0b89a7f")
version("4.16.0", sha256="22f273f212481d71e0b5618c62710cd85f69aea74f5ea5c0093f7918b07d17b7")
variant(
"icon-themes",
description="Default icon themes to include",
default="hicolor",
values=["hicolor", "adwaita"],
multi=True,
)
with default_args(type=("build", "link", "run")):
depends_on("libxfce4ui")
depends_on("libwnck@3.10:")
depends_on("dbus-glib")
depends_on("iceauth")
depends_on("perl-xml-parser")
depends_on("intltool@0.39.0:", type="build")
with default_args(type=("build", "link", "run")):
with when("@4.18.0:"):
depends_on("glib@2.66:")
with when("@4.16.0:"):
depends_on("glib@2.50:")
with default_args(type="run"):
depends_on("adwaita-icon-theme", when="icon-themes=adwaita")
depends_on("hicolor-icon-theme", when="icon-themes=hicolor")
def configure_args(self):
args = []
args += [f"--with-xsession-prefix={self.home}"]
return args
def setup_run_enviornment(self, env):
self.add_xdg_dirs(env)
def setup_dependent_run_environment(self, env, dep_spec):
self.add_xdg_dirs(env)
def add_xdg_dirs(self, env):
# Xfce4-session needs $prefix/etc/xdg in it XDG_CONFIG_DIRS
env.append_path("XDG_CONFIG_DIRS", self.home.etc.xdg)
env.append_path("XDG_CONFIG_DIRS", self.prefix.etc.xdg)

View File

@ -0,0 +1,59 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfce4Settings(AutotoolsPackage):
"""Daemon, manager, and editor to centralize the configuration management for XFCE4"""
homepage = "https://docs.xfce.org/xfce/xfce4-settings/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfce4-settings-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling")
version("4.18.0", sha256="ed3f75837cb33cd694610fc87cd569c4782b7ac4e099143a3dbe8fff1f1c6a9d")
version("4.16.0", sha256="67a1404fc754c675c6431e22a8fe0e5d79644fdfadbfe25a4523d68e1442ddc2")
variant("introspection", default=True, description="Build with gobject-introspection support")
variant("libxcursor", default=True, description="Build with Xcursor support")
variant("libnotify", default=True, description="Build with libnotify support")
# Base requirements
with default_args(type=("build", "link", "run")):
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("garcon")
depends_on("exo")
depends_on("dbus-glib")
depends_on("libxi")
depends_on("libxrandr")
depends_on("libxcursor", when="+libxcursor")
depends_on("libnotify", when="+libnotify")
with when("+introspection"):
depends_on("libxfce4util+introspection")
depends_on("libxfce4ui+introspection")
depends_on("gobject-introspection")
depends_on("intltool@0.39.0:", type="build")
with default_args(type=("build", "link", "run")):
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gobject-introspection@1.66:", when="+introspection")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gobject-introspection@1.60:", when="+introspection")
def configure_args(self):
args = []
args += self.enable_or_disable("libxcursor")
args += self.enable_or_disable("libnotify")
args += self.enable_or_disable("introspection")
return args

View File

@ -0,0 +1,33 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfconf(AutotoolsPackage):
"""xfconf - Configuration Storage System for XFCE4"""
homepage = "https://docs.xfce.org/xfce/xfconf/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfconf-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("LGPLv2.1", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="2e8c50160bf800a807aea094fc9dad81f9f361f42db56607508ed5b4855d2906")
version("4.16.0", sha256="652a119007c67d9ba6c0bc7a740c923d33f32d03dc76dfc7ba682584e72a5425")
depends_on("intltool@0.35.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("dbus-glib")
with when("@4.18"):
depends_on("glib@2.66:")
depends_on("gettext") # Undocumented
with when("@4.16"):
depends_on("glib@2.50:")

View File

@ -0,0 +1,53 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfdesktop(AutotoolsPackage):
"""Xfdesktop is a desktop manager for the Xfce Desktop Environment."""
homepage = "https://docs.xfce.org/xfce/xfdesktop/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfdesktop-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="661783e7e6605459926d80bca46d25ce2197c221456457a863ea9d0252120d14")
version("4.16.0", sha256="934ba5affecff21e62d9fac1dd50c50cd94b3a807fefa5f5bff59f3d6f155bae")
variant("libnotify", default=True, description="Build with libnotify support")
variant("thunarx", default=False, description="Build with thunarx support") # TODO
# Base requirements
depends_on("intltool@0.35.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("libwnck")
depends_on("exo")
depends_on("garcon")
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("libnotify", when="+libnotify")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")
def configure_args(self):
args = []
args += self.enable_or_disable("libnotify")
return args

View File

@ -0,0 +1,45 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Xfwm4(AutotoolsPackage):
"""xfwm4 is the window manager for Xfce"""
homepage = "https://docs.xfce.org/xfce/xfwm4/start"
url = "https://archive.xfce.org/xfce/4.16/src/xfwm4-4.16.0.tar.bz2"
list_url = "https://archive.xfce.org/xfce/"
list_depth = 2
maintainers("teaguesterling")
license("GPLv2", checked_by="teaguesterling") # https://wiki.xfce.org/licenses/audit
version("4.18.0", sha256="92cd1b889bb25cb4bc06c1c6736c238d96e79c1e706b9f77fad0a89d6e5fc13f")
version("4.16.0", sha256="1e22eae1bbb66cebfd1753b0a5606e76ecbf6b09ce4cdfd732d093c936f1feb3")
variant("notification", default=True, description="Build with startup-notification support")
# Base requirements
depends_on("intltool@0.35.0:", type="build")
with default_args(type=("build", "link", "run")):
depends_on("libxfce4util")
depends_on("xfconf")
depends_on("libxfce4ui")
depends_on("dbus-glib")
depends_on("libwnck")
depends_on("libxinerama") # Undocumented
depends_on("glib@2:")
depends_on("gtkplus@3:")
depends_on("startup-notification", when="+notification")
with when("@4.18.0:"):
depends_on("glib@2.66:")
depends_on("gtkplus@3.24:")
with when("@4.16.0:"):
depends_on("glib@2.50:")
depends_on("gtkplus@3.22:")