From 893ca9bd27aa75f6069b7e890c665c22beb357ce Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 22 Dec 2025 23:12:53 +0800 Subject: [PATCH] xfce.xfconf: Move away from mkXfceDerivation To reduce the diff when build system change comes. mkXfceDerivation is generally pointless with meson. --- pkgs/desktops/xfce/core/xfconf/default.nix | 40 +++++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/xfce/core/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix index dd2fdaf4b3cd..f615ff2f9ab1 100644 --- a/pkgs/desktops/xfce/core/xfconf/default.nix +++ b/pkgs/desktops/xfce/core/xfconf/default.nix @@ -1,27 +1,46 @@ { stdenv, lib, - mkXfceDerivation, + fetchFromGitLab, + gettext, gobject-introspection, perl, + pkg-config, vala, + xfce4-dev-tools, + wrapGAppsNoGuiHook, libxfce4util, glib, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages, buildPackages, + gitUpdater, }: -mkXfceDerivation { - category = "xfce"; +stdenv.mkDerivation (finalAttrs: { pname = "xfconf"; version = "4.20.0"; - sha256 = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw="; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.xfce.org"; + owner = "xfce"; + repo = "xfconf"; + tag = "xfconf-${finalAttrs.version}"; + hash = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw="; + }; nativeBuildInputs = [ + gettext perl + pkg-config + xfce4-dev-tools + wrapGAppsNoGuiHook ] ++ lib.optionals withIntrospection [ gobject-introspection @@ -32,9 +51,20 @@ mkXfceDerivation { propagatedBuildInputs = [ glib ]; + configureFlags = [ "--enable-maintainer-mode" ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "xfconf-"; + odd-unstable = true; + }; + meta = { description = "Simple client-server configuration storage and query system for Xfce"; + homepage = "https://gitlab.xfce.org/xfce/xfconf"; mainProgram = "xfconf-query"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; teams = [ lib.teams.xfce ]; }; -} +})