diff options
author | Hilton Chain <hako@ultrarare.space> | 2022-09-26 21:32:49 +0800 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2022-09-28 20:22:38 +0200 |
commit | c59d3d67fd1c26a19ecc27bc5ed9d15d77575525 (patch) | |
tree | 4f3db12a6fd17b3cab6488c023a1dc016f1a3515 /gnu | |
parent | c9bd729dd1d1e68ee59c56a811a47d6bbb844cba (diff) |
gnu: Add libdispatch.
* gnu/packages/c.scm (libdispatch): New variable.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/c.scm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 10275970b1..84b537022d 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -55,6 +55,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages texinfo) #:use-module (gnu packages guile) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) @@ -1182,6 +1183,41 @@ performance concurrent systems developed in C99+.") (license (list license:bsd-2 ;everything except... license:asl2.0)))) ;src/ck_hp.c +(define-public libdispatch + (package + (name "libdispatch") + (version "5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apple/swift-corelibs-libdispatch") + (commit (string-append "swift-" version "-RELEASE")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0skg1azbhbg7y0ql2a5sx6lmfip8l1rajqm95zzf9xv45n4dg9nn")))) + (build-system cmake-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; Use Clang instead of GCC. + (add-before 'configure 'prepare-build-environment + (lambda _ + (setenv "AR" "llvm-ar") + (setenv "NM" "llvm-nm") + (setenv "CC" "clang") + (setenv "CXX" "clang++")))))) + (native-inputs (list clang llvm)) + (home-page "https://apple.github.io/swift-corelibs-libdispatch/") + (synopsis "Concurrent code execution on multicore hardware") + (description + "Grand Central Dispatch (GCD or libdispatch) implements a concurrency model +wherein program tasks are divided into work items. These can be run +sequentially or in parallel, with optional synchronization in between, and GCD +will take care of dispatching tasks to available cores.") + (license license:asl2.0))) + (define-public utf8-h ;; The latest tag is used as there is no release. (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") |