@@ -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))))