guix-commits
[Top][All Lists]
Advanced

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

05/12: gnu: libfabric: Enable libcxi support.


From: guix-commits
Subject: 05/12: gnu: libfabric: Enable libcxi support.
Date: Mon, 25 Nov 2024 06:27:05 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit f0d400fd2a8bf343923ad44133f3d050b7a6f282
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Nov 18 14:31:02 2024 +0100

    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
---
 gnu/packages/linux.scm | 24 ++++++++++++++++++++----
 1 file 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



reply via email to

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