diff options
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r-- | gnu/packages/c.scm | 191 |
1 files changed, 157 insertions, 34 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index d545d98938..e0623beec4 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> @@ -12,6 +12,8 @@ ;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 David Dashyan <mail@davie.li> +;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +39,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix store) #:use-module (gnu packages) @@ -143,10 +146,81 @@ compiler while still keeping it small, simple, fast and understandable.") ;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details. (license (list license:bsd-2 license:bsd-3)))) +(define-public qbe + (let ((commit "2caa26e388b1c904d2f12fb09f84df7e761d8331") + (revision "1")) + (package + (name "qbe") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://c9x.me/qbe") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gv03ym0gqrl4wkbhysa82025xwrkr1fg44z814b6vnggwlqgljc")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'allow-cross-compilation + (lambda _ + (substitute* "Makefile" + (("`uname -m`") #$(or (%current-target-system) + (%current-system)))))) + (add-after 'allow-cross-compilation 'use-$CC-for-tests + (lambda _ + (substitute* "tools/test.sh" + (("cc=\"cc -no-pie\"") "cc=\"${CC} -no-pie\"")))) + (delete 'configure)))) + (supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux")) + (synopsis "Simple compiler backend") + (description + "QBE is a small compiler backend using an SSA-based intermediate +language as input.") + (home-page "https://c9x.me/compile/") + (license license:expat)))) + +(define-public python-pcpp + (package + (name "python-pcpp") + (version "1.30") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ned14/pcpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb")))) + (build-system python-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'unbundle-ply + (lambda _ + (rmdir "pcpp/ply") + (substitute* "setup.py" + (("'pcpp/ply/ply'") ""))))))) + (native-inputs (list python-pytest)) + (propagated-inputs (list python-ply)) + (home-page "https://github.com/ned14/pcpp") + (synopsis "C99 preprocessor written in Python") + (description "This package provides a C99 preprocessor written in pure +Python.") + (license license:bsd-3))) + (define-public libbytesize (package (name "libbytesize") - (version "2.2") + (version "2.6") (source (origin (method url-fetch) (uri (string-append @@ -154,14 +228,12 @@ compiler while still keeping it small, simple, fast and understandable.") "download/" version "/libbytesize-" version ".tar.gz")) (sha256 (base32 - "1aivwypmnqcaj2230pifvf3jcgl5chja8rspkxf0j3480asm8g5r")))) + "0h87ryi0mp8msq43h1cna453cqaw5knx1xaggfzm4fxvn8sjpapg")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("python" ,python))) + (list gettext-minimal pkg-config python)) (inputs (list mpfr pcre2)) (home-page "https://github.com/storaged-project/libbytesize") @@ -248,14 +320,14 @@ whose behaviour is inconsistent across *NIX flavours.") (define-public libhx (package (name "libhx") - (version "4.2") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "https://inai.de/files/libhx/" "libHX-" version ".tar.xz")) (sha256 - (base32 "1ri3sxiw5a8br27j7f20s40kihfvq6mmxzcrx68zydiwyxjvf5jj")))) + (base32 "06zkzaya6j3vaafz80qcgn5qcri047003bhmjisv5sbikcw97jqy")))) (build-system gnu-build-system) (home-page "https://inai.de/projects/libhx/") (synopsis "C library with common data structures and functions") @@ -581,11 +653,33 @@ portability.") (license (list license:bsd-2 ;all files except... license:bsd-3)))) ;...the unidef.1 manual page +(define-public byacc + (package + (name "byacc") + (version "20220128") + (source (origin + (method url-fetch) + (uri (string-append + "https://invisible-mirror.net/archives/byacc/byacc-" + version ".tgz")) + (sha256 + (base32 + "173l5pdzgqk2ld6lf0ablii0iiw07sry2vrjfrm4wc99qmf81ha2")))) + (build-system gnu-build-system) + (home-page "https://invisible-island.net/byacc/byacc.html") + (synopsis "Berkeley Yacc LALR parser generator") + (description + "Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar +specification from a file and generates an LALR(1) parser for it. The parsers +consist of a set of LALR(1) parsing tables and a driver routine written in the +C programming language.") + (license license:public-domain))) + (define-public aws-c-common (package (name "aws-c-common") - ; Update only when updating aws-crt-cpp. - (version "0.6.11") + ;; Update only when updating aws-crt-cpp. + (version "0.6.20") (source (origin (method git-fetch) (uri (git-reference @@ -594,12 +688,13 @@ portability.") (file-name (git-file-name name version)) (sha256 (base32 - "1v4dhygiynl75y3702lbp9j8kph88j4f2sq39s4lkhn6lmbz5f0f")))) + "089grcj58n4xs41kmnpaqpwsalcisjbqqb5yqahxxyfx2lf1j9c9")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (synopsis "Amazon Web Services core C library") + (supported-systems '("i686-linux" "x86_64-linux")) (description "This library provides common C99 primitives, configuration, data structures, and error handling for the @acronym{AWS,Amazon Web Services} SDK.") @@ -609,7 +704,7 @@ portability.") (define-public aws-checksums (package (name "aws-checksums") - ; Update only when updating aws-crt-cpp. + ;; Update only when updating aws-crt-cpp. (version "0.1.12") (source (origin (method git-fetch) @@ -638,7 +733,7 @@ with fallback to efficient C99 software implementations.") (define-public aws-c-event-stream (package (name "aws-c-event-stream") - ; Update only when updating aws-crt-cpp. + ;; Update only when updating aws-crt-cpp. (version "0.2.7") (source (origin (method git-fetch) @@ -670,8 +765,8 @@ communication.") (define-public aws-c-io (package (name "aws-c-io") - ; Update only when updating aws-crt-cpp. - (version "0.10.9") + ;; Update only when updating aws-crt-cpp. + (version "0.10.20") (source (origin (method git-fetch) (uri (git-reference @@ -680,7 +775,7 @@ communication.") (file-name (git-file-name name version)) (sha256 (base32 - "14rxa3k842fgk43702nz7z9y3clfhvax8j0k93i0c5vg14wj38yp")))) + "07l5rfbm1irkigfv51sfygs992af8rxicmay97frbx6z21khdjnr")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -699,8 +794,8 @@ event-driven, asynchronous network application protocols.") (define-public aws-c-cal (package (name "aws-c-cal") - ; Update only when updating aws-crt-cpp. - (version "0.5.12") + ;; Update only when updating aws-crt-cpp. + (version "0.5.17") (source (origin (method git-fetch) (uri (git-reference @@ -709,7 +804,7 @@ event-driven, asynchronous network application protocols.") (file-name (git-file-name name version)) (sha256 (base32 - "09zqf610x4g2mcjcaf9nh88k6dkw14pi721yr8hxb5rmsx7rlfrb")))) + "0gd7xfzv509vcysifzfa8j2rykkc1prhiry7953snblkzm7airm5")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -727,6 +822,34 @@ cryptographic primitives for the @acronym{AWS,Amazon Web Services} SDK.") (home-page "https://github.com/awslabs/aws-c-cal") (license license:asl2.0))) +(define-public aws-c-sdkutils + (package + (name "aws-c-sdkutils") + ;; Update only when updating aws-crt-cpp. + (version "0.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/awslabs/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14wpl3dxwjbbzas44v6m6m3ll89rgz34x9gb140qz624gwzs9v0v")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + (list "-DBUILD_SHARED_LIBS=ON" + (string-append "-DCMAKE_PREFIX_PATH=" + (assoc-ref %build-inputs "aws-c-common"))))) + (propagated-inputs + (list aws-c-common)) + (synopsis "Amazon Web Service utility library") + (description "This library provides for parsing and management of profiles +for the @acronym{AWS,Amazon Web Services} SDK.") + (home-page "https://github.com/awslabs/aws-c-sdkutils") + (license license:asl2.0))) + (define-public pcl (package (name "pcl") @@ -749,8 +872,8 @@ low level functionality for coroutines.") (define-public aws-c-http (package (name "aws-c-http") - ; Update only when updating aws-crt-cpp. - (version "0.6.7") + ;; Update only when updating aws-crt-cpp. + (version "0.6.13") (source (origin (method git-fetch) (uri (git-reference @@ -759,7 +882,7 @@ low level functionality for coroutines.") (file-name (git-file-name name version)) (sha256 (base32 - "1s06bz6w7355ldyhwjidcpbff7591ch4lwwjcj47a6k2kczdmiz4")))) + "125glc9b3906r95519zqfbzzz6wj5ib4im2n45yxrigwkkpffbq9")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -779,7 +902,7 @@ specifications.") (define-public aws-c-compression (package (name "aws-c-compression") - ; Update only when updating aws-crt-cpp. + ;; Update only when updating aws-crt-cpp. (version "0.2.14") (source (origin (method git-fetch) @@ -808,8 +931,8 @@ currently limited to Huffman encoding and decoding.") (define-public aws-c-auth (package (name "aws-c-auth") - ; Update only when updating aws-crt-cpp. - (version "0.6.4") + ;; Update only when updating aws-crt-cpp. + (version "0.6.11") (source (origin (method git-fetch) (uri (git-reference @@ -818,7 +941,7 @@ currently limited to Huffman encoding and decoding.") (file-name (git-file-name name version)) (sha256 (base32 - "120p69lj279yq3d2b81f45kgfrvf32j6m7s03m8hh27w8yd4vbfp")) + "0frfnbifkrib9l68mj92a3g1x8xc8hpdlzbga2a801zgf2flx4fy")) (patches (search-patches "aws-c-auth-install-private-headers.patch")))) @@ -830,7 +953,7 @@ currently limited to Huffman encoding and decoding.") (assoc-ref %build-inputs "aws-c-common")) "-DENABLE_NET_TESTS=OFF"))) (propagated-inputs - (list aws-c-cal aws-c-common aws-c-http aws-c-io)) + (list aws-c-cal aws-c-common aws-c-http aws-c-io aws-c-sdkutils)) (synopsis "Amazon Web Services client-side authentication library") (description "This library provides a C99 implementation for AWS client-side @@ -841,8 +964,8 @@ authentication.") (define-public aws-c-s3 (package (name "aws-c-s3") - ; Update only when updating aws-crt-cpp. - (version "0.1.26") + ;; Update only when updating aws-crt-cpp. + (version "0.1.38") (source (origin (method git-fetch) (uri (git-reference @@ -851,7 +974,7 @@ authentication.") (file-name (git-file-name name version)) (sha256 (base32 - "0gaxnwwk0jbvkgjnxcgchq13xmn7jk5vjvjsps6b0vaz6bf12wv8")))) + "0n2y8hzb1bx3vnzlpb5hsav18dg33pwav0mpji6krz98y2l8msya")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -860,7 +983,7 @@ authentication.") (assoc-ref %build-inputs "aws-c-common")) "-DENABLE_NET_TESTS=OFF"))) (propagated-inputs - (list aws-c-auth aws-c-http)) + (list aws-c-auth aws-c-http aws-checksums)) (synopsis "Amazon Web Services client library for Amazon S3") (description "This library provides a C99 client implementation of the Simple Storage @@ -871,8 +994,8 @@ Service (S3) protocol for object storage.") (define-public aws-c-mqtt (package (name "aws-c-mqtt") - ; Update only when updating aws-crt-cpp. - (version "0.7.8") + ;; Update only when updating aws-crt-cpp. + (version "0.7.10") (source (origin (method git-fetch) (uri (git-reference @@ -881,7 +1004,7 @@ Service (S3) protocol for object storage.") (file-name (git-file-name name version)) (sha256 (base32 - "19j6nw2v36c4yff4p0fbf0748s06fd5r9cp2yakry9ybn1ada99c")))) + "0qmzx8b4wcsq9s99q2zrhx1s3jdmfy8zs16qys9bqv45gspi3ybr")))) (build-system cmake-build-system) (arguments '(#:configure-flags |