gnu: Add libdispatch.

* gnu/packages/c.scm (libdispatch): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
Hilton Chain 2022-09-26 21:32:49 +08:00 committed by Liliana Marie Prikler
parent c9bd729dd1
commit c59d3d67fd
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -55,6 +55,7 @@ (define-module (gnu packages c)
#: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 @@ (define target-machine #$(and=> (%current-target-system)
(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")