From cde173d872d6991872059c568f3cae1775f4713a Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 16:59:30 +0800 Subject: [PATCH 1/6] xfce.orage: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- .../xfce/applications/orage/default.nix | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix index 4e748dc96620..1088da9c4116 100644 --- a/pkgs/desktops/xfce/applications/orage/default.nix +++ b/pkgs/desktops/xfce/applications/orage/default.nix @@ -1,6 +1,11 @@ { + stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, + gettext, + pkg-config, + xfce4-dev-tools, + wrapGAppsHook3, glib, gtk3, libical, @@ -8,14 +13,27 @@ libxfce4ui, libxfce4util, tzdata, + gitUpdater, }: -mkXfceDerivation { - category = "apps"; +stdenv.mkDerivation (finalAttrs: { pname = "orage"; version = "4.20.2"; - sha256 = "sha256-iV4eVYmOXfEpq5cnHeCXRvx0Ms0Dis3EIwbcSakGLXs="; + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "apps"; + repo = "orage"; + tag = "orage-${finalAttrs.version}"; + hash = "sha256-iV4eVYmOXfEpq5cnHeCXRvx0Ms0Dis3EIwbcSakGLXs="; + }; + + nativeBuildInputs = [ + gettext + pkg-config + xfce4-dev-tools + wrapGAppsHook3 + ]; buildInputs = [ glib @@ -31,9 +49,20 @@ mkXfceDerivation { substituteInPlace src/tz_zoneinfo_read.c --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" ''; + configureFlags = [ "--enable-maintainer-mode" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "orage-"; + odd-unstable = true; + }; + meta = { description = "Simple calendar application for Xfce"; + homepage = "https://gitlab.xfce.org/apps/orage"; + license = lib.licenses.gpl2Plus; mainProgram = "orage"; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +}) From b52cfc6a69ec056a0eff4b3c00d195ae723b2a33 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 17:15:28 +0800 Subject: [PATCH 2/6] xfce.xfce4-notifyd: Build with meson Autotools support will be removed in next release. --- .../applications/xfce4-notifyd/default.nix | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix index 6a24099dd482..d046c546c25d 100644 --- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix @@ -1,6 +1,12 @@ { + stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, + gettext, + meson, + ninja, + pkg-config, + wrapGAppsHook3, dbus, glib, gtk3, @@ -11,17 +17,34 @@ libxfce4ui, libxfce4util, sqlite, + systemd, xfce4-panel, xfconf, + gitUpdater, }: -mkXfceDerivation { - category = "apps"; +stdenv.mkDerivation (finalAttrs: { pname = "xfce4-notifyd"; version = "0.9.7"; - odd-unstable = false; - sha256 = "sha256-pgdoy3mZOGMOBwK/cYEl8fre4fZo2lfyWzZnrSYlQ64="; + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "apps"; + repo = "xfce4-notifyd"; + tag = "xfce4-notifyd-${finalAttrs.version}"; + hash = "sha256-pgdoy3mZOGMOBwK/cYEl8fre4fZo2lfyWzZnrSYlQ64="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + gettext + glib # glib-genmarshal + meson + ninja + pkg-config + wrapGAppsHook3 + ]; buildInputs = [ dbus @@ -34,18 +57,21 @@ mkXfceDerivation { libxfce4ui libxfce4util sqlite + systemd xfce4-panel xfconf ]; - configureFlags = [ - "--enable-dbus-start-daemon" - "--enable-sound" - ]; + passthru.updateScript = gitUpdater { + rev-prefix = "xfce4-notifyd-"; + }; meta = { description = "Simple notification daemon for Xfce"; + homepage = "https://gitlab.xfce.org/apps/xfce4-notifyd"; + license = lib.licenses.gpl2Plus; mainProgram = "xfce4-notifyd-config"; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +}) From 024dc16536305df0f6b757a3b7ba19a2839cacd2 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 19:40:47 +0800 Subject: [PATCH 3/6] xfce.exo: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- pkgs/desktops/xfce/core/exo/default.nix | 41 ++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/core/exo/default.nix b/pkgs/desktops/xfce/core/exo/default.nix index 1071730d2634..569ef2b02e54 100644 --- a/pkgs/desktops/xfce/core/exo/default.nix +++ b/pkgs/desktops/xfce/core/exo/default.nix @@ -1,26 +1,46 @@ { + stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, docbook_xsl, + gettext, + pkg-config, + xfce4-dev-tools, + wrapGAppsHook3, glib, libxslt, gtk3, libxfce4ui, libxfce4util, perl, + gitUpdater, }: -mkXfceDerivation { - category = "xfce"; +stdenv.mkDerivation (finalAttrs: { pname = "exo"; version = "4.20.0"; - sha256 = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0="; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "xfce"; + repo = "exo"; + tag = "exo-${finalAttrs.version}"; + hash = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0="; + }; nativeBuildInputs = [ libxslt docbook_xsl + gettext perl + pkg-config + xfce4-dev-tools + wrapGAppsHook3 ]; buildInputs = [ @@ -30,8 +50,19 @@ mkXfceDerivation { libxfce4util ]; + configureFlags = [ "--enable-maintainer-mode" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "exo-"; + odd-unstable = true; + }; + meta = { description = "Application library for Xfce"; + homepage = "https://gitlab.xfce.org/xfce/exo"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +}) From 8da3770dcbb5415fb738e84bf5132edf751ecc06 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 19:47:27 +0800 Subject: [PATCH 4/6] xfce.garcon: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- pkgs/desktops/xfce/core/garcon/default.nix | 41 ++++++++++++++++++---- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/xfce/core/garcon/default.nix b/pkgs/desktops/xfce/core/garcon/default.nix index 54bd89e0b3e2..49d1a7badb5b 100644 --- a/pkgs/desktops/xfce/core/garcon/default.nix +++ b/pkgs/desktops/xfce/core/garcon/default.nix @@ -1,7 +1,10 @@ { stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, + gettext, + pkg-config, + xfce4-dev-tools, gtk3, libxfce4ui, libxfce4util, @@ -10,16 +13,32 @@ && stdenv.hostPlatform.emulatorAvailable buildPackages, buildPackages, gobject-introspection, + gitUpdater, }: -mkXfceDerivation { - category = "xfce"; +stdenv.mkDerivation (finalAttrs: { pname = "garcon"; version = "4.20.0"; - sha256 = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw="; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = lib.optionals withIntrospection [ + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "xfce"; + repo = "garcon"; + tag = "garcon-${finalAttrs.version}"; + hash = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw="; + }; + + nativeBuildInputs = [ + gettext + pkg-config + xfce4-dev-tools + ] + ++ lib.optionals withIntrospection [ gobject-introspection ]; @@ -29,12 +48,22 @@ mkXfceDerivation { libxfce4util ]; + configureFlags = [ "--enable-maintainer-mode" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "garcon-"; + odd-unstable = true; + }; + meta = { description = "Xfce menu support library"; + homepage = "https://gitlab.xfce.org/xfce/garcon"; license = with lib.licenses; [ lgpl2Only fdl11Only ]; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +}) From 24c4005623e732f7593edb186755500852d84297 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 19:56:12 +0800 Subject: [PATCH 5/6] xfce.libxfce4ui: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- .../desktops/xfce/core/libxfce4ui/default.nix | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix index 61b35a9ca7a4..c809c5cd15d6 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui/default.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix @@ -1,8 +1,12 @@ { stdenv, - mkXfceDerivation, lib, + fetchFromGitLab, + gettext, perl, + pkg-config, + xfce4-dev-tools, + wrapGAppsHook3, libICE, libSM, libepoxy, @@ -18,17 +22,32 @@ buildPackages, gobject-introspection, vala, + gitUpdater, }: -mkXfceDerivation { - category = "xfce"; +stdenv.mkDerivation (finalAttrs: { pname = "libxfce4ui"; version = "4.20.2"; - sha256 = "sha256-NsTrJ2271v8vMMyiEef+4Rs0KBOkSkKPjfoJdgQU0ds="; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "xfce"; + repo = "libxfce4ui"; + tag = "libxfce4ui-${finalAttrs.version}"; + hash = "sha256-NsTrJ2271v8vMMyiEef+4Rs0KBOkSkKPjfoJdgQU0ds="; + }; nativeBuildInputs = [ + gettext perl + pkg-config + xfce4-dev-tools + wrapGAppsHook3 ] ++ lib.optionals withIntrospection [ gobject-introspection @@ -51,16 +70,26 @@ mkXfceDerivation { ]; configureFlags = [ + "--enable-maintainer-mode" "--with-vendor-info=NixOS" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "libxfce4ui-"; + odd-unstable = true; + }; + meta = { description = "Widgets library for Xfce"; + homepage = "https://gitlab.xfce.org/xfce/libxfce4ui"; mainProgram = "xfce4-about"; license = with lib.licenses; [ lgpl2Plus lgpl21Plus ]; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +}) From 839648e6100746d28d768eb2791274dce8c0002f Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 20 Dec 2025 20:02:45 +0800 Subject: [PATCH 6/6] xfce.libxfce4util: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- .../xfce/core/libxfce4util/default.nix | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/core/libxfce4util/default.nix b/pkgs/desktops/xfce/core/libxfce4util/default.nix index f7f78be6221c..d2c1e5362bc1 100644 --- a/pkgs/desktops/xfce/core/libxfce4util/default.nix +++ b/pkgs/desktops/xfce/core/libxfce4util/default.nix @@ -1,26 +1,45 @@ { stdenv, - mkXfceDerivation, lib, + fetchFromGitLab, + gettext, + pkg-config, python3, vala, + xfce4-dev-tools, + wrapGAppsNoGuiHook, glib, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages, buildPackages, gobject-introspection, + gitUpdater, }: -mkXfceDerivation { - category = "xfce"; +stdenv.mkDerivation (finalAttrs: { pname = "libxfce4util"; version = "4.20.1"; - sha256 = "sha256-QlT5ev4NhjR/apbgYQsjrweJ2IqLySozLYLzCAnmkfM="; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "xfce"; + repo = "libxfce4util"; + tag = "libxfce4util-${finalAttrs.version}"; + hash = "sha256-QlT5ev4NhjR/apbgYQsjrweJ2IqLySozLYLzCAnmkfM="; + }; nativeBuildInputs = [ + gettext + pkg-config python3 + xfce4-dev-tools + wrapGAppsNoGuiHook ] ++ lib.optionals withIntrospection [ gobject-introspection @@ -35,10 +54,20 @@ mkXfceDerivation { patchShebangs xdt-gen-visibility ''; + configureFlags = [ "--enable-maintainer-mode" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "libxfce4util-"; + odd-unstable = true; + }; + meta = { description = "Extension library for Xfce"; + homepage = "https://gitlab.xfce.org/xfce/libxfce4util"; mainProgram = "xfce4-kiosk-query"; license = lib.licenses.lgpl2Plus; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +})