aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/c.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r--gnu/packages/c.scm110
1 files changed, 110 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 1b168d2ca8..62234d3c9a 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2023, 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
+;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
@@ -401,6 +403,36 @@ language as input.")
Python.")
(license license:bsd-3)))
+(define-public aml
+ (package
+ (name "aml")
+ (version "0.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/any1/aml")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0r4k233hh3iqc6zlhh2agmdj8q973x49pdixhz7h5hz7md38qzq5"))))
+ (build-system meson-build-system)
+ (native-inputs
+ (list pkg-config))
+ (home-page "https://github.com/any1/aml")
+ (synopsis "Another/Andri's main loop")
+ (description "The @code{aml} library provides a portable event loop for C,
+with the following features:
+@enumerate
+@item file descriptor event handlers
+@item timers and tickers
+@item signal handlers
+@item idle dispatch callbacks
+@item thread pool support
+@end enumerate
+")
+ (license license:isc)))
+
(define-public libbytesize
(package
(name "libbytesize")
@@ -527,6 +559,26 @@ string formatting and autoresizing, option and config file parsing, type
checking casts and more.")
(license license:lgpl2.1+)))
+(define-public libcsptr
+ (package
+ (name "libcsptr")
+ (version "2.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Snaipe/libcsptr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "056yg1irxi90ccgf646jxzngbsm946ckyzn8ykl92h6d2mnr141a"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
+ (home-page "https://snai.pe/c/c-smart-pointers/")
+ (synopsis "Smart pointers for GNU C")
+ (description "This package is an attempt at bringing smart pointers
+like C++'s unique_ptr and shared_ptr to C through GCC's cleanup attribute.")
+ (license license:expat)))
+
(define-public libwuya
;; This commit is the one before "wuy_pool.h" was removed from libwuya,
;; which libleak currently requires.
@@ -641,6 +693,64 @@ be a separate step, and tokenization rules can be written in the same way as
any other grammar rules.")
(license license:expat)))
+(define-public sfsexp
+ (package
+ (name "sfsexp")
+ (version "1.4.1")
+ (home-page "https://github.com/mjsottile/sfsexp")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03srnpc7p1j7ygd0wx9gybcxhqm50kjzkybh1xs75nwz97q3y2dq"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
+ (synopsis "Symbolic expression library for C and C++")
+ (description
+ "sfsexp is a C/C++ library to read, parse, modify, and create symbolic
+expressions.")
+ (license license:lgpl2.1+)))
+
+(define-public c-template-sort
+ ;; The latest commit is used as there is no release.
+ (let ((commit "24f5b8b13810ad130109c7b56daf8e99ab0fe1b8")
+ (revision "0"))
+ (package
+ (name "c-template-sort")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swenson/sort")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q3pgw51rjq7pb6gc7zx9i48pckyl930lcab4ngxrpa5a8flq850"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan
+ #~'(("sort.h" "include/sort.h")
+ ("sort_extra.h" "include/sort_extra.h"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "test"
+ (string-append "CC=" #$(cc-for-target)))))))))
+ (home-page "https://github.com/swenson/sort")
+ (synopsis "C implementation of many sorting algorithms")
+ (description "This package provides a header-only C library,
+that implements several sorting algorithms. It is configured using
+macros and supports user-defined types.")
+ (license license:expat))))
+
(define-public sparse
(package
(name "sparse")