Merge pull request #40959 from alexvorobiev/clustershell
pythonPackages.clustershell: init at 1.8
This commit is contained in:
commit
fc4ab420d9
89
pkgs/development/python-modules/clustershell/default.nix
Normal file
89
pkgs/development/python-modules/clustershell/default.nix
Normal file
@ -0,0 +1,89 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, pyyaml, openssh
|
||||
, nose, bc, hostname, coreutils, bash, gnused
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ClusterShell";
|
||||
version = "1.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1bm0pq8w2rql9q9i2bhs865rqvb6zck3h3gkb1d0mh59arrr7p4m";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pyyaml ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace lib/ClusterShell/Worker/Ssh.py \
|
||||
--replace '"ssh"' '"${openssh}/bin/ssh"' \
|
||||
--replace '"scp"' '"${openssh}/bin/scp"'
|
||||
|
||||
substituteInPlace lib/ClusterShell/Worker/fastsubprocess.py \
|
||||
--replace '"/bin/sh"' '"${bash}/bin/sh"'
|
||||
'';
|
||||
|
||||
checkInputs = [ nose bc hostname coreutils gnused ];
|
||||
|
||||
# Many tests want to open network connections
|
||||
# https://github.com/cea-hpc/clustershell#test-suite
|
||||
#
|
||||
# Several tests fail on Darwin
|
||||
checkPhase = ''
|
||||
for f in tests/*; do
|
||||
substituteInPlace $f \
|
||||
--replace '/bin/hostname' '${hostname}/bin/hostname' \
|
||||
--replace '/bin/sleep' '${coreutils}/bin/sleep' \
|
||||
--replace '"sleep' '"${coreutils}/bin/sleep' \
|
||||
--replace '/bin/echo' '${coreutils}/bin/echo' \
|
||||
--replace '/bin/uname' '${coreutils}/bin/uname' \
|
||||
--replace '/bin/false' '${coreutils}/bin/false' \
|
||||
--replace '/bin/true' '${coreutils}/bin/true' \
|
||||
--replace '/usr/bin/printf' '${coreutils}/bin/printf' \
|
||||
--replace '"sed' '"${gnused}/bin/sed' \
|
||||
--replace ' sed ' ' ${gnused}/bin/sed '
|
||||
done
|
||||
|
||||
rm tests/CLIClushTest.py
|
||||
rm tests/TreeWorkerTest.py
|
||||
rm tests/TaskDistantMixin.py
|
||||
rm tests/TaskDistantTest.py
|
||||
rm tests/TaskDistantPdshMixin.py
|
||||
rm tests/TaskDistantPdshTest.py
|
||||
rm tests/TaskRLimitsTest.py
|
||||
|
||||
nosetests -v \
|
||||
-e test_channel_ctl_shell_remote1 \
|
||||
-e test_channel_ctl_shell_remote2 \
|
||||
-e test_fromall_grouplist \
|
||||
-e test_rank_placeholder \
|
||||
-e test_engine_on_the_fly_launch \
|
||||
-e test_ev_pickup_fanout \
|
||||
-e test_ev_pickup_fanout_legacy \
|
||||
-e test_timeout \
|
||||
-e test_008_broken_pipe_on_write \
|
||||
-e testLocalBufferRCGathering \
|
||||
-e testLocalBuffers \
|
||||
-e testLocalErrorBuffers \
|
||||
-e testLocalFanout \
|
||||
-e testLocalRetcodes \
|
||||
-e testLocalRCBufferGathering \
|
||||
-e testLocalSingleLineBuffers \
|
||||
-e testLocalWorkerFanout \
|
||||
-e testSimpleMultipleCommands \
|
||||
-e testClushConfigSetRlimit \
|
||||
-e testTimerInvalidateInHandler \
|
||||
-e testTimerSetNextFireInHandler \
|
||||
-e test_channel_ctl_shell_mlocal1 \
|
||||
-e test_channel_ctl_shell_mlocal2 \
|
||||
-e test_channel_ctl_shell_mlocal3 \
|
||||
-e test_node_placeholder \
|
||||
tests/*.py
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Scalable Python framework for cluster administration";
|
||||
homepage = https://cea-hpc.github.io/clustershell;
|
||||
license = licenses.lgpl21;
|
||||
maintainers = [ maintainers.alexvorobiev ];
|
||||
};
|
||||
}
|
@ -233,6 +233,8 @@ in {
|
||||
|
||||
cdecimal = callPackage ../development/python-modules/cdecimal { };
|
||||
|
||||
clustershell = callPackage ../development/python-modules/clustershell { };
|
||||
|
||||
dendropy = callPackage ../development/python-modules/dendropy { };
|
||||
|
||||
dbf = callPackage ../development/python-modules/dbf { };
|
||||
|
Loading…
Reference in New Issue
Block a user