diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/computing/slurm/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/computing/slurm/default.nix | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/nixpkgs/pkgs/servers/computing/slurm/default.nix b/nixpkgs/pkgs/servers/computing/slurm/default.nix index 1554fb69f19..2b06671e4e0 100644 --- a/nixpkgs/pkgs/servers/computing/slurm/default.nix +++ b/nixpkgs/pkgs/servers/computing/slurm/default.nix @@ -1,14 +1,15 @@ { stdenv, fetchFromGitHub, pkgconfig, libtool, curl -, python, munge, perl, pam, openssl, zlib +, python3, munge, perl, pam, zlib, shadow, coreutils , ncurses, libmysqlclient, gtk2, lua, hwloc, numactl -, readline, freeipmi, libssh2, xorg, lz4, rdma-core +, readline, freeipmi, xorg, lz4, rdma-core, nixosTests +, pmix # enable internal X11 support via libssh2 , enableX11 ? true }: stdenv.mkDerivation rec { pname = "slurm"; - version = "19.05.5.1"; + version = "20.02.4.1"; # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php # because the latter does not keep older releases. @@ -17,39 +18,50 @@ stdenv.mkDerivation rec { repo = "slurm"; # The release tags use - instead of . rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; - sha256 = "0f0gv3sirp6sxdrbwydsbcqicjbmrpm58yhgbsar8v6nx3g6y3hx"; + sha256 = "071lwny7cj4idq0h03mmvkk4f4i6fgl3c5q8cvbh7z8px6k50cfp"; }; outputs = [ "out" "dev" ]; - prePatch = stdenv.lib.optional enableX11 '' + patches = [ + # increase string length to allow for full + # path of 'echo' in nix store + ./common-env-echo.patch + # Required for configure to pick up the right dlopen path + ./pmix-configure.patch + ]; + + prePatch = '' + substituteInPlace src/common/env.c \ + --replace "/bin/echo" "${coreutils}/bin/echo" + '' + (stdenv.lib.optionalString enableX11 '' substituteInPlace src/common/x11_util.c \ --replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"' - ''; + ''); # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode' # https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es # this doesn't fix tests completely at least makes slurmd to launch hardeningDisable = [ "bindnow" ]; - nativeBuildInputs = [ pkgconfig libtool ]; + nativeBuildInputs = [ pkgconfig libtool python3 ]; buildInputs = [ - curl python munge perl pam openssl zlib + curl python3 munge perl pam zlib libmysqlclient ncurses gtk2 lz4 rdma-core - lua hwloc numactl readline freeipmi - ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ]; + lua hwloc numactl readline freeipmi shadow.su + pmix + ] ++ stdenv.lib.optionals enableX11 [ xorg.xauth ]; configureFlags = with stdenv.lib; [ "--with-freeipmi=${freeipmi}" "--with-hwloc=${hwloc.dev}" "--with-lz4=${lz4.dev}" "--with-munge=${munge}" - "--with-ssl=${openssl.dev}" "--with-zlib=${zlib}" "--with-ofed=${rdma-core}" "--sysconfdir=/etc/slurm" + "--with-pmix=${pmix}" ] ++ (optional (gtk2 == null) "--disable-gtktest") - ++ (optional enableX11 "--with-libssh2=${libssh2.dev}") ++ (optional (!enableX11) "--disable-x11"); @@ -64,6 +76,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.tests.slurm = nixosTests.slurm; + meta = with stdenv.lib; { homepage = "http://www.schedmd.com/"; description = "Simple Linux Utility for Resource Management"; |