13 buildPythonPackage rec {
14 pname = "clustershell";
18 pname = "ClusterShell";
20 hash = "sha256-rsF/HG4GNBC+N49b+sDO2AyUI1G44wJNBUwQNPzShD0=";
24 substituteInPlace lib/ClusterShell/Worker/Ssh.py \
25 --replace '"ssh"' '"${openssh}/bin/ssh"' \
26 --replace '"scp"' '"${openssh}/bin/scp"'
28 substituteInPlace lib/ClusterShell/Worker/fastsubprocess.py \
29 --replace '"/bin/sh"' '"${bash}/bin/sh"'
32 substituteInPlace $f \
33 --replace '/bin/hostname' '${hostname}/bin/hostname' \
34 --replace '/bin/sleep' 'sleep' \
35 --replace '/bin/echo' 'echo' \
36 --replace '/bin/uname' 'uname' \
37 --replace '/bin/false' 'false' \
38 --replace '/bin/true' 'true' \
39 --replace '/usr/bin/printf' 'printf'
43 substituteInPlace lib/ClusterShell/Task.py \
44 --replace "notifyAll" "notify_all"
45 substituteInPlace tests/TaskPortTest.py lib/ClusterShell/Task.py \
46 --replace "currentThread" "current_thread"
49 propagatedBuildInputs = [ pyyaml ];
57 pythonImportsCheck = [ "ClusterShell" ];
59 # Many tests want to open network connections
60 # https://github.com/cea-hpc/clustershell#test-suite
62 # Several tests fail on Darwin
64 rm tests/CLIClushTest.py
65 rm tests/TreeWorkerTest.py
66 rm tests/TaskDistantMixin.py
67 rm tests/TaskDistantTest.py
68 rm tests/TaskDistantPdshMixin.py
69 rm tests/TaskDistantPdshTest.py
70 rm tests/TaskRLimitsTest.py
73 -e test_channel_ctl_shell_remote1 \
74 -e test_channel_ctl_shell_remote2 \
75 -e test_fromall_grouplist \
76 -e test_rank_placeholder \
77 -e test_engine_on_the_fly_launch \
78 -e test_ev_pickup_fanout \
79 -e test_ev_pickup_fanout_legacy \
81 -e test_008_broken_pipe_on_write \
82 -e testLocalBufferRCGathering \
84 -e testLocalErrorBuffers \
86 -e testLocalRetcodes \
87 -e testLocalRCBufferGathering \
88 -e testLocalSingleLineBuffers \
89 -e testLocalWorkerFanout \
90 -e testSimpleMultipleCommands \
91 -e testClushConfigSetRlimit \
92 -e testTimerInvalidateInHandler \
93 -e testTimerSetNextFireInHandler \
94 -e test_channel_ctl_shell_mlocal1 \
95 -e test_channel_ctl_shell_mlocal2 \
96 -e test_channel_ctl_shell_mlocal3 \
97 -e test_node_placeholder \
102 broken = stdenv.isDarwin;
103 description = "Scalable Python framework for cluster administration";
104 homepage = "https://cea-hpc.github.io/clustershell";
105 license = licenses.lgpl21;
106 maintainers = [ maintainers.alexvorobiev ];