diff mbox

[4/4] gnu: Add libdispatch.

Message ID 20161028150132.25730-5-ng0@we.make.ritual.n0.is
State New
Headers show

Commit Message

non such Oct. 28, 2016, 3:01 p.m. UTC
* gnu/packages/libdispatch.scm (libdispatch): New variable.
---
 gnu/packages/libdispatch.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
diff mbox

Patch

diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm
index 3902a82..1e58296 100644
--- a/gnu/packages/libdispatch.scm
+++ b/gnu/packages/libdispatch.scm
@@ -21,11 +21,14 @@ 
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-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
@@ -127,3 +130,44 @@  languages developed by Apple to support the Grand Central Dispatch
 concurrency engine.")
     (synopsis "Blocks Runtime")
     (license (list license:ncsa license:expat))))
+
+;; This commit includes a commit which drops click.
+(define-public libdispatch
+  (let ((commit "bd1808980b04830cbbd79c959b8bc554085e38a1")
+        (revision "1"))
+    (package
+      (name "libdispatch")
+      (version (string-append "0.1.3.1" "-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/nickhutchinson/libdispatch")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "00a6xkzrd7svk7pbi59w0rq7wxszp888lg00kzaim2ikagw67ihi"))))
+      (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))
+       `(#:configure-flags (list "-DDISPATCH_ENABLE_TEST_SUITE=1")))
+         ;; #:phases
+         ;; (modify-phases %standard-phases
+         ;;   (add-after 'unpack 'autogen
+         ;;     (lambda _
+      (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))))