xfce.*: Move away from mkXfceDerivation (part 2) (#472972)

This commit is contained in:
Bobby Rong
2025-12-22 12:51:07 +00:00
committed by GitHub
6 changed files with 215 additions and 37 deletions
@@ -1,9 +1,12 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
gettext,
pkg-config,
python3,
wayland-scanner,
xfce4-dev-tools,
glib,
gtk3,
libdisplay-info,
@@ -18,18 +21,32 @@
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
gitUpdater,
}:
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "libxfce4windowing";
version = "4.20.4";
sha256 = "sha256-8iLkljuGyJ4giVN5yuOFuTZsrdr8U3avTS/1aRSpaxc=";
outputs = [
"out"
"dev"
];
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "libxfce4windowing";
tag = "libxfce4windowing-${finalAttrs.version}";
hash = "sha256-8iLkljuGyJ4giVN5yuOFuTZsrdr8U3avTS/1aRSpaxc=";
};
nativeBuildInputs = [
gettext
pkg-config
python3
wayland-scanner
xfce4-dev-tools
]
++ lib.optionals withIntrospection [
gobject-introspection
@@ -51,9 +68,19 @@ mkXfceDerivation {
patchShebangs xdt-gen-visibility
'';
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
rev-prefix = "libxfce4windowing-";
odd-unstable = true;
};
meta = {
description = "Windowing concept abstraction library for X11 and Wayland";
homepage = "https://gitlab.xfce.org/xfce/libxfce4windowing";
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})
@@ -1,19 +1,39 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
gettext,
pkg-config,
xfce4-dev-tools,
wrapGAppsHook3,
exo,
gtk3,
libgudev,
libxfce4ui,
libxfce4util,
xfconf,
gitUpdater,
}:
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "thunar-volman";
version = "4.20.0";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "thunar-volman";
tag = "thunar-volman-${finalAttrs.version}";
hash = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE=";
};
nativeBuildInputs = [
gettext
pkg-config
xfce4-dev-tools
wrapGAppsHook3
];
buildInputs = [
exo
gtk3
@@ -23,12 +43,20 @@ mkXfceDerivation {
xfconf
];
sha256 = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE=";
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
odd-unstable = false;
passthru.updateScript = gitUpdater {
rev-prefix = "thunar-volman-";
odd-unstable = true;
};
meta = {
description = "Thunar extension for automatic management of removable drives and media";
homepage = "https://gitlab.xfce.org/xfce/thunar-volman";
license = lib.licenses.gpl2Plus;
mainProgram = "thunar-volman";
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})
+42 -7
View File
@@ -1,8 +1,9 @@
{
stdenv,
mkXfceDerivation,
lib,
fetchFromGitLab,
docbook_xsl,
gettext,
exo,
gdk-pixbuf,
gtk3,
@@ -14,22 +15,43 @@
libxfce4util,
libxslt,
pcre2,
pkg-config,
xfce4-dev-tools,
xfce4-panel,
xfconf,
withIntrospection ? false,
wrapGAppsHook3,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
gitUpdater,
}:
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "thunar";
version = "4.20.6";
sha256 = "sha256-Ll1mJEkkxYGASWQ2z7GRiubNjggqeHXzgGSXQK+10qs=";
outputs = [
"out"
"dev"
];
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "thunar";
tag = "thunar-${finalAttrs.version}";
hash = "sha256-Ll1mJEkkxYGASWQ2z7GRiubNjggqeHXzgGSXQK+10qs=";
};
nativeBuildInputs = [
docbook_xsl
gettext
libxslt
pkg-config
xfce4-dev-tools
wrapGAppsHook3
]
++ lib.optionals withIntrospection [
gobject-introspection
@@ -50,7 +72,12 @@ mkXfceDerivation {
xfconf
];
configureFlags = [ "--with-custom-thunarx-dirs-enabled" ];
configureFlags = [
"--enable-maintainer-mode"
"--with-custom-thunarx-dirs-enabled"
];
enableParallelBuilding = true;
# the desktop file … is in an insecure location»
# which pops up when invoking desktop files that are
@@ -69,9 +96,17 @@ mkXfceDerivation {
)
'';
passthru.updateScript = gitUpdater {
rev-prefix = "thunar-";
odd-unstable = true;
};
meta = {
description = "Xfce file manager";
homepage = "https://gitlab.xfce.org/xfce/thunar";
license = lib.licenses.gpl2Plus;
mainProgram = "thunar";
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})
+36 -7
View File
@@ -1,6 +1,11 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
gettext,
pkg-config,
xfce4-dev-tools,
wrapGAppsNoGuiHook,
ffmpegthumbnailer,
gdk-pixbuf,
glib,
@@ -9,21 +14,33 @@
libgsf,
libheif,
libjxl,
libopenraw,
librsvg,
poppler,
gst_all_1,
webp-pixbuf-loader,
libxfce4util,
gitUpdater,
}:
# TODO: add libopenraw
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "tumbler";
version = "4.20.1";
sha256 = "sha256-p4lAFNvCakqrsDa2FP0xbc/khx6eYqAlHwWkk8yEB7Y=";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "tumbler";
tag = "tumbler-${finalAttrs.version}";
hash = "sha256-p4lAFNvCakqrsDa2FP0xbc/khx6eYqAlHwWkk8yEB7Y=";
};
nativeBuildInputs = [
gettext
pkg-config
xfce4-dev-tools
wrapGAppsNoGuiHook
];
buildInputs = [
libxfce4util
@@ -34,6 +51,7 @@ mkXfceDerivation {
gst_all_1.gst-plugins-base
libgepub # optional EPUB thumbnailer support
libgsf
libopenraw
poppler # technically the glib binding
];
@@ -58,8 +76,19 @@ mkXfceDerivation {
wrapGApp $out/lib/tumbler-1/tumblerd
'';
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
rev-prefix = "tumbler-";
odd-unstable = true;
};
meta = {
description = "D-Bus thumbnailer service";
homepage = "https://gitlab.xfce.org/xfce/tumbler";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})
@@ -1,22 +1,38 @@
{
stdenv,
lib,
mkXfceDerivation,
exo,
fetchFromGitLab,
gettext,
pkg-config,
xfce4-dev-tools,
wrapGAppsHook3,
garcon,
gtk3,
libxfce4util,
libxfce4ui,
xfconf,
gitUpdater,
}:
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-appfinder";
version = "4.20.0";
sha256 = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc=";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "xfce4-appfinder";
tag = "xfce4-appfinder-${finalAttrs.version}";
hash = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc=";
};
nativeBuildInputs = [
gettext
pkg-config
xfce4-dev-tools
wrapGAppsHook3
];
nativeBuildInputs = [ exo ];
buildInputs = [
garcon
gtk3
@@ -25,8 +41,20 @@ mkXfceDerivation {
xfconf
];
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
rev-prefix = "xfce4-appfinder-";
odd-unstable = true;
};
meta = {
description = "Appfinder for the Xfce4 Desktop Environment";
homepage = "https://gitlab.xfce.org/xfce/xfce4-appfinder";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-appfinder";
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})
@@ -1,8 +1,12 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
gettext,
pkg-config,
python3,
xfce4-dev-tools,
wrapGAppsHook3,
cairo,
exo,
garcon,
@@ -22,17 +26,32 @@
buildPackages,
gobject-introspection,
vala,
gitUpdater,
}:
mkXfceDerivation {
category = "xfce";
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-panel";
version = "4.20.5";
sha256 = "sha256-Jftj+EmmsKfK9jk8rj5uMjpteFUHFgOpoEol8JReDNI=";
outputs = [
"out"
"dev"
];
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "xfce";
repo = "xfce4-panel";
tag = "xfce4-panel-${finalAttrs.version}";
hash = "sha256-Jftj+EmmsKfK9jk8rj5uMjpteFUHFgOpoEol8JReDNI=";
};
nativeBuildInputs = [
gettext
pkg-config
python3
xfce4-dev-tools
wrapGAppsHook3
]
++ lib.optionals withIntrospection [
gobject-introspection
@@ -65,8 +84,20 @@ mkXfceDerivation {
--replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
configureFlags = [ "--enable-maintainer-mode" ];
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
rev-prefix = "xfce4-panel-";
odd-unstable = true;
};
meta = {
description = "Panel for the Xfce desktop environment";
homepage = "https://gitlab.xfce.org/xfce/xfce4-panel";
license = lib.licenses.gpl2Plus;
mainProgram = "xfce4-panel";
platforms = lib.platforms.linux;
teams = [ lib.teams.xfce ];
};
}
})