Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 69 lines 1.9 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 autoreconfHook, 6 perl, 7 readline, 8 rsh, 9 ssh, 10 slurm, 11 slurmSupport ? false, 12}: 13 14stdenv.mkDerivation rec { 15 pname = "pdsh"; 16 version = "2.35"; 17 18 src = fetchurl { 19 url = "https://github.com/chaos/pdsh/releases/download/pdsh-${version}/pdsh-${version}.tar.gz"; 20 sha256 = "sha256-de8VNHhI//Q/jW/5xEJP4Fx90s26ApE5kB+GGgUJPP4="; 21 }; 22 23 buildInputs = [ 24 perl 25 readline 26 ssh 27 ] 28 ++ (lib.optional slurmSupport slurm); 29 30 nativeBuildInputs = [ autoreconfHook ]; 31 32 # Do not use git to derive a version. 33 postPatch = '' 34 sed -i 's/m4_esyscmd(\[git describe.*/[${version}])/' configure.ac 35 ''; 36 37 preConfigure = '' 38 configureFlagsArray=( 39 "--infodir=$out/share/info" 40 "--mandir=$out/share/man" 41 "--with-machines=/etc/pdsh/machines" 42 ${if readline == null then "--without-readline" else "--with-readline"} 43 ${if ssh == null then "--without-ssh" else "--with-ssh"} 44 ${if rsh == false then "--without-rsh" else "--with-rsh"} 45 ${if slurmSupport then "--with-slurm" else "--without-slurm"} 46 "--with-dshgroups" 47 "--with-xcpu" 48 "--disable-debug" 49 '--with-rcmd-rank-list=ssh,krb4,exec,xcpu,rsh' 50 ) 51 ''; 52 53 meta = { 54 homepage = "https://github.com/chaos/pdsh"; 55 description = "High-performance, parallel remote shell utility"; 56 license = lib.licenses.gpl2Plus; 57 58 longDescription = '' 59 Pdsh is a high-performance, parallel remote shell utility. It has 60 built-in, thread-safe clients for Berkeley and Kerberos V4 rsh and 61 can call SSH externally (though with reduced performance). Pdsh 62 uses a "sliding window" parallel algorithm to conserve socket 63 resources on the initiating node and to allow progress to continue 64 while timeouts occur on some connections. 65 ''; 66 67 platforms = lib.platforms.unix; 68 }; 69}