aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2024-11-18 14:31:02 +0100
committerLudovic Courtès <ludo@gnu.org>2024-11-25 11:22:24 +0100
commitf0d400fd2a8bf343923ad44133f3d050b7a6f282 (patch)
tree3f6b61beb65ad5ce68a5a1a4882923a154c480b2
parentd3db109346db7d6e17ef22928311ea471825c847 (diff)
downloadguix-f0d400fd2a8bf343923ad44133f3d050b7a6f282.tar.gz
guix-f0d400fd2a8bf343923ad44133f3d050b7a6f282.zip
gnu: libfabric: Enable libcxi support.
* gnu/packages/linux.scm (libfabric)[inputs]: Add libcxi, curl, and json-c if libcxi supports the target system. [arguments]: Add #:phases. Change-Id: I3345cac68603c776ec4953cf0e97a12389c30635
-rw-r--r--gnu/packages/linux.scm24
1 files changed, 20 insertions, 4 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 686303a0a2..1b7b98f241 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9133,21 +9133,37 @@ known as Slingshot.")
(build-system gnu-build-system)
(inputs
(let ((if-supported ;XXX: copied from openmpi
- (lambda (package)
+ (lambda (package . extra)
(if (and (not (%current-target-system))
(member (%current-system)
(package-supported-systems package)))
- (list package)
+ (cons package extra)
'()))))
(append (list rdma-core libnl)
(if-supported psm)
- (if-supported psm2))))
+ (if-supported psm2)
+ (if-supported libcxi curl json-c))))
(arguments
(list #:configure-flags
#~(append (if #$(target-64bit?)
(list "--enable-efa")
'())
- (list "--enable-verbs"))))
+ (list #$@(if (this-package-input "libcxi")
+ #~("--enable-cxi")
+ #~())
+ "--enable-verbs"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'remove-libtool-archive
+ (lambda _
+ ;; 'libfabric.la' has '-ljson-c' without a corresponding
+ ;; '-L' in 'dependency_libs', which in turn causes users
+ ;; such as Open MPI to fail at link time due to '-ljson-c'
+ ;; not being found, even when building a shared library.
+ ;; So, remove the .la file.
+ (delete-file
+ (string-append #$output
+ "/lib/libfabric.la")))))))
(home-page "https://ofiwg.github.io/libfabric/")
(synopsis "Open Fabric Interfaces")
(description