From ff2e6ba4151900ec06bbdcc997be83f6c68785be Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 16 Sep 2016 02:19:26 +0000 Subject: [PATCH 1/4] gnu: Add libkqueue. * 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 a7006cb..5a3bc94 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -200,6 +200,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 +;;; +;;; 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 . + +(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.0