diff options
Diffstat (limited to 'pkgs/applications/networking/sync/rsync/default.nix')
-rw-r--r-- | pkgs/applications/networking/sync/rsync/default.nix | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 54417e6ef4b..88304e56a40 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -1,39 +1,47 @@ -{ lib, stdenv, fetchurl, perl, libiconv, zlib, popt -, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl, acl ? null -, enableLZ4 ? true, lz4 ? null -, enableOpenSSL ? true, openssl ? null -, enableXXHash ? true, xxHash ? null -, enableZstd ? true, zstd ? null +{ lib +, stdenv +, fetchurl +, fetchpatch +, perl +, libiconv +, zlib +, popt +, enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl +, acl +, enableLZ4 ? true +, lz4 +, enableOpenSSL ? true +, openssl +, enableXXHash ? true +, xxHash +, enableZstd ? true +, zstd , enableCopyDevicesPatch ? false , nixosTests }: -assert enableACLs -> acl != null; -assert enableLZ4 -> lz4 != null; -assert enableOpenSSL -> openssl != null; -assert enableXXHash -> xxHash != null; -assert enableZstd -> zstd != null; - let - base = import ./base.nix { inherit lib fetchurl; }; + base = import ./base.nix { inherit lib fetchurl fetchpatch; }; in stdenv.mkDerivation rec { - name = "rsync-${base.version}"; + pname = "rsync"; + version = base.version; mainSrc = base.src; patchesSrc = base.upstreamPatchTarball; - srcs = [mainSrc] ++ lib.optional enableCopyDevicesPatch patchesSrc; - patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; + srcs = [ mainSrc ] ++ lib.optional enableCopyDevicesPatch patchesSrc; + patches = lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff" + ++ base.extraPatches; - 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]; + 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" @@ -42,13 +50,13 @@ stdenv.mkDerivation rec { # 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" + # 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; }; |