From 4b444fc5a59cbb5e5b45944c0067fb91f73bfe1f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 30 Jan 2019 17:05:03 -0600 Subject: 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. --- gnu/packages/benchmark.scm | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) (limited to 'gnu/packages/benchmark.scm') 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 ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2019 Eric Bavier ;;; ;;; 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") -- cgit v1.2.3