From 64dcc2896389475b0a3133854952bea1fe52cada Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 17:03:44 -0500 Subject: [PATCH] gnu: petsc: Use modify-phases. * gnu/packages/maths.scm (petsc)[arguments]: Use modify-phases. --- gnu/packages/maths.scm | 45 ++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4a60e2f7ce..b3780fa265 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -829,30 +829,28 @@ (define-public petsc ,(string-append "--with-superlu-lib=" (assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a")) #:phases - (alist-replace - 'configure - ;; PETSc's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (flags `(,(string-append "--prefix=" prefix) - ,@configure-flags))) - (format #t "build directory: ~s~%" (getcwd)) - (format #t "configure flags: ~s~%" flags) - (zero? (apply system* "./configure" flags)))) - (alist-cons-after - 'configure 'clean-local-references - ;; Try to keep build directory names from leaking into compiled code - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* (find-files "." "^petsc(conf|machineinfo).h$") - (((getcwd)) out)))) - (alist-cons-after - 'install 'clean-install + (modify-phases %standard-phases + (replace 'configure + ;; PETSc's configure script is actually a python script, so we can't + ;; run it with bash. + (lambda* (#:key outputs (configure-flags '()) + #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (flags `(,(string-append "--prefix=" prefix) + ,@configure-flags))) + (format #t "build directory: ~s~%" (getcwd)) + (format #t "configure flags: ~s~%" flags) + (zero? (apply system* "./configure" flags))))) + (add-after 'configure 'clean-local-references + ;; Try to keep build directory names from leaking into compiled code + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* (find-files "." "^petsc(conf|machineinfo).h$") + (((getcwd)) out))))) + (add-after 'install 'clean-install ;; Try to keep installed files from leaking build directory names. (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) + (let ((out (assoc-ref outputs "out"))) (substitute* (map (lambda (file) (string-append out "/lib/petsc/conf/" file)) '("petscvariables" "PETScConfig.cmake")) @@ -869,8 +867,7 @@ (define-public petsc '("configure.log" "make.log" "gmake.log" "test.log" "error.log" "RDict.db" ;; Once installed, should uninstall with Guix - "uninstall.py")))) - %standard-phases))))) + "uninstall.py")))))))) (home-page "http://www.mcs.anl.gov/petsc") (synopsis "Library to solve PDEs") (description "PETSc, pronounced PET-see (the S is silent), is a suite of