Hi, this adds libdispatch and its dependencies, needed for the newer version of nvidia-texture-tools, a dependency I want to unbundle from the source of 0ad.
From ff2e6ba4151900ec06bbdcc997be83f6c68785be Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> 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 <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.0
From 58b9d3d9b529ec1a1199347849810f12a77919a4 Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> Date: Fri, 16 Sep 2016 10:01:22 +0000 Subject: [PATCH 2/4] gnu: Add libpthread_workqueue. * gnu/packages/libdispatch.scm (libpthread_workqueue): New variable. --- gnu/packages/libdispatch.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index 77c80c0..3159763 100644 --- a/gnu/packages/libdispatch.scm +++ b/gnu/packages/libdispatch.scm @@ -62,3 +62,33 @@ native kernel facilities.") (synopsis "kqueue(2) compatibility library") ;; event.h is bsd-2 (license (list license:expat license:bsd-2)))) + +(define-public libpthread_workqueue + (package + (name "libpthread_workqueue") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mheily/libpwq/releases/download/v" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "13cikhmc6mmk7falwapph8lahig6g7j2cbzsaf5rh85xbkj9a666")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "autoreconf" "--install" "--symlink" "--verbose"))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://github.com/mheily/libpwq") + (description + "libpthread_workqueue is a POSIX threads workqueue library.") + (synopsis "Portable implementation of the pthread_workqueue API") + (license license:bsd-2))) -- 2.10.0
From 138b41aeba99ac97e2932cf08d69523190cafcf4 Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> Date: Fri, 16 Sep 2016 10:18:32 +0000 Subject: [PATCH 3/4] gnu: Add libblocks-runtime. * gnu/packages/libdispatch.scm (libblocks-runtime): New variable. --- gnu/packages/libdispatch.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index 3159763..dae3857 100644 --- a/gnu/packages/libdispatch.scm +++ b/gnu/packages/libdispatch.scm @@ -23,6 +23,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages autotools) + #:use-module (gnu packages llvm) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages ruby)) @@ -92,3 +93,36 @@ native kernel facilities.") "libpthread_workqueue is a POSIX threads workqueue library.") (synopsis "Portable implementation of the pthread_workqueue API") (license license:bsd-2))) + +(define-public libblocks-runtime + (package + (name "libblocks-runtime") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mheily/blocks-runtime/releases/" + "download/v" version "/" "libblocksruntime-" version ".tar.gz")) + (sha256 + (base32 + "1g1a25g1qfy3w21dy0kaxnj6ylbjskmsif68fw7xkavcgn6y21vq")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "autoreconf" "--install" "--symlink" "--verbose"))))))) + (native-inputs + `(("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("clang" ,clang) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/mheily/blocks-runtime/") + (description + "Blocks are a proposed extension to the C, Objective C, and C++ +languages developed by Apple to support the Grand Central Dispatch +concurrency engine.") + (synopsis "Blocks Runtime") + (license (list license:ncsa license:expat)))) -- 2.10.0
From 26970808912e08a65915dc17e037247c6ccfbd6c Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> Date: Fri, 16 Sep 2016 10:42:26 +0000 Subject: [PATCH 4/4] gnu: Add libdispatch. * gnu/packages/libdispatch.scm (libdispatch): New variable. --- gnu/packages/libdispatch.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index dae3857..1bfa440 100644 --- a/gnu/packages/libdispatch.scm +++ b/gnu/packages/libdispatch.scm @@ -22,10 +22,12 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (gnu packages autotools) #:use-module (gnu packages llvm) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages ruby)) (define-public libkqueue @@ -126,3 +128,35 @@ languages developed by Apple to support the Grand Central Dispatch concurrency engine.") (synopsis "Blocks Runtime") (license (list license:ncsa license:expat)))) + +(define-public libdispatch + (package + (name "libdispatch") + (version "0.1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/nickhutchinson/" + "libdispatch/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17iwnfs68spg9nv6lgnglgjx11id8amy2a5ajjvqfm0mm95agnma")))) + (native-inputs + `(("python-2" ,python-2))) + (inputs + `(("libpthread_workqueue" ,libpthread_workqueue) + ("libkqueue" ,libkqueue) + ("libblocks-runtime" ,libblocks-runtime))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) + (home-page "http://nickhutchinson.me/libdispatch/") + (synopsis "GNU-linux port of Apple's concurrency library") + (description + "libdispatch, aka Grand Central Dispatch (GCD) is Apple's +high-performance event-handling library. It provides asynchronous +task queues, monitoring of file descriptor read and write-ability, +asynchronous I/O (for sockets and regular files), readers-writer locks, +parallel for-loops, sane signal handling, periodic timers, semaphores +and more.") + (license license:asl2.0))) -- 2.10.0
-- ng0
signature.asc
Description: PGP signature