lol

Merge #12973: add rrsync as an individual app

+63 -17
+21
pkgs/applications/networking/sync/rsync/base.nix
··· 1 + { stdenv, fetchurl }: 2 + 3 + rec { 4 + version = "3.2.1"; 5 + src = fetchurl { 6 + # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 7 + url = "mirror://samba/rsync/src/rsync-${version}.tar.gz"; 8 + sha256 = "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"; 9 + }; 10 + patches = fetchurl { 11 + # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 12 + url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz"; 13 + sha256 = "09i3dcl37p22dp75vlnsvx7bm05ggafnrf1zwhf2kbij4ngvxvpd"; 14 + }; 15 + 16 + meta = with stdenv.lib; { 17 + homepage = http://rsync.samba.org/; 18 + license = licenses.gpl3Plus; 19 + platforms = platforms.unix; 20 + }; 21 + }
+8 -17
pkgs/applications/networking/sync/rsync/default.nix
··· 5 5 6 6 assert enableACLs -> acl != null; 7 7 8 + let 9 + base = import ./base.nix { inherit stdenv fetchurl; }; 10 + in 8 11 stdenv.mkDerivation rec { 9 - name = "rsync-${version}"; 10 - version = "3.1.2"; 12 + name = "rsync-${base.version}"; 11 13 12 - mainSrc = fetchurl { 13 - # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 14 - url = "mirror://samba/rsync/src/rsync-${version}.tar.gz"; 15 - sha256 = "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"; 16 - }; 14 + mainSrc = base.src; 17 15 18 - patchesSrc = fetchurl { 19 - # signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5 20 - url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz"; 21 - sha256 = "09i3dcl37p22dp75vlnsvx7bm05ggafnrf1zwhf2kbij4ngvxvpd"; 22 - }; 16 + patchesSrc = base.patches; 23 17 24 18 srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc; 25 19 patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; ··· 29 23 30 24 configureFlags = "--with-nobody-group=nogroup"; 31 25 32 - meta = with stdenv.lib; { 33 - homepage = http://rsync.samba.org/; 26 + meta = base.meta // { 34 27 description = "A fast incremental file transfer utility"; 35 - license = licenses.gpl3Plus; 36 - platforms = platforms.unix; 37 - maintainers = with maintainers; [ simons ehmry ]; 28 + maintainers = with stdenv.lib.maintainers; [ simons ehmry kampfschlaefer ]; 38 29 }; 39 30 }
+33
pkgs/applications/networking/sync/rsync/rrsync.nix
··· 1 + { stdenv, fetchurl, perl, rsync }: 2 + 3 + let 4 + base = import ./base.nix { inherit stdenv fetchurl; }; 5 + in 6 + stdenv.mkDerivation rec { 7 + name = "rrsync-${base.version}"; 8 + 9 + src = base.src; 10 + 11 + buildInputs = [ rsync ]; 12 + nativeBuildInputs = [perl]; 13 + 14 + # Skip configure and build phases. 15 + # We just want something from the support directory 16 + configurePhase = "true"; 17 + dontBuild = true; 18 + 19 + postPatch = '' 20 + substituteInPlace support/rrsync --replace /usr/bin/rsync ${rsync}/bin/rsync 21 + ''; 22 + 23 + installPhase = '' 24 + mkdir -p $out/bin 25 + cp support/rrsync $out/bin 26 + chmod a+x $out/bin/rrsync 27 + ''; 28 + 29 + meta = base.meta // { 30 + description = "A helper to run rsync-only environments from ssh-logins"; 31 + maintainers = [ stdenv.lib.maintainers.kampfschlaefer ]; 32 + }; 33 + }
+1
pkgs/top-level/all-packages.nix
··· 13311 13311 enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD); 13312 13312 enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); 13313 13313 }; 13314 + rrsync = callPackage ../applications/networking/sync/rsync/rrsync.nix {}; 13314 13315 13315 13316 rtl-sdr = callPackage ../applications/misc/rtl-sdr { }; 13316 13317