From f8f44dd7384d1cfc30158917b543e68c132cd60a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Mar 2017 09:27:31 +0100 Subject: gnu: Add rdma-core. * gnu/packages/linux.scm (rdma-core): New variable. --- gnu/packages/linux.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 608cb2975c..ed74aa50a1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 John Darrington -;;; Copyright © 2016 Marius Bakke +;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 ng0 ;;; Copyright © 2017 Leo Famulari @@ -70,6 +70,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages ninja) #:use-module (gnu packages perl) #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) @@ -3031,6 +3032,74 @@ commonly found on Microsoft Windows. It is implemented as a FUSE file system. The package provides additional NTFS tools.") (license license:gpl2+))) +(define-public rdma-core + (package + (name "rdma-core") + (version "13") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/linux-rdma/rdma-core" + "/releases/download/v" version "/rdma-core-" + version ".tar.gz")) + (sha256 + (base32 + "15qdfqkia22vab1dh41s88vgi70yifi40ar5s4x7a456rpbhy8z5")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; no tests + ;; Upstream uses the "ninja" build system and encourage distros + ;; to do the same for consistency. They also recommend using the + ;; "Release" build type. + #:configure-flags (list "-GNinja" + ;; Defaults to "lib64" on 64-bit archs. + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib") + "-DCMAKE_BUILD_TYPE=Release") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (zero? (system* "ninja" + "-j" (number->string (parallel-job-count)))))) + (replace 'install + (lambda _ + (zero? (system* "ninja" "install"))))))) + (native-inputs + `(("ninja" ,ninja) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (inputs + `(("libnl" ,libnl) + ("udev" ,eudev))) + (home-page "https://github.com/linux-rdma/rdma-core") + (synopsis "Utilities and libraries for working with RDMA devices") + (description + "This package provides userspace components for the InfiniBand +subsystem of the Linux kernel. Specifically it contains userspace +libraries for the following device nodes: + +@enumerate +@item @file{/dev/infiniband/uverbsX} (@code{libibverbs}) +@item @file{/dev/infiniband/rdma_cm} (@code{librdmacm}) +@item @file{/dev/infiniband/umadX} (@code{libibumad}) +@end enumerate + +The following service daemons are also provided: +@enumerate +@item @code{srp_daemon} (for the @code{ib_srp} kernel module) +@item @code{iwpmd} (for iWARP kernel providers) +@item @code{ibacm} (for InfiniBand communication management assistant) +@end enumerate") + ;; All library code is dual licensed under GPL2 and a custom MIT + ;; variant. The package also includes some components covered by + ;; other licenses. Consult COPYING.md for full details. + (license + (list license:gpl2 + (license:x11-style "See COPYING.BSD_MIT in the distribution") + license:bsd-2 ; Files referring to COPYING.BSD_FB + license:cc0 ; most files in ccan/ + license:bsd-3)))) ; providers/hfi1verbs are dual GPL2/BSD-3 + (define-public rng-tools (package (name "rng-tools") -- cgit v1.2.3 fs-superblock-uuid, btrfs-superblock-volume-name, check-btrfs-file-system): New variables. (%paritition-label-readers, %partition-uuid-readers): Add btrfs readers. * gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a btrfs file-system is used. * gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source, %btrfs-root-installation-script, %test-btrfs-root-os): New system test. * doc/guix.texi: Adjust accordingly. Fixes <http://bugs.gnu.org/19280>. David Craven 2017-01-10file-systems: Refactor file-system predicates....* gnu/build/file-systems.scm (partition-field-reader, read-partition-field, %partition-label-readers, %partition-uuid-readers, read-partition-label, read-partition-uuid): New variables. (partition-predicate, partition-label-predicate, partition-uuid-predicate, luks-partition-uuid-predicate): Use partition field readers. (find-partition): New variable. (find-partition-by-label, find-partition-by-uuid, find-partition-by-luks-uuid): Use find-partition-by. David Craven 2017-01-10file-systems: Refactor check-file-system....* gnu/build/file-systems.scm (check-file-system): Use file-system type specific checker. (check-ext2-file-system): New variable. David Craven 2017-01-06file-systems: Refactor file system detection logic....* gnu/build/file-systems.scm (read-superblock, null-terminated-latin1->string): New variables. (sub-bytevector): Move to general section. (ext2-superblock?, read-ext2-superblock): New variables. (ext2-superblock-uuid, ext2-superblock-volume-name): Use sub-bytevector and null-terminated-latin1->string. (%ext2-sblock-magic, %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name): Inline constants. (luks-superblock?, read-luks-header): New variables. (%luks-header-size, %luks-magic): Inline. (partition-label-predicate, partition-uuid-predicate, luks-partition-uuid-predicate): Use new functions. David Craven 2016-11-29gnu: Allow nfs file systems to be automatically mounted....* gnu/build/file-systems.scm (mount-file-system): Append target addr= when mounting nfs filesystems. John Darrington 2016-11-06gnu: build: file-system: Change url of LUKS specification....* gnu/build/file-system.scm: Change url of LUKS specification. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> ng0 2016-10-27file-systems: 'disk-partitions' detected partitions from mapped devices....Previously, partitions of mdadm- or cryptsetup-produced block devices would not be returned by 'disk-partitions'. * gnu/build/file-systems.scm (disk-partitions)[last-character]: New procedure. [partition?]: Add 'name' parameter and rewrite. Adjust caller. * gnu/build/file-systems.scm (ENOENT-safe): Silently ignore ENOMEDIUM. Ludovic Courtès 2016-09-05file-systems: Always use (guix build syscalls)....* gnu/build/file-systems.scm: Use (guix build syscalls) unconditionally. Override the 'mount' and 'umount' bindings when (guile) provides them. (MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_REMOUNT) (MS_BIND, MS_MOVE): Remove. * guix/build/syscalls.scm (%libc-errno-pointer): Add 'false-if-exception' around 'dynamic-func'. Ludovic Courtès