aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/parallel.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/parallel.scm')
-rw-r--r--gnu/packages/parallel.scm33
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