diff mbox series

[bug#45601,1/1] gnu: Add picoev.

Message ID 20210104030743.25824-2-rprior@protonmail.com
State New
Headers show
Series Updated picoev patch based on feedback | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ryan Prior Jan. 4, 2021, 3:07 a.m. UTC
* gnu/packages/networking.scm (picoev): New variable.
---
 gnu/packages/networking.scm | 48 +++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index fad917a7c0..1057014571 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1827,6 +1827,54 @@  passphrase can be recovered and the AP's wireless settings can be
 reconfigured.")
     (license license:gpl2+)))
 
+(define-public picoev
+  (let ((commit "ff85d9ef578842a40f7c91d2544b7932cec74b9d")
+        (revision "0"))
+    (package
+      (name "picoev")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/kazuho/picoev")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "11ga0hyx6r229wvmds4gaq0ilrcb1j84gri7gxcnv7910yf1sv61"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f ; no tests available
+         #:make-flags (list (string-append "CC=" ,(cc-for-target))
+                            "LINUX_BUILD=1")
+         #:modules ((guix build gnu-build-system)
+                    (guix build utils)
+                    (srfi srfi-26))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (string-append (assoc-ref outputs "out")))
+                      (include (string-append out "/include"))
+                      (lib (string-append out "/lib"))
+                      (doc (string-append out "/share/doc/" ,name "-" ,version)))
+                 (for-each (cut install-file <> include)
+                           '("picoev.h"
+                             "picoev_epoll.c"
+                             "picoev_kqueue.c"
+                             "picoev_select.c"))
+                 (install-file "libpicoev.so" lib)
+                 (install-file "README.md" doc))
+               #t)))))
+      (home-page "https://github.com/kazuho/picoev")
+      (synopsis "Tiny portable event loop library")
+      (description
+       "This library provides a tiny event loop with a simple design,
+supporting only @code{select(2)}, @code{epoll(2)}, and @code{kqueue(2)}.")
+      (license license:expat))))
+
 (define-public perl-danga-socket
   (package
     (name "perl-danga-socket")