summaryrefslogtreecommitdiff
path: root/gnu/packages/c.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-01-30 11:33:18 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-01-30 12:39:40 +0200
commit4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch)
tree9fd64956ee60304c15387eb394cd649e49f01467 /gnu/packages/c.scm
parentedb8c09addd186d9538d43b12af74d6c7aeea082 (diff)
parent595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff)
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r--gnu/packages/c.scm130
1 files changed, 124 insertions, 6 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 10275970b1..8777c47919 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -41,6 +41,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
@@ -55,6 +56,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)
@@ -67,6 +69,45 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
+(define-public c-intro-and-ref
+ (let ((revision "0")
+ (commit "f88559678feeb1391a0e9c7cf060c4429ef22ffc"))
+ (package
+ (name "c-intro-and-ref")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/c-intro-and-ref.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0c08h8k7wkn5lw0jqnnaayx55d3vf1q11pgsixfw31i58rnwa5y2"))))
+ (build-system copy-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (substitute* "Makefile"
+ (("makeinfo c.texi")
+ "makeinfo --no-split c.texi"))
+ (invoke "make" "c.info" "c.html"
+ "-j" (number->string
+ (if parallel-build?
+ (parallel-job-count)
+ 1))))))
+ #:install-plan ''(("c.info" "share/info/")
+ ("c.html" "share/doc/"))))
+ (native-inputs (list texinfo))
+ (home-page "https://www.gnu.org/")
+ (synopsis "GNU C Language Intro and Reference")
+ (description "This manual explains the C language for use with the GNU
+Compiler Collection (GCC) on the GNU/Linux system and other systems. We refer
+to this dialect as GNU C. If you already know C, you can use this as a
+reference manual.")
+ (license license:fdl1.3+))))
+
(define-public cproc
(let ((commit "70fe9ef1810cc6c05bde9eb0970363c35fa7e802")
(revision "1"))
@@ -384,14 +425,14 @@ whose behaviour is inconsistent across *NIX flavours.")
(define-public libhx
(package
(name "libhx")
- (version "4.3")
+ (version "4.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://inai.de/files/libhx/"
"libHX-" version ".tar.xz"))
(sha256
- (base32 "06zkzaya6j3vaafz80qcgn5qcri047003bhmjisv5sbikcw97jqy"))))
+ (base32 "16rwp8b2j8l0m27rffvb7ma350r79l611sa135hzfywkdli2bqh2"))))
(build-system gnu-build-system)
(home-page "https://inai.de/projects/libhx/")
(synopsis "C library with common data structures and functions")
@@ -719,7 +760,7 @@ portability.")
(define-public byacc
(package
(name "byacc")
- (version "20220128")
+ (version "20221106")
(source (origin
(method url-fetch)
(uri (string-append
@@ -727,7 +768,7 @@ portability.")
version ".tgz"))
(sha256
(base32
- "173l5pdzgqk2ld6lf0ablii0iiw07sry2vrjfrm4wc99qmf81ha2"))))
+ "04lxggjarbidfq8ba5q6kwgqys4lhidbnz8gf3vrrb5wgcibx6d8"))))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
@@ -1087,7 +1128,7 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(define-public mimalloc
(package
(name "mimalloc")
- (version "2.0.6")
+ (version "2.0.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1096,7 +1137,7 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(file-name (git-file-name name version))
(sha256
(base32
- "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+ "19w0i28p6knjd192rrcw1ayc3x0qp6rcm48cwkls4kwn8fng81fj"))))
(build-system cmake-build-system)
(arguments
`(#:build-type "Release"))
@@ -1126,6 +1167,7 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
("ppc64" => "ppc64")
("ppc" => "ppc")
("s390x" => "s390x")
+ ("riscv64" => "riscv64")
("sparc64" => "sparcv9"))))
(define-public ck
@@ -1182,6 +1224,82 @@ performance concurrent systems developed in C99+.")
(license (list license:bsd-2 ;everything except...
license:asl2.0)))) ;src/ck_hp.c
+(define-public tinydir
+ (package
+ (name "tinydir")
+ (version "1.2.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cxong/tinydir")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1nprgdfx4i8wzc1idw6chan4fjfa75b5ll8kghdc0q2278pny259"))
+ (patches (search-patches "tinydir-fix-cbehave-test.patch"))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "tests/cbehave"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'path-cmake
+ (lambda _
+ (substitute* "tests/CMakeLists.txt"
+ (("^include_dir.*cbehave.*")
+ (string-append "include_directories("#$cbehave "/include)"))
+ (("^add_subdir.*cbeha.*") ""))))
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "tests")))
+ (replace 'install
+ (lambda _
+ (install-file "../tinydir.h"
+ (string-append #$output "/include")))))))
+ (native-inputs (list cbehave))
+ (home-page "https://github.com/cxong/tinydir")
+ (synopsis "List directories programmatically")
+ (description "@code{tinydir} is a header-only C wrapper for listing
+directory contents.")
+ (license license:bsd-2)))
+
+(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")