1{ stdenv, fetchurl, pkgconfig, libtool, curl, python, munge, perl, pam, openssl
2, ncurses, mysql, gtk2, lua, hwloc, numactl
3}:
4
5stdenv.mkDerivation rec {
6 name = "slurm-${version}";
7 version = "17.11.3";
8
9 src = fetchurl {
10 url = "https://download.schedmd.com/slurm/${name}.tar.bz2";
11 sha256 = "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps";
12 };
13
14 outputs = [ "out" "dev" ];
15
16 # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode'
17 # https://groups.google.com/forum/#!topic/slurm-devel/QHOajQ84_Es
18 # this doesn't fix tests completely at least makes slurmd to launch
19 hardeningDisable = [ "bindnow" ];
20
21 nativeBuildInputs = [ pkgconfig libtool ];
22 buildInputs = [
23 curl python munge perl pam openssl mysql.connector-c ncurses gtk2 lua hwloc numactl
24 ];
25
26 configureFlags =
27 [ "--with-munge=${munge}"
28 "--with-ssl=${openssl.dev}"
29 "--sysconfdir=/etc/slurm"
30 ] ++ stdenv.lib.optional (gtk2 == null) "--disable-gtktest";
31
32 preConfigure = ''
33 patchShebangs ./doc/html/shtml2html.py
34 patchShebangs ./doc/man/man2html.py
35 '';
36
37 postInstall = ''
38 rm -f $out/lib/*.la $out/lib/slurm/*.la
39 '';
40
41 enableParallelBuilding = true;
42
43 meta = with stdenv.lib; {
44 homepage = http://www.schedmd.com/;
45 description = "Simple Linux Utility for Resource Management";
46 platforms = platforms.linux;
47 license = licenses.gpl2;
48 maintainers = [ maintainers.jagajaga ];
49 };
50}