diff options
Diffstat (limited to 'gnu/packages/parallel.scm')
-rw-r--r-- | gnu/packages/parallel.scm | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index d8338caffb..4fc2c9afb4 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -105,7 +105,7 @@ and they are executed on lists of files, hosts, users or other items.") (define-public slurm (package (name "slurm") - (version "17.11.3") + (version "19.05.3-2") (source (origin (method url-fetch) (uri (string-append @@ -113,24 +113,37 @@ and they are executed on lists of files, hosts, users or other items.") version ".tar.bz2")) (sha256 (base32 - "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps")) + "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")) (modules '((guix build utils))) (snippet '(begin + ;; According to + ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00534.html> + ;; there are non-free bits under contribs/, though it's not + ;; clear which ones. libpmi is clearly free (it used to be + ;; under src/api/), so remove all of contribs/ except + ;; contribs/pmi/. (substitute* "configure.ac" - (("^[[:space:]]+contribs/.*$") "")) + (("^[[:space:]]+contribs/(.*)$" all directory) + (if (and (string-prefix? "pmi" directory) + (not (string-prefix? "pmi2" directory))) + all + ""))) + + (rename-file "contribs/pmi" "tmp-pmi") (delete-file-recursively "contribs") + (mkdir "contribs") + (rename-file "tmp-pmi" "contribs/pmi") #t)))) ;; FIXME: More optional inputs could be added, ;; in particular mysql and gtk+. (inputs `(("expect" ,expect) ("freeipmi" ,freeipmi) - ("hwloc" ,hwloc "lib") + ("hwloc" ,hwloc-2 "lib") ("json-c" ,json-c) ("linux-pam" , linux-pam) ("munge" ,munge) ("numactl" ,numactl) - ("openssl" ,openssl) ("perl" ,perl) ("python" ,python-wrapper) ("readline" ,readline))) @@ -141,15 +154,19 @@ and they are executed on lists of files, hosts, users or other items.") (arguments `(#:configure-flags (list "--enable-pam" "--sysconfdir=/etc/slurm" + "--disable-static" (string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi")) (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc")) (string-append "--with-json=" (assoc-ref %build-inputs "json-c")) - (string-append "--with-munge=" (assoc-ref %build-inputs "munge")) - (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))) + (string-append "--with-munge=" (assoc-ref %build-inputs "munge"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'autoconf - (lambda _ (invoke "autoconf")))))) ; configure.ac was patched + (lambda _ (invoke "autoconf"))) ;configure.ac was patched + (add-after 'install 'install-libpmi + (lambda _ + ;; Open MPI expects libpmi to be provided by Slurm so install it. + (invoke "make" "install" "-C" "contribs/pmi")))))) (home-page "https://slurm.schedmd.com/") (synopsis "Workload manager for cluster computing") (description |