tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
Merge #12973: add rrsync as an individual app
Vladimír Čunát
10 years ago
045164bd
7e9a7a3b
+63
-17
4 changed files
expand all
collapse all
unified
split
pkgs
applications
networking
sync
rsync
base.nix
default.nix
rrsync.nix
top-level
all-packages.nix
+21
pkgs/applications/networking/sync/rsync/base.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
6
assert enableACLs -> acl != null;
7
0
0
0
8
stdenv.mkDerivation rec {
9
-
name = "rsync-${version}";
10
-
version = "3.1.2";
11
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
-
};
17
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
-
};
23
24
srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
25
patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
···
29
30
configureFlags = "--with-nobody-group=nogroup";
31
32
-
meta = with stdenv.lib; {
33
-
homepage = http://rsync.samba.org/;
34
description = "A fast incremental file transfer utility";
35
-
license = licenses.gpl3Plus;
36
-
platforms = platforms.unix;
37
-
maintainers = with maintainers; [ simons ehmry ];
38
};
39
}
···
5
6
assert enableACLs -> acl != null;
7
8
+
let
9
+
base = import ./base.nix { inherit stdenv fetchurl; };
10
+
in
11
stdenv.mkDerivation rec {
12
+
name = "rsync-${base.version}";
0
13
14
+
mainSrc = base.src;
0
0
0
0
15
16
+
patchesSrc = base.patches;
0
0
0
0
17
18
srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
19
patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
···
23
24
configureFlags = "--with-nobody-group=nogroup";
25
26
+
meta = base.meta // {
0
27
description = "A fast incremental file transfer utility";
28
+
maintainers = with stdenv.lib.maintainers; [ simons ehmry kampfschlaefer ];
0
0
29
};
30
}
+33
pkgs/applications/networking/sync/rsync/rrsync.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
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
enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD);
13312
enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false);
13313
};
0
13314
13315
rtl-sdr = callPackage ../applications/misc/rtl-sdr { };
13316
···
13311
enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD);
13312
enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false);
13313
};
13314
+
rrsync = callPackage ../applications/networking/sync/rsync/rrsync.nix {};
13315
13316
rtl-sdr = callPackage ../applications/misc/rtl-sdr { };
13317