summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2023-01-12 16:29:30 +0100
committerLudovic Courtès <ludo@gnu.org>2023-01-12 23:14:44 +0100
commit5a427d44efdeaf2cb2360dc7cb4507c108896849 (patch)
tree04a9ffb563d4f221d44557b7e0b3a376373e0c08
parent69ed95efaa600962bddc0fa18111a27a892be76f (diff)
downloadguix-5a427d44efdeaf2cb2360dc7cb4507c108896849.tar.gz
gnu: gloo: Add dependency on rdma-core.
* gnu/packages/machine-learning.scm (gloo)[inputs]: Add RDMA-CORE when
supported.
[arguments]: Pass '-DUSE_IBVERBS=ON' when RDMA-CORE is present.  Switch
to gexps.
-rw-r--r--gnu/packages/machine-learning.scm25
1 files changed, 16 insertions, 9 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index a74694da06..bcee6a6fc3 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2910,7 +2910,7 @@ that:
     (license license:expat)))
 
 (define-public gloo
-  (let ((version "0.0.0") ; no proper version tag
+  (let ((version "0.0.0")                         ; no proper version tag
         (commit "c22a5cfba94edf8ea4f53a174d38aa0c629d070f")
         (revision "1"))
     (package
@@ -2930,15 +2930,22 @@ that:
       (native-inputs
        (list googletest))
       (inputs
-       (list openssl))
+       (append (list openssl)
+               (if (supported-package? rdma-core)
+                   (list rdma-core)
+                   '())))
       (arguments
-       `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DBUILD_TEST=1")
-         #:phases
-         (modify-phases %standard-phases
-           (replace 'check
-             (lambda* (#:key tests? #:allow-other-keys)
-               (when tests?
-                 (invoke "make" "gloo_test")))))))
+       (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=ON"
+                                   "-DBUILD_TEST=1"
+                                   #$@(if (this-package-input "rdma-core")
+                                          #~("-DUSE_IBVERBS=ON")
+                                          #~()))
+             #:phases
+             #~(modify-phases %standard-phases
+                 (replace 'check
+                   (lambda* (#:key tests? #:allow-other-keys)
+                     (when tests?
+                       (invoke "make" "gloo_test")))))))
       (synopsis "Collective communications library")
       (description
        "Gloo is a collective communications library.  It comes with a