diff options
author | Teague Sterling <teaguesterling@users.noreply.github.com> | 2024-08-03 04:29:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-03 13:29:48 +0200 |
commit | c5ae5ba4dba5e326f7f71b44124a3be4b1ef2572 (patch) | |
tree | 6fdb70ba3c64c8980919711a908eadb91f2285b1 | |
parent | a1090029f36aef54495294426619be55eaf715fb (diff) | |
download | spack-c5ae5ba4dba5e326f7f71b44124a3be4b1ef2572.tar.gz spack-c5ae5ba4dba5e326f7f71b44124a3be4b1ef2572.tar.bz2 spack-c5ae5ba4dba5e326f7f71b44124a3be4b1ef2572.tar.xz spack-c5ae5ba4dba5e326f7f71b44124a3be4b1ef2572.zip |
xfce4: new packages (#44646)
16 files changed, 821 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/exo/package.py b/var/spack/repos/builtin/packages/exo/package.py new file mode 100644 index 0000000000..6dc79dc943 --- /dev/null +++ b/var/spack/repos/builtin/packages/exo/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/garcon/package.py b/var/spack/repos/builtin/packages/garcon/package.py new file mode 100644 index 0000000000..57d76cee6b --- /dev/null +++ b/var/spack/repos/builtin/packages/garcon/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/libxfce4ui/package.py b/var/spack/repos/builtin/packages/libxfce4ui/package.py new file mode 100644 index 0000000000..0ac4b5500d --- /dev/null +++ b/var/spack/repos/builtin/packages/libxfce4ui/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/libxfce4util/package.py b/var/spack/repos/builtin/packages/libxfce4util/package.py new file mode 100644 index 0000000000..705720ff72 --- /dev/null +++ b/var/spack/repos/builtin/packages/libxfce4util/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/thunar-volman/package.py b/var/spack/repos/builtin/packages/thunar-volman/package.py new file mode 100644 index 0000000000..a1943bb91d --- /dev/null +++ b/var/spack/repos/builtin/packages/thunar-volman/package.py @@ -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:") diff --git a/var/spack/repos/builtin/packages/thunar/package.py b/var/spack/repos/builtin/packages/thunar/package.py new file mode 100644 index 0000000000..9d1e4bd517 --- /dev/null +++ b/var/spack/repos/builtin/packages/thunar/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/tumbler/package.py b/var/spack/repos/builtin/packages/tumbler/package.py new file mode 100644 index 0000000000..66fa45706a --- /dev/null +++ b/var/spack/repos/builtin/packages/tumbler/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/xfce4-appfinder/package.py b/var/spack/repos/builtin/packages/xfce4-appfinder/package.py new file mode 100644 index 0000000000..c7c48fdfa5 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-appfinder/package.py @@ -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:") diff --git a/var/spack/repos/builtin/packages/xfce4-core/package.py b/var/spack/repos/builtin/packages/xfce4-core/package.py new file mode 100644 index 0000000000..406fdcaaa6 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-core/package.py @@ -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") diff --git a/var/spack/repos/builtin/packages/xfce4-panel/fix-libxfce4util-gir.patch b/var/spack/repos/builtin/packages/xfce4-panel/fix-libxfce4util-gir.patch new file mode 100644 index 0000000000..7716dd8d4a --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-panel/fix-libxfce4util-gir.patch @@ -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) + diff --git a/var/spack/repos/builtin/packages/xfce4-panel/package.py b/var/spack/repos/builtin/packages/xfce4-panel/package.py new file mode 100644 index 0000000000..b406173fc4 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-panel/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/xfce4-session/package.py b/var/spack/repos/builtin/packages/xfce4-session/package.py new file mode 100644 index 0000000000..850af1c059 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-session/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/xfce4-settings/package.py b/var/spack/repos/builtin/packages/xfce4-settings/package.py new file mode 100644 index 0000000000..1d9b7cfb79 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfce4-settings/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/xfconf/package.py b/var/spack/repos/builtin/packages/xfconf/package.py new file mode 100644 index 0000000000..ffd975c11f --- /dev/null +++ b/var/spack/repos/builtin/packages/xfconf/package.py @@ -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:") diff --git a/var/spack/repos/builtin/packages/xfdesktop/package.py b/var/spack/repos/builtin/packages/xfdesktop/package.py new file mode 100644 index 0000000000..58daf8ac72 --- /dev/null +++ b/var/spack/repos/builtin/packages/xfdesktop/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/xfwm4/package.py b/var/spack/repos/builtin/packages/xfwm4/package.py new file mode 100644 index 0000000000..c97354369e --- /dev/null +++ b/var/spack/repos/builtin/packages/xfwm4/package.py @@ -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:") |