summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2019-01-30 17:05:03 -0600
committerEric Bavier <bavier@member.fsf.org>2019-01-31 22:12:56 -0600
commit4b444fc5a59cbb5e5b45944c0067fb91f73bfe1f (patch)
tree75489802e2f2e11eeb7f04cf73ea20f46041bb38 /gnu
parent56d447ba1685b4f36e1d3e20e82f7b7952a9b4ec (diff)
downloadguix-4b444fc5a59cbb5e5b45944c0067fb91f73bfe1f.tar.gz
gnu: imb: Update to 2019.1.
* gnu/packages/benchmark.scm (imb)[source]: Update to 2019.1.  Use
git-download.
[arguments]: Adjust build and install phases for new source organization.  Let
the standard 'install-license-files' phase do its thing.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/benchmark.scm38
1 files changed, 18 insertions, 20 deletions
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index c670a9af1c..43d42b37ad 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages linux)
@@ -114,16 +116,15 @@ is to write a job file matching the I/O load one wants to simulate.")
 (define (imb mpi)
   (package
     (name (string-append "imb-" (package-name mpi)))
-    (version "2017.2")
+    (version "2019.1")
     (source
      (origin
-      (method url-fetch)
-      (uri (match (string-split version #\.)
-             ((major minor)
-              (string-append
-               "https://software.intel.com/sites/default/files/managed/76/6c/IMB_"
-               major "_Update" minor ".tgz"))))
-      (sha256 (base32 "11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb"))))
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://github.com/intel/mpi-benchmarks.git")
+            (commit (string-append "v" version))))
+      (file-name (git-file-name name version))
+      (sha256 (base32 "18hfdyvl5i172gadiq9si1qxif5rvic0lifxpbrr7s59ylg8f9c4"))))
     (build-system gnu-build-system)
     (inputs
      `(("mpi" ,mpi)))
@@ -135,22 +136,19 @@ is to write a job file matching the I/O load one wants to simulate.")
          (replace 'build
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((mpi-home (assoc-ref inputs "mpi")))
-               ;; Not safe for parallel build
-               (invoke "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh"
-                       (string-append "MPI_HOME=" mpi-home)))))
+               ;; Override default parallelism
+               (substitute* "Makefile"
+                 (("make -j[[:digit:]]+")
+                  (format #f "make -j~d" (parallel-job-count))))
+               (invoke "make" "SHELL=sh" "CC=mpicc" "CXX=mpic++"))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (doc (string-append out "/share/doc/" ,name))
                     (bin (string-append out "/bin")))
-               (with-directory-excursion "imb/src"
-                 (for-each
-                  (lambda (file)
-                    (install-file file bin))
-                  '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA")))
-               (mkdir-p doc)
-               (with-directory-excursion "imb"
-                 (copy-recursively "license" doc)))
+               (for-each
+                (lambda (file)
+                  (install-file file bin))
+                '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA" "IMB-MT")))
              #t)))))
     (home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
     (synopsis "Intel MPI Benchmarks")