about summary refs log tree commit diff
path: root/pkgs/applications/networking/sync
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2022-05-27 15:39:03 +0200
committerehmry <ehmry@posteo.net>2022-06-05 09:00:03 -0500
commit9e1c94057ca6152b32e7860b76b8f340a0e18f7c (patch)
tree982320862a9d56534c0603967fb779283a7779c9 /pkgs/applications/networking/sync
parentb569a7ba091711fc340ea053e24e280e3d0aac40 (diff)
rsync: adopt, greatly simplify package
Diffstat (limited to 'pkgs/applications/networking/sync')
-rw-r--r--pkgs/applications/networking/sync/rsync/base.nix22
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix39
-rw-r--r--pkgs/applications/networking/sync/rsync/rrsync.nix12
3 files changed, 31 insertions, 42 deletions
diff --git a/pkgs/applications/networking/sync/rsync/base.nix b/pkgs/applications/networking/sync/rsync/base.nix
deleted file mode 100644
index 27358c3ef5907..0000000000000
--- a/pkgs/applications/networking/sync/rsync/base.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, fetchurl, fetchpatch }:
-
-rec {
-  version = "3.2.4";
-  src = fetchurl {
-    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
-    url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
-    sha256 = "sha256-b3YYONCAUrC2V5z39nN9k+R/AfTaBMXSTTRHt/Kl+tE=";
-  };
-  upstreamPatchTarball = fetchurl {
-    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
-    url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
-    sha256 = "sha256-cKWXWQr2xhzz0F1mNCn/n2D/4k5E+cc6TNxp69wTIqQ=";
-  };
-
-  meta = with lib; {
-    description = "Fast incremental file transfer utility";
-    homepage = "https://rsync.samba.org/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 29016bc14af23..f47c9c75367de 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -20,27 +20,32 @@
 , nixosTests
 }:
 
-let
-  base = import ./base.nix { inherit lib fetchurl fetchpatch; };
-in
 stdenv.mkDerivation rec {
   pname = "rsync";
-  version = base.version;
+  version = "3.2.4";
 
-  mainSrc = base.src;
+  srcs = [
+    (fetchurl {
+      # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
+      url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
+      sha256 = "sha256-b3YYONCAUrC2V5z39nN9k+R/AfTaBMXSTTRHt/Kl+tE=";
+    })
+  ] ++ lib.optional enableCopyDevicesPatch (fetchurl {
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
+    url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
+    sha256 = "1wj21v57v135n6fnm2m2dxmb9lhrrg62jgkggldp1gb7d6s4arny";
+  });
 
-  patchesSrc = base.upstreamPatchTarball;
-
-  srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc;
   patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
 
+  nativeBuildInputs = [ perl ];
+
   buildInputs = [ libiconv zlib popt ]
     ++ lib.optional enableACLs acl
     ++ lib.optional enableZstd zstd
     ++ lib.optional enableLZ4 lz4
     ++ lib.optional enableOpenSSL openssl
     ++ lib.optional enableXXHash xxHash;
-  nativeBuildInputs = [ perl ];
 
   configureFlags = [
     "--with-nobody-group=nogroup"
@@ -48,12 +53,22 @@ stdenv.mkDerivation rec {
     # disable the included zlib explicitly as it otherwise still compiles and
     # links them even.
     "--with-included-zlib=no"
-  ];
+  ]
+  # Work around issue with cross-compilation:
+  #     configure.sh: error: cannot run test program while cross compiling
+  # Remove once 3.2.4 or more recent is released.
+  # The following PR should fix the cross-compilation issue.
+  # Test using `nix-build -A pkgsCross.aarch64-multiplatform.rsync`.
+  # https://github.com/WayneD/rsync/commit/b7fab6f285ff0ff3816b109a8c3131b6ded0b484
+  ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-simd=no";
 
   passthru.tests = { inherit (nixosTests) rsyncd; };
 
-  meta = base.meta // {
-    description = "A fast incremental file transfer utility";
+  meta = with lib; {
+    description = "Fast incremental file transfer utility";
+    homepage = "https://rsync.samba.org/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
     maintainers = with lib.maintainers; [ ehmry kampfschlaefer ];
   };
 }
diff --git a/pkgs/applications/networking/sync/rsync/rrsync.nix b/pkgs/applications/networking/sync/rsync/rrsync.nix
index bb83a9e3cd4e5..d1e6b6ad96eb5 100644
--- a/pkgs/applications/networking/sync/rsync/rrsync.nix
+++ b/pkgs/applications/networking/sync/rsync/rrsync.nix
@@ -1,13 +1,8 @@
 { lib, stdenv, fetchurl, perl, rsync, fetchpatch }:
 
-let
-  base = import ./base.nix { inherit lib fetchurl fetchpatch; };
-in
 stdenv.mkDerivation {
   pname = "rrsync";
-  version = base.version;
-
-  src = base.src;
+  inherit (rsync) version srcs;
 
   buildInputs = [ rsync perl ];
 
@@ -16,6 +11,8 @@ stdenv.mkDerivation {
   dontConfigure = true;
   dontBuild = true;
 
+  inherit (rsync) patches;
+
   postPatch = ''
     substituteInPlace support/rrsync --replace /usr/bin/rsync ${rsync}/bin/rsync
   '';
@@ -26,8 +23,7 @@ stdenv.mkDerivation {
     chmod a+x $out/bin/rrsync
   '';
 
-  meta = base.meta // {
+  meta = rsync.meta // {
     description = "A helper to run rsync-only environments from ssh-logins";
-    maintainers = [ lib.maintainers.kampfschlaefer ];
   };
 }