summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorLars Bilke <lars.bilke@ufz.de>2024-01-09 19:15:04 +0100
committerLudovic Courtès <ludo@gnu.org>2024-02-27 11:51:06 +0100
commitdcdc0a5592f8be1b07e8ae1a1420d2c1760a5f0e (patch)
treee343cbb52a4c37e80fb85e0a012daf2c7f2ab1bb /gnu/packages/maths.scm
parent99e5f3cd14bb1fa69c46408684b6d144c824a014 (diff)
gnu: petsc: Reduce closure size.
Reduces closure size from 828 MiB to 463 MiB (44%) by removing references to build dependencies such as GCC. * gnu/packages/maths.scm (petsc)[arguments]: Add ‘clear-reference-to-compiler’ phase. In ‘clean-install’ phase, also remove “configure-hash”. Change-Id: I2e6900747b2118546f0a39ceb109b3f2f90e6949 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index d557154f91..1f61ee0583 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3487,8 +3487,20 @@ September 2004}")
'("configure.log" "make.log" "gmake.log"
"test.log" "error.log" "RDict.db"
"PETScBuildInternal.cmake"
+ "configure-hash"
;; Once installed, should uninstall with Guix
"uninstall.py")))))
+ (add-after 'clean-install 'clear-reference-to-compiler
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Do not retain a reference to GCC and other build only inputs.
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (string-append out "/lib/petsc/conf/petscvariables")
+ (("([[:graph:]]+)/bin/gcc") "gcc")
+ (("([[:graph:]]+)/bin/g\\+\\+") "g++")
+ (("([[:graph:]]+)/bin/make") "make")
+ (("([[:graph:]]+)/bin/diff") "diff")
+ (("([[:graph:]]+)/bin/sed") "sed")
+ (("([[:graph:]]+)/bin/gfortran") "gfortran")))))
(add-after 'install 'move-examples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))