slurm: add freeipmi, readline, libssh2, fix hwloc

* add freeipmi to get power meter readings
* readline support for scontrol
* libssh2 support for X11 supporta
* Add note to enableSrunX11 in module
* fix hwloc support (was detected by configure)

Changed files
+22 -5
nixos
modules
services
computing
slurm
pkgs
servers
computing
slurm
+2
nixos/modules/services/computing/slurm/slurm.nix
···
from within an interactive session or a batch job. This activates the
slurm-spank-x11 module. Note that this option also enables
'services.openssh.forwardX11' on the client.
'';
};
···
from within an interactive session or a batch job. This activates the
slurm-spank-x11 module. Note that this option also enables
'services.openssh.forwardX11' on the client.
+
+
This option requires slurm to be compiled without native X11 support.
'';
};
+20 -5
pkgs/servers/computing/slurm/default.nix
···
-
{ stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl
, ncurses, mysql, gtk2, lua, hwloc, numactl
}:
stdenv.mkDerivation rec {
···
outputs = [ "out" "dev" ];
# 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
···
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = [
-
curl python munge perl pam openssl mysql.connector-c ncurses gtk2 lua hwloc numactl
-
];
-
configureFlags =
[ "--with-munge=${munge}"
"--with-ssl=${openssl.dev}"
"--sysconfdir=/etc/slurm"
-
] ++ stdenv.lib.optional (gtk2 == null) "--disable-gtktest";
preConfigure = ''
patchShebangs ./doc/html/shtml2html.py
···
+
{ stdenv, fetchurl, pkgconfig, libtool, curl
+
, python, munge, perl, pam, openssl
, ncurses, mysql, gtk2, lua, hwloc, numactl
+
, readline, freeipmi, libssh2, xorg
+
# enable internal X11 support via libssh2
+
, enableX11 ? true
}:
stdenv.mkDerivation rec {
···
outputs = [ "out" "dev" ];
+
prePatch = stdenv.lib.optional 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
···
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = [
+
curl python munge perl pam openssl
+
mysql.connector-c ncurses gtk2
+
lua hwloc numactl readline freeipmi
+
] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
+
configureFlags = with stdenv.lib;
[ "--with-munge=${munge}"
"--with-ssl=${openssl.dev}"
+
"--with-hwloc=${hwloc.dev}"
+
"--with-freeipmi=${freeipmi}"
"--sysconfdir=/etc/slurm"
+
] ++ (optional (gtk2 == null) "--disable-gtktest")
+
++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
+
preConfigure = ''
patchShebangs ./doc/html/shtml2html.py