about summary refs log tree commit diff
path: root/pkgs/applications/networking/remote/xrdp/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/remote/xrdp/default.nix')
-rw-r--r--pkgs/applications/networking/remote/xrdp/default.nix47
1 files changed, 29 insertions, 18 deletions
diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix
index 3d6d1de3d964c..5c0dd23a9e135 100644
--- a/pkgs/applications/networking/remote/xrdp/default.nix
+++ b/pkgs/applications/networking/remote/xrdp/default.nix
@@ -19,22 +19,11 @@
 , lame
 , pixman
 , libjpeg_turbo
+, _experimental-update-script-combinators
+, gitUpdater
 }:
 
 let
-  version = "0.9.25.1";
-  patchedXrdpSrc = applyPatches {
-    patches = [ ./dynamic_config.patch ];
-    name = "xrdp-patched-${version}";
-    src = fetchFromGitHub {
-      owner = "neutrinolabs";
-      repo = "xrdp";
-      rev = "v${version}";
-      fetchSubmodules = true;
-      hash = "sha256-oAs0oWkCyj3ObdJuHLfT25ZzkTrxNAXDiFU64OOP4Ow=";
-    };
-  };
-
   xorgxrdp = stdenv.mkDerivation rec {
     pname = "xorgxrdp";
     version = "0.9.20";
@@ -62,16 +51,29 @@ let
 
     preConfigure = "./bootstrap";
 
-    configureFlags = [ "XRDP_CFLAGS=-I${patchedXrdpSrc}/common"  ];
+    configureFlags = [ "XRDP_CFLAGS=-I${xrdp.src}/common"  ];
 
     enableParallelBuilding = true;
+
+    passthru.updateScript = gitUpdater { rev-prefix = "v"; };
   };
 
-  xrdp = stdenv.mkDerivation {
-    inherit version;
+  xrdp = stdenv.mkDerivation rec {
     pname = "xrdp";
-
-    src = patchedXrdpSrc;
+    version = "0.9.25.1";
+
+    src = applyPatches {
+      inherit version;
+      patches = [ ./dynamic_config.patch ];
+      name = "xrdp-patched-${version}";
+      src = fetchFromGitHub {
+        owner = "neutrinolabs";
+        repo = "xrdp";
+        rev = "v${version}";
+        fetchSubmodules = true;
+        hash = "sha256-oAs0oWkCyj3ObdJuHLfT25ZzkTrxNAXDiFU64OOP4Ow=";
+      };
+    };
 
     nativeBuildInputs = [ pkg-config autoconf automake which libtool nasm perl ];
 
@@ -150,6 +152,15 @@ let
 
     enableParallelBuilding = true;
 
+    passthru = {
+      inherit xorgxrdp;
+      updateScript = _experimental-update-script-combinators.sequence (map (item: item.command) [
+        (gitUpdater { rev-prefix = "v"; attrPath = "xrdp.src"; ignoredVersions = [ "beta" ]; })
+        { command = ["rm" "update-git-commits.txt"]; }
+        (gitUpdater { rev-prefix = "v"; attrPath = "xrdp.xorgxrdp"; })
+      ]);
+    };
+
     meta = with lib; {
       description = "An open source RDP server";
       homepage = "https://github.com/neutrinolabs/xrdp";