diff options
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r-- | gnu/packages/cpp.scm | 75 |
1 files changed, 74 insertions, 1 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 50c29b3389..1bae2966b9 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -22,6 +22,9 @@ ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org> +;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +81,76 @@ #:use-module (gnu packages web) #:use-module (gnu packages xml)) +(define-public argagg + (let ((commit "79e4adfa2c6e2bfbe63da05cc668eb9ad5596748") (revision "0")) + (package + (name "argagg") + (version (git-version "0.4.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vietjtnguyen/argagg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1flkgh524lq3024p7ld5lg743s1v7qnbmgv77578rzmn2rjzr77n")))) + (build-system cmake-build-system) + (outputs '("out" "doc")) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((name ,(package-name argagg)) (out (assoc-ref + outputs + "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share/doc")) + (rename-file + (string-append out "/share/doc/" name) + (string-append doc "/share/doc/" name)))))))) + (native-inputs (list doxygen)) + (home-page "https://github.com/vietjtnguyen/argagg") + (synopsis "C++11 command line argument parser") + (description + "ArgAgg is yet another C++ command line argument/option +parser. It was written as a simple and idiomatic alternative to other +frameworks like getopt, Boost program options, TCLAP, and others. The goal is +to achieve the majority of argument parsing needs in a simple manner with an +easy to use API.") + (license license:expat)))) + +(define-public asmjit + (let ((commit "4ec760a3d1f69e32ba460ecd2513f29b8428700b") + (revision "0")) + (package + (name "asmjit") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/asmjit/asmjit") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0skgccbpamcbg1byawfq5n6jzxgj64hnc7jznvk35nkskaaz1nlb")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DASMJIT_TEST=TRUE"))) + (home-page "https://asmjit.com/") + (synopsis "Machine code generation for C++") + (description "AsmJit is a lightweight library for machine code +generation written in C++ language. It can generate machine code for X86 and +X86_64 architectures with the support for the whole instruction set from +legacy MMX to the newest AVX-512 and AMX. It has a type-safe API that allows +C++ compiler to do semantic checks at compile-time even before the assembled +code is generated or executed. It also provides an optional register +allocator that makes it easy to generate complex code without a significant +development effort.") + (license license:zlib)))) + (define-public range-v3 (package (name "range-v3") @@ -111,7 +184,7 @@ range-v3 ranges are an abstraction layer on top of iterators.") (license:x11-style "file:///LICENSE.txt") ;; SGI STL license:sgifreeb2.0 - ;;; LibC++ (dual-licensed) +;;; LibC++ (dual-licensed) license:expat license:ncsa ;; Others |