diff options
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r-- | gnu/packages/c.scm | 110 |
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") |