summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-06-17 04:17:10 -0500
committerEric Bavier <bavier@member.fsf.org>2015-06-29 15:34:36 -0500
commit579f5c8a58fef3a29ea3111ebae3177cd273492a (patch)
treec46f7e7960ff1723ed099d332d347ed31ca704c1
parentce7d9c989de569712b96f3bbb6c5db4d4c5595a9 (diff)
downloadguix-579f5c8a58fef3a29ea3111ebae3177cd273492a.tar.gz
gnu: hwloc: Move numactl to inputs.
* gnu/packages/mpi.scm (hwloc)[propagated-inputs]: Move numactl from here...
  [inputs]: ...to here.
  [arguments]: New 'refine-libnuma' phase.
-rw-r--r--gnu/packages/mpi.scm16
1 files changed, 13 insertions, 3 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 0e1016e00f..9677c12ee1 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -55,13 +55,23 @@
      `(("libx11" ,libx11)
        ("cairo" ,cairo)
        ("ncurses" ,ncurses)
+       ("numactl" ,numactl)
        ("libpciaccess" ,libpciaccess)
        ("expat" ,expat)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (propagated-inputs
-     ;; 'hwloc.pc' refers to libnuma, hence the propagation.
-     `(("numactl" ,numactl)))
+    (arguments
+     `(#: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)))))))))
     (home-page "http://www.open-mpi.org/projects/hwloc/")
     (synopsis "Abstraction of hardware architectures")
     (description