aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Hogan <code@greghogan.com>2020-09-30 19:00:53 +0000
committerLudovic Courtès <ludo@gnu.org>2020-10-10 22:53:21 +0200
commit350e61bcf01c7327d9c68eb9222a855cd8174f09 (patch)
tree477f45f28dd55c354d85cbd0cb86e7e0488cac4f
parentd31277e7b272f366bb872b34291d7fdb658ed12c (diff)
downloadguix-350e61bcf01c7327d9c68eb9222a855cd8174f09.tar.gz
guix-350e61bcf01c7327d9c68eb9222a855cd8174f09.zip
gnu: Add liburing.
* gnu/packages/linux.scm (liburing): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/linux.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4826e52c71..39960c102b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -49,6 +49,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7585,3 +7586,38 @@ iptables rule and benefit from the speed of IP sets.
@end itemize\n
then IP sets may be the proper tool for you.")
(license license:gpl2+)))
+
+(define-public liburing
+ (package
+ (name "liburing")
+ (version "0.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.kernel.dk/liburing")
+ (commit (string-append "liburing-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(;; Tests are dependent on kernel version and features
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; configure fails if it is followed by SHELL, CONFIG_SHELL,
+ ;; --enable-fast-install, and --build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (invoke "./configure" (string-append "--prefix=" out))))))))
+ (home-page "https://github.com/axboe/liburing")
+ (synopsis "Interface to the Linux kernel @code{io_uring} interface")
+ (description "This is the io_uring library, liburing. liburing provides
+helpers to setup and teardown io_uring instances, and also a simplified
+interface for applications that don't need (or want) to deal with the full
+kernel side implementation.")
+ (license license:expat)))