summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/mpi.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index ed4e900a48..54fdd35ad5 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -122,6 +122,7 @@ bind processes, and much more.")
        (base32
         "142s1vny9gllkq336yafxayjgcirj2jv0ddabj879jgya7hyr2d0"))))
     (build-system gnu-build-system)
+    (outputs '("out" "static"))
     (inputs
      `(("hwloc" ,hwloc "lib")
        ("gfortran" ,gfortran)
@@ -155,6 +156,20 @@ bind processes, and much more.")
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((out (assoc-ref outputs "out")))
                         (for-each delete-file (find-files out "config.log"))
+                        #t)))
+                  (add-after 'install 'move-static-libraries
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; Move 19 MiB of static libraries to 'static'.
+                      (let* ((out    (assoc-ref outputs "out"))
+                             (static (assoc-ref outputs "static"))
+                             (lib    (string-append out "/lib"))
+                             (slib   (string-append static "/lib")))
+                        (mkdir-p slib)
+                        (for-each (lambda (file)
+                                    (rename-file
+                                     file
+                                     (string-append slib "/" (basename file))))
+                                  (find-files lib "\\.a$"))
                         #t))))))
     (home-page "http://www.open-mpi.org")
     (synopsis "MPI-3 implementation")