summary refs log tree commit diff
path: root/pkgs/desktops/xfce/mkXfceDerivation.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/xfce/mkXfceDerivation.nix')
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix25
1 files changed, 21 insertions, 4 deletions
diff --git a/pkgs/desktops/xfce/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index b7dc8322569..4c6edf99b61 100644
--- a/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -1,6 +1,16 @@
-{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }:
-
-{ category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args:
+{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }:
+
+{ category
+, pname
+, version
+, attrPath ? "xfce.${pname}"
+, rev-prefix ? "${pname}-"
+, rev ? "${rev-prefix}${version}"
+, sha256
+, odd-unstable ? true
+, patchlevel-unstable ? true
+, ...
+} @ args:
 
 let
   inherit (builtins) filter getAttr head isList;
@@ -12,7 +22,7 @@ let
   concatAttrLists = attrsets:
     zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
 
-  template = {
+  template = rec {
     name = "${pname}-${version}";
 
     nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
@@ -27,6 +37,13 @@ let
     enableParallelBuilding = true;
     outputs = [ "out" "dev" ];
 
+    pos = builtins.unsafeGetAttrPos "pname" args;
+
+    passthru.updateScript = xfce.updateScript {
+      inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
+      versionLister = xfce.gitLister src.url;
+    };
+
     meta = with stdenv.lib; {
       homepage = "https://git.xfce.org/${category}/${pname}/about";
       license = licenses.gpl2; # some libraries are under LGPLv2+