aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>2017-11-07 17:57:47 +0100
committerLudovic Courtès <ludo@gnu.org>2017-11-07 18:09:13 +0100
commitfd23d259cd0c13cd670aea7190a00a531da4c90d (patch)
treef4da0255275d125d00b1fab7ab9d12e4aa82a09a /gnu/packages/linux.scm
parent63b7fbe1bb3ff2b8a97793f91a0a6d7de8977a75 (diff)
downloadgnu-guix-fd23d259cd0c13cd670aea7190a00a531da4c90d.tar
gnu-guix-fd23d259cd0c13cd670aea7190a00a531da4c90d.tar.gz
gnu: Add PSM.
* gnu/packages/linux.scm (psm): New variable. * gnu/packages/patches/psm-arch.patch, gnu/packages/patches/psm-ldflags.patch, gnu/packages/patches/psm-repro.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0ee2d601ad..19376fc78c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4410,3 +4410,45 @@ exports the user-space API of OFI, and is typically the only software that
applications deal with directly. It works in conjunction with provider
libraries, which are often integrated directly into libfabric.")
(license (list license:bsd-2 license:gpl2)))) ;dual
+
+(define-public psm
+ (package
+ (name "psm")
+ (version "3.3.20170428")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url "http://github.com/01org/psm")
+ (commit "604758e76dc31e68d1de736ccf5ddf16cb22355b")))
+ (file-name (string-append "psm-" version ".tar.gz"))
+ (sha256
+ (base32 "0nsb325dmhn5ia3d2cnksqr0gdvrrx2hmvlylfgvmaqdpq76zm85"))
+ (patches (search-patches
+ "psm-arch.patch" ; uname -p returns "unknown" on Debian 9
+ "psm-ldflags.patch" ; build shared lib with LDFLAGS
+ "psm-repro.patch")))) ; reproducibility
+ (build-system gnu-build-system)
+ (inputs `(("libuuid" ,util-linux)))
+ (arguments
+ '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR="
+ ,(string-append "INSTALL_PREFIX=" %output)
+ ,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-/usr/include
+ (lambda _
+ (substitute* "Makefile"
+ (("\\$\\{DESTDIR}/usr/include")
+ (string-append %output "/include")))
+ (substitute* "Makefile"
+ (("/lib64") "/lib"))
+ #t)))))
+ (home-page "https://github.com/01org/psm")
+ (synopsis "Intel Performance Scaled Messaging (PSM) Libraries")
+ (description
+ "The PSM Messaging API, or PSM API, is Intel's low-level user-level
+communications interface for the True Scale family of products. PSM users are
+enabled with mechanisms necessary to implement higher level communications
+interfaces in parallel environments.")
+ (license (list license:bsd-2 license:gpl2)))) ;dual