Subject: Re: [bug#43619] [PATCH 1/2] gnu: Add liburing.

From: Greg Hogan <[email-masked]>
Date: Sat, 10 Oct 2020 12:15:29 -0400

Moved to gnu/packages/linux, updated the synopsis, and added a remark for
the disabled tests.

>From b59f56f3910807dca82075293224f42e8c703039 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Wed, 30 Sep 2020 19:00:53 +0000
Subject: [PATCH] gnu: Add liburing.

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

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5486a1031c..02f98ba3ce 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -7585,3 +7585,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 expat)))
-- 
2.28.0

On Tue, Sep 29, 2020 at 4:38 PM Ludovic Courtès <[email-masked]> wrote:

> Hi Greg,
>
> Greg Hogan <[email-masked]> skribis:
>
> >>From 4cd8b67741d61b69e70ae2271b1063f53e3513e8 Mon Sep 17 00:00:00 2001
> > From: Greg Hogan <[email-masked]>
> > Date: Tue, 22 Sep 2020 15:21:43 +0000
> > Subject: [PATCH 1/2] gnu: Add liburing.
> >
> > * gnu/packages/liburing.scm (liburing): New variable.
>
> [...]
>
> > +(define-module (gnu packages liburing)
>
> I would tend to put it in another module, probably (gnu packages linux)
> in this case because it’s Linux-specific.
>
> > +    (arguments
> > +     `(#:tests? #f
>
> Please add a comment explaining why the test suite is skipped.
>
> > +    (home-page "https://github.com/axboe/liburing")
> > +    (synopsis "Simplified interface for io_uring")
>
> Maybe “Interface to the Linux kernel @code{io_uring} interface”?
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.
>