~ruther/guix-local

f1be6f5b5a7398d5eba6831a4eb82bcfeaa306ec — Ludovic Courtès 8 years ago 8f2c410
gnu: openmpi: Add "static" output.

* gnu/packages/mpi.scm (openmpi)[outputs]: New field.
[arguments]: Add 'move-static-libraries' phase.
1 files changed, 15 insertions(+), 0 deletions(-)

M gnu/packages/mpi.scm
M gnu/packages/mpi.scm => gnu/packages/mpi.scm +15 -0
@@ 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")