From 350e61bcf01c7327d9c68eb9222a855cd8174f09 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 30 Sep 2020 19:00:53 +0000 Subject: [PATCH] gnu: Add liburing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (liburing): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/linux.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) 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 ;;; Copyright © 2020 Anders Thuné ;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Greg Hogan ;;; ;;; This file is part of GNU Guix. ;;; @@ -7585,3 +7586,38 @@ (define-public ipset @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)))