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.
This commit is contained in:
Eric Bavier 2019-01-30 17:05:03 -06:00
parent 56d447ba16
commit 4b444fc5a5
No known key found for this signature in database
GPG Key ID: FD73CAC719D32566
1 changed files with 18 additions and 20 deletions

View File

@ -3,6 +3,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,6 +24,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages linux) #: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) (define (imb mpi)
(package (package
(name (string-append "imb-" (package-name mpi))) (name (string-append "imb-" (package-name mpi)))
(version "2017.2") (version "2019.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (match (string-split version #\.) (uri (git-reference
((major minor) (url "https://github.com/intel/mpi-benchmarks.git")
(string-append (commit (string-append "v" version))))
"https://software.intel.com/sites/default/files/managed/76/6c/IMB_" (file-name (git-file-name name version))
major "_Update" minor ".tgz")))) (sha256 (base32 "18hfdyvl5i172gadiq9si1qxif5rvic0lifxpbrr7s59ylg8f9c4"))))
(sha256 (base32 "11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("mpi" ,mpi))) `(("mpi" ,mpi)))
@ -135,22 +136,19 @@ is to write a job file matching the I/O load one wants to simulate.")
(replace 'build (replace 'build
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((mpi-home (assoc-ref inputs "mpi"))) (let ((mpi-home (assoc-ref inputs "mpi")))
;; Not safe for parallel build ;; Override default parallelism
(invoke "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh" (substitute* "Makefile"
(string-append "MPI_HOME=" mpi-home))))) (("make -j[[:digit:]]+")
(format #f "make -j~d" (parallel-job-count))))
(invoke "make" "SHELL=sh" "CC=mpicc" "CXX=mpic++"))))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(with-directory-excursion "imb/src" (for-each
(for-each (lambda (file)
(lambda (file) (install-file file bin))
(install-file file bin)) '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA" "IMB-MT")))
'("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA")))
(mkdir-p doc)
(with-directory-excursion "imb"
(copy-recursively "license" doc)))
#t))))) #t)))))
(home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks") (home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
(synopsis "Intel MPI Benchmarks") (synopsis "Intel MPI Benchmarks")