summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@gmail.com>2018-05-26 11:51:45 +0200
committerMarkus Kowalewski <markus.kowalewski@gmail.com>2018-06-02 00:18:29 +0200
commit8026127e47398df660cc818d6266a552ecca8c1c (patch)
tree250d8389c721eb7d21e6993b30404f75b51146bf
parentb7e91f096a46c5e3d3b699ff54bbb1b0bcd5e847 (diff)
downloadnixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar.gz
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar.bz2
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar.lz
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar.xz
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.tar.zst
nixlib-8026127e47398df660cc818d6266a552ecca8c1c.zip
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)
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix2
-rw-r--r--pkgs/servers/computing/slurm/default.nix25
2 files changed, 22 insertions, 5 deletions
diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
index 02c0aabe0a74..cf7fc8c75c1f 100644
--- a/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -134,6 +134,8 @@ in
           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.
         '';
       };
 
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index b0460f21bfaf..1603abac8dc1 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,5 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl
+{ 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 {
@@ -13,6 +17,11 @@ 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
@@ -20,14 +29,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
-    curl python munge perl pam openssl mysql.connector-c ncurses gtk2 lua hwloc numactl
-  ];
+    curl python munge perl pam openssl
+      mysql.connector-c ncurses gtk2
+      lua hwloc numactl readline freeipmi
+  ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
 
-  configureFlags =
+  configureFlags = with stdenv.lib;
     [ "--with-munge=${munge}"
       "--with-ssl=${openssl.dev}"
+      "--with-hwloc=${hwloc.dev}"
+      "--with-freeipmi=${freeipmi}"
       "--sysconfdir=/etc/slurm"
-    ] ++ stdenv.lib.optional (gtk2 == null)  "--disable-gtktest";
+    ] ++ (optional (gtk2 == null)  "--disable-gtktest")
+      ++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
+
 
   preConfigure = ''
     patchShebangs ./doc/html/shtml2html.py