guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: hwloc: Add "lib" and "debug" outputs.


From: Ludovic Courtès
Subject: 02/02: gnu: hwloc: Add "lib" and "debug" outputs.
Date: Fri, 30 Jun 2017 12:44:47 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 798b7678a08f11ce8648facbf0b866996ce85b9e
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jun 30 17:55:41 2017 +0200

    gnu: hwloc: Add "lib" and "debug" outputs.
    
    * gnu/packages/mpi.scm (hwloc)[outputs]: New field.
    [arguments]: Add 'avoid-circular-references' phase.
    (openmpi)[inputs]: Use the "lib" output of HWLOC.
    * gnu/packages/parallel.scm (slurm)[inputs]: Likewise.
---
 gnu/packages/mpi.scm      | 33 ++++++++++++++++++++++-----------
 gnu/packages/parallel.scm |  2 +-
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 277a2d5..3b1ba00 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -51,6 +51,9 @@
                (base32
                 "0acph1mf7588hfx8ds26ncr6nw5fd9x92adm11fwin7f93i10sdb"))))
     (build-system gnu-build-system)
+    (outputs '("out"           ;'lstopo' & co., depends on Cairo, libx11, etc.
+               "lib"           ;small closure
+               "debug"))
     (inputs
      `(("libx11" ,libx11)
        ("cairo" ,cairo)
@@ -70,16 +73,24 @@
      `(#:configure-flags '("--localstatedir=/var")
        #:phases
        (modify-phases %standard-phases
-         (add-after
-          'install 'refine-libnuma
-          ;; Give -L arguments for libraries to avoid propagation
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out  (assoc-ref outputs "out"))
-                  (numa (assoc-ref inputs "numactl")))
-              (substitute* (map (lambda (f) (string-append out "/" f))
-                                '("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
-                (("-lnuma" lib)
-                 (string-append "-L" numa "/lib " lib)))))))))
+         (add-after 'install 'refine-libnuma
+           ;; Give -L arguments for libraries to avoid propagation
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out  (assoc-ref outputs "lib"))
+                   (numa (assoc-ref inputs "numactl")))
+               (substitute* (map (lambda (f) (string-append out "/" f))
+                                 '("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
+                 (("-lnuma" lib)
+                  (string-append "-L" numa "/lib " lib))))))
+         (add-after 'install 'avoid-circular-references
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((lib (assoc-ref outputs "lib")))
+               ;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
+               ;; "lib" output doesn't refer to "out".
+               (substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
+                 (("^.*prefix=.*$")
+                  ""))
+               #t))))))
     (home-page "https://www.open-mpi.org/projects/hwloc/";)
     (synopsis "Abstraction of hardware architectures")
     (description
@@ -111,7 +122,7 @@ bind processes, and much more.")
         "0k95ri9f8kzx5vhzrdbzn59rn2324fs4a96w5v8jy20j8dkbp13l"))))
     (build-system gnu-build-system)
     (inputs
-     `(("hwloc" ,hwloc)
+     `(("hwloc" ,hwloc "lib")
        ("gfortran" ,gfortran)
        ("valgrind" ,valgrind)))
     (native-inputs
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index c1f962a..3712604 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -113,7 +113,7 @@ and they are executed on lists of files, hosts, users or 
other items.")
    ;; in particular mysql and gtk+.
    (inputs `(("expect" ,expect)
              ("freeipmi" ,freeipmi)
-             ("hwloc" ,hwloc)
+             ("hwloc" ,hwloc "lib")
              ("json-c" ,json-c)
              ("linux-pam" , linux-pam)
              ("munge" ,munge)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]