guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/14: gnu: Add libdispatch.


From: guix-commits
Subject: 09/14: gnu: Add libdispatch.
Date: Wed, 28 Sep 2022 14:58:44 -0400 (EDT)

lilyp pushed a commit to branch master
in repository guix.

commit c59d3d67fd1c26a19ecc27bc5ed9d15d77575525
Author: Hilton Chain <hako@ultrarare.space>
AuthorDate: Mon Sep 26 21:32:49 2022 +0800

    gnu: Add libdispatch.
    
    * gnu/packages/c.scm (libdispatch): New variable.
    
    Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
 gnu/packages/c.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]