* gnu/local.mk: Include gnu/packages/libdispatch.scm . * gnu/packages/libdispatch.scm: Add new file. * gnu/packages/libdispatch.scm (libkqueue): New variable. --- gnu/local.mk | 1 + gnu/packages/libdispatch.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 gnu/packages/libdispatch.scm
diff --git a/gnu/local.mk b/gnu/local.mk index f306180..d1bb937 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -206,6 +206,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libbsd.scm \ %D%/packages/libcanberra.scm \ %D%/packages/libdaemon.scm \ + %D%/packages/libdispatch.scm \ %D%/packages/libedit.scm \ %D%/packages/libevent.scm \ %D%/packages/libffcall.scm \ diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm new file mode 100644 index 0000000..77c80c0 --- /dev/null +++ b/gnu/packages/libdispatch.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages libdispatch) + #:use-module (gnu packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages ruby)) + +(define-public libkqueue + (package + (name "libkqueue") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mheily/libkqueue/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07xdns9kaw6v5jbz2d7d9zw1lkz1zdj1wmbyxla0wqyhzywizybf")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "autoreconf" "-fi"))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("ruby" ,ruby) + ("perl" ,perl) + ("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://github.com/mheily/libkqueue") + (description + "Userspace implementation of the kqueue(2) kernel event +notification mechanism found in FreeBSD. +libkqueue acts as a translator between the kevent structure and the +native kernel facilities.") + (synopsis "kqueue(2) compatibility library") + ;; event.h is bsd-2 + (license (list license:expat license:bsd-2)))) -- 2.10.1