From 26970808912e08a65915dc17e037247c6ccfbd6c Mon Sep 17 00:00:00 2001 From: ng0 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