Subject: [bug#31172] [PATCH 1/1] gnu: Add psm2.

From: Rouby Pierre-Antoine <[email-masked]>
Date: Mon, 16 Apr 2018 09:49:31 +0200

* gnu/packages/linux.scm (psm2): New variable.
---
 gnu/packages/linux.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f49171fa5..a4a8859e5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <[email-masked]>
 ;;; Copyright © 2017 nee <[email-masked]>
 ;;; Copyright © 2017 Dave Love <[email-masked]>
+;;; Copyright © 2018 Pierre-Antoine Rouby <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4561,3 +4562,43 @@ text-mode or graphical applications that don't use a display server.
 Also included is @command{fbgrab}, a wrapper around @command{fbcat} that
 emulates the behaviour of Gunnar Monell's older fbgrab utility.")
     (license license:gpl2)))
+
+(define-public psm2
+  (package
+    (name "psm2")
+    (version "10.3-46")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/intel/opa-psm2.git")
+                    (commit "5fabd0e699a920e74333f789923fd1c02bb7c629")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wadphv4rl5p38x6a3dgpbijlzqdvcn02cfafnp72nh9faz0zvlx"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:modules ((guix build utils)
+                  (guix build gnu-build-system))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'check)
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out")))
+                        (setenv "DESTDIR" out)
+                        (invoke "make" "install")
+                        #t))))))
+    (inputs
+     `(("rdma-core" ,rdma-core)
+       ("numactl" ,numactl)))
+    (synopsis "Intel Performance Scaled Messaging 2 (PSM2) library")
+    (description
+     "This package is low-level user-level Intel's communications interface.
+The PSM2 API is a high-performance vendor-specific protocol that provides a
+low-level communications interface for the Intel Omni-Path family of
+products.")
+    (home-page "https://github.com/intel/opa-psm2")
+    ;; Only the x86_64 architecure is supported.
+    (supported-systems '("x86_64-linux"))
+    (license (list license:bsd-3 license:gpl2)))) ; dual
-- 
2.16.1