gnu: webkitgtk: Update to 2.28.2.
[jackhill/guix/guix.git] / gnu / packages / fabric-management.scm
index edb0588..c31ee6e 100644 (file)
@@ -1,5 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +23,7 @@
   #:use-module (guix packages)
   #:use-module (guix licenses)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages tcl))
 
 ;; Fixme: Done for the library, but needs support for running the daemon
 ;;        (shepherd definition).
 (define-public opensm
   (package
     (name "opensm")
-    (version "3.3.20")
+    (version "3.3.22")
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append "https://www.openfabrics.org/downloads/management/opensm-"
-                       version ".tar.gz"))
-       (sha256 (base32 "162sg1w7kgy8ayl8a4dcbrfacmnfy2lr9a2yjyq0k65rmd378zg1"))))
+        (string-append "https://github.com/linux-rdma/opensm/releases/download/"
+                       version "/opensm-" version ".tar.gz"))
+       (sha256
+        (base32 "19scwwpwqhqsyq4hbr5cflcmypss828lalxxd36yby7mbimca38y"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("flex" ,flex)
-       ("bison" ,bison)))
+     `(("bison" ,bison)
+       ("flex" ,flex)
+
+       ;; The 3.3.21 'release' tarball isn't properly bootstrapped.
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
     (inputs
      `(("rdma-core" ,rdma-core)))
     (arguments
      `(#:configure-flags '("--disable-static")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'install 'doc
+         (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((base (assoc-ref outputs "out"))
                     (doc  (string-append base "/share/doc/"
                                          ,name "-" ,version)))
                (for-each (lambda (file)
                            (install-file file doc))
-                         (append (list "AUTHORS" "COPYING" "ChangeLog")
-                                 (find-files "doc")))
+                         (find-files "doc"))
                #t))))))
     (home-page "https://www.openfabrics.org/")
     (synopsis "OpenIB InfiniBand Subnet Manager and management utilities")
@@ -111,9 +123,6 @@ running the opensm daemon.")
              "--disable-static")
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'autotools
-           (lambda _
-             (zero? (system "./autogen.sh"))))
          (add-after 'install 'licence
            (lambda _
              (let ((doc (string-append (assoc-ref %outputs "lib") "/share/doc")))
@@ -129,7 +138,7 @@ running the opensm daemon.")
                (rename-file perlin perlout)
                #t))))))
     (home-page "https://github.com/linux-rdma/infiniband-diags")
-    (synopsis "Infiniband diagnotic tools")
+    (synopsis "Infiniband diagnostic tools")
     (description "This is a set of command-line utilities to help configure,
 debug, and maintain Infiniband (IB) fabrics.
 
@@ -137,3 +146,97 @@ In addition to the utilities, a sub-library, @file{libibnetdisc}, is provided
 to scan an entire IB fabric and return data structures representing it.  The
 interface to this library is not guaranteed to be stable.")
     (license (list gpl2 bsd-2)))) ; dual
+
+(define-public ibutils
+  (package
+    (name "ibutils")
+    (version "1.5.7-0.2.gbd7e502")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.openfabrics.org/downloads/ibutils/ibutils-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "00x7v6cf8l5y6g9xwh1sg738ch42fhv19msx0h0090nhr0bv98v7"))))
+    (build-system gnu-build-system)
+    (inputs `(("graphviz" ,graphviz)
+              ("tcl" ,tcl)
+              ("tk" ,tk)
+              ("infiniband-diags" ,infiniband-diags)
+              ("rdma-core" ,rdma-core)
+              ("opensm" ,opensm)
+              ("perl" ,perl)))
+    (native-inputs `(("swig" ,swig)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-osm="  (assoc-ref %build-inputs "opensm"))
+             (string-append "--with-tk-lib=" (assoc-ref %build-inputs "tk") "/lib")
+             "--disable-static")))
+    (synopsis "InfiniBand network utilities")
+    (description "These command-line utilities allow for diagnosing and
+testing InfiniBand networks.")
+    (home-page "https://www.openfabrics.org/downloads/ibutils/")
+    (license bsd-2)))
+
+(define-public ucx
+  (package
+    (name "ucx")
+    (version "1.6.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/openucx/ucx.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))
+              (patches (search-patches "ucx-tcp-iface-ioctl.patch"))))
+    (build-system gnu-build-system)
+    (arguments
+     '( ;; These are some of the flags found in 'contrib/configure-release'.
+       #:configure-flags (list
+                          "--disable-static"
+
+                          ;; XXX: Disable optimizations specific to the build
+                          ;; machine (AVX, etc.)  There's apparently no way to
+                          ;; have them picked up at load time.
+                          "--disable-optimizations"
+
+                          "--disable-logging"
+                          "--disable-debug"
+                          "--disable-assertions"
+                          "--disable-params-check"
+
+                          (string-append "--with-verbs="
+                                         (assoc-ref %build-inputs
+                                                    "rdma-core"))
+
+                          (string-append "--with-rdmacm="
+                                         (assoc-ref %build-inputs
+                                                    "rdma-core")))
+
+       ;; Be verbose so that compiler flags are displayed.
+       #:make-flags '("V=1")))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("numactl" ,numactl)
+       ("rdma-core" ,rdma-core)))
+    (synopsis "Optimized communication layer for message passing in HPC")
+    (description
+     "Unified Communication X (UCX) provides an optimized communication layer
+for message passing (MPI), portable global address space (PGAS) languages and
+run-time support libraries, as well as RPC and data-centric applications.
+
+UCX utilizes high-speed networks for inter-node communication, and shared
+memory mechanisms for efficient intra-node communication.")
+    (home-page "https://www.openucx.org/")
+    (license bsd-3)
+
+    ;; <ucm/bistro/bistro.h> lists only PowerPC64, AArch64, and x86_64 as
+    ;; supported.
+    (supported-systems '("x86_64-linux" "aarch64-linux"))))