diff options
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r-- | gnu/packages/cpp.scm | 284 |
1 files changed, 161 insertions, 123 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1a991ac08c..3832b67aec 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -338,6 +338,8 @@ Segmentation and Registration Toolkit.") (base32 "1nm6d87j11jc5617qk58a81ajxgrncr7xsf4dkyscrygi2n3dbgz")))) (build-system cmake-build-system) + (arguments + (list #:tests? #f)) (home-page "https://github.com/Martchus/cpp-utilities/") (synopsis "Useful C++ classes and routines") (description @@ -832,8 +834,7 @@ of XDG base directories, such as XDG_CONFIG_HOME.") (build-system cmake-build-system) (arguments (list - #:configure-flags #~(list "-DBUILD_TESTS=ON") - #:test-target "xtest")) + #:configure-flags #~(list "-DBUILD_TESTS=ON"))) (native-inputs (list doctest googletest)) @@ -848,32 +849,30 @@ mathematical functions operating on batches.") (license license:bsd-3))) (define-public icecream-cpp - ;; Last release was in 2020. - (let ((commit "95c8b91c2214be76a2847cd4ab37dccd9250ed77") - (revision "0")) - (package - (name "icecream-cpp") - (version (git-version "0.3.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/renatoGarcia/icecream-cpp") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0zw4aj5xs13grf7qj6f33dq7md9hn5i9mf6kz66b5jsx2fly6xxs")))) - (build-system cmake-build-system) - (arguments - (list #:configure-flags #~(list "-DBUILD_TESTING=ON"))) - (native-inputs (list boost catch2)) - (home-page "https://github.com/renatoGarcia/icecream-cpp") - (synopsis "C++ library for @code{printf} debugging") - (description - "IceCream-Cpp is a C++ library for @code{printf} debugging. It is + (package + (name "icecream-cpp") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/renatoGarcia/icecream-cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pl3qibxa9m7qkfpxszablwyhlnn9qz0cgms8kr2wwvxdzipr1p0")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=17"))) + (native-inputs (list boost catch2)) + (home-page "https://github.com/renatoGarcia/icecream-cpp") + (synopsis "C++ library for @code{printf} debugging") + (description + "IceCream-Cpp is a C++ library for @code{printf} debugging. It is inspired by the @url{https://github.com/gruns/icecream, Python library} of the same name.") - (license license:expat)))) + (license license:expat))) (define-public google-highway (package @@ -927,7 +926,6 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.") "0q7bpywn8ljsj3dymvv19cm7n0r51vg5hj1jsapdl5bwpwf7bf41")))) (build-system cmake-build-system) (native-inputs (list gcc-15 pkg-config)) - (arguments (list #:cmake cmake-next)) (inputs (list cairo hyprutils libjpeg-turbo @@ -1370,6 +1368,7 @@ a cooperatively interruptible thread that is joined upon destruction.") (sha256 (base32 "090i2qg88iknldxd6v2mh3jfvkdkwc5m38czhrbm58r3y835fy0y")))) (build-system cmake-build-system) + (arguments (list #:tests? #f)) (home-page "https://github.com/ToruNiina/toml11") (synopsis "TOML for modern C++") (description @@ -1443,8 +1442,7 @@ for C++17.") (build-system cmake-build-system) (arguments (list - #:configure-flags #~(list "-DBUILD_TESTS=ON") - #:test-target "xtest")) + #:configure-flags #~(list "-DBUILD_TESTS=ON"))) (native-inputs (list doctest googletest @@ -1646,7 +1644,8 @@ tools: (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(#:parallel-tests? #f + #:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DHTTPLIB_TEST=ON" "-DHTTPLIB_COMPILE=ON" @@ -1965,7 +1964,8 @@ hierarchies and multiple types of execution resources.") (base32 "05g4dp1359rsx0y2wrg2yv4zx3aq5anxr8jgb2c5f1ay3nq3639s")))) (build-system cmake-build-system) (arguments - (list #:configure-flags + (list #:tests? #f + #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"))) (inputs (list kokkos @@ -2593,10 +2593,17 @@ provides a number of utilities to make coding with expected cleaner.") (sha256 (base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx")))) (build-system cmake-build-system) - (arguments (list #:test-target "check" - ;; -Werror appears to report false positives. - ;; See <https://github.com/arximboldi/immer/issues/223>. - #:configure-flags #~(list "-DDISABLE_WERROR=ON"))) + (arguments + (list + ;; -Werror appears to report false positives. + ;; See <https://github.com/arximboldi/immer/issues/223>. + #:configure-flags #~'("-DDISABLE_WERROR=ON") + #:modules `((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (replace 'check (assoc-ref gnu:%standard-phases 'check))))) (inputs (list boost libgc c-rrb)) (native-inputs (list catch2-3 doctest fmt pkg-config)) (home-page "https://sinusoid.es/immer") @@ -2621,7 +2628,14 @@ written in C++.") (modules '((guix build utils))) (snippet #~(delete-file-recursively "tools")))) (build-system cmake-build-system) - (arguments (list #:test-target "check")) + (arguments + (list + #:modules `((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (replace 'check (assoc-ref gnu:%standard-phases 'check))))) (native-inputs (list boost catch2)) (home-page "https://sinusoid.es/zug") (synopsis "Higher-order sequence transformers") @@ -2642,13 +2656,16 @@ composable sequential transformations.") (sha256 (base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4")))) (build-system cmake-build-system) - (arguments (list #:test-target "check" - #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no") + (arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no") + #:modules `((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'delete-failing-tests (lambda _ - (delete-file-recursively "test/event_loop")))))) + (delete-file-recursively "test/event_loop"))) + (replace 'check (assoc-ref gnu:%standard-phases 'check))))) (inputs (list boost immer zug)) (native-inputs (list catch2 cereal)) (home-page "https://sinusoid.es/lager") @@ -3228,95 +3245,87 @@ validation.") "038i9nmk85vpxvs546w6cyci0ppdrrp5wnlv1kffxw29x71a3g5l")))))) (define-public bloomberg-bde-tools - (let ((commit "23217675939d434537ef74b91f71b63054e36572")) - (package - (name "bloomberg-bde-tools") - ;; Recent releases are not tagged so commit must be used for checkout. - (version "4.13.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bloomberg/bde-tools") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1x440fa8fghigipn6w8zdr60kkvxrkxs2n9a5hf3y33b8aygh8iv")) - (patches - (search-patches - "bloomberg-bde-tools-fix-install-path.patch")))) - (build-system copy-build-system) - ;; Unable to be an inline dependency of bloomberg-bde due to patch. - (properties '((hidden? . #t))) - (synopsis "Tools for developing and building libraries modeled on BDE") - (description - "This package provides the cmake imports needed to build bloomberg-bde.") - (home-page "https://github.com/bloomberg/bde-tools") - (license license:asl2.0)))) + (package + (name "bloomberg-bde-tools") + (version "4.27.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bloomberg/bde-tools") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zkf6vdvzp73h6bai6kmd062k0wyqwrrdv2z9m416kgxr6qickl2")) + (patches + (search-patches + "bloomberg-bde-tools-fix-install-path.patch")))) + (build-system copy-build-system) + ;; Unable to be an inline dependency of bloomberg-bde due to patch. + (properties '((hidden? . #t))) + (synopsis "Tools for developing and building libraries modeled on BDE") + (description + "This package provides the cmake imports needed to build bloomberg-bde.") + (home-page "https://github.com/bloomberg/bde-tools") + (license license:asl2.0))) (define-public bloomberg-bde - (let ((commit "445a8ac4223b90ee0a46749b87ffbbd21788e132")) (package - (name "bloomberg-bde") - ;; Recent releases are not tagged so commit must be used for checkout. - (version "4.14.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bloomberg/bde") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hf09d4fcn77s1vv6qrh0sa0rv9wijpk55km6p3zi2ymkb2cha3c")) - (patches - (search-patches - "bloomberg-bde-cmake-module-path.patch")) - ;;(modules '((guix build utils))) - (snippet - `(begin - ;; FIXME: Delete bundled software. The third-party packages - ;; may be patched or modified from upstream sources. - ;;(for-each delete-file-recursively - ;; (list "thirdparty")) - ;; Delete failing tests. - (for-each - delete-file - (list "groups/bal/balcl/balcl_commandline.t.cpp" - "groups/bal/balst/balst_resolver_filehelper.t.cpp" - "groups/bal/balst/balst_stacktraceprintutil.t.cpp" - "groups/bal/balst/balst_stacktraceutil.t.cpp" - "groups/bsl/bslh/bslh_hash.t.cpp" - "groups/bsl/bsls/bsls_timeutil.t.cpp")) - #t)))) - (build-system cmake-build-system) - (arguments - `(#:parallel-tests? #f ; Test parallelism may fail inconsistently. - ;; Set UFID to build shared libraries. Flag descriptions can be found at - ;; https://bloomberg.github.io/bde-tools/bbs/reference/bbs_build_configuration.html#ufid - #:configure-flags '("-DUFID=opt_dbg_exc_mt_64_shr_cpp20") - #:phases - (modify-phases %standard-phases - ;; Explicitly build tests separate from the main build. - (add-after 'build 'build-tests - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "all.t" - `(,@(if #:parallel-build? - `("-j" ,(number->string (parallel-job-count))) - '()) - ,@make-flags))))))) - (native-inputs - (list bloomberg-bde-tools pkg-config python)) - (synopsis "Foundational C++ libraries used at Bloomberg") - (description - "The BDE Development Environment libraries provide an enhanced + (name "bloomberg-bde") + (version "4.27.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bloomberg/bde") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17315r9j20pvv4ccnd59m85miq96hp07pysfr64glb7r4f4zjkfs")) + ;;(modules '((guix build utils))) + (snippet + `(begin + ;; FIXME: Delete bundled software. The third-party packages + ;; may be patched or modified from upstream sources. + ;;(for-each delete-file-recursively + ;; (list "thirdparty")) + )))) + (build-system cmake-build-system) + (arguments + (list + ;; Set UFID to build shared libraries. Flag descriptions can be found at + ;; https://bloomberg.github.io/bde-tools/bbs/reference/bbs_build_configuration.html#ufid + #:configure-flags #~(list "-DUFID=opt_dbg_exc_mt_64_shr_cpp20") + #:test-exclude (string-join (list "balcl_commandline.t" + "balst_stacktraceprintutil.t" + "bslalg_numericformatterutil.t" + "bslh_hash.t" + "bslstl_deque.0[1345].t" + "bslstl_queue.t" + "bslstl_stack.t") + "|") + #:modules '((guix build cmake-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + ;; Explicitly build tests after the main build. + (add-after 'build 'build-tests + (lambda* (#:key make-flags #:allow-other-keys #:rest args) + (apply (assoc-ref gnu:%standard-phases 'build) + (list #:make-flags (list "all.t")))))))) + (native-inputs + (list bloomberg-bde-tools pkg-config python)) + (synopsis "Foundational C++ libraries used at Bloomberg") + (description + "The BDE Development Environment libraries provide an enhanced implementation of STL containers, vocabulary types for representing common concepts (like dates and times), and building blocks for developing multi-threaded applications and network applications.") - (home-page "https://github.com/bloomberg/bde") - ;; Out-of-memory on i686-linux, compile errors with non-x86. - (supported-systems '("x86_64-linux")) - (license license:asl2.0)))) + (home-page "https://github.com/bloomberg/bde") + ;; Out-of-memory on i686-linux, compile errors with non-x86. + (supported-systems '("x86_64-linux")) + (license license:asl2.0))) (define-public gulrak-filesystem (package @@ -3562,6 +3571,11 @@ different floating point sizes and complex transformations.") (string-append #$(this-package-native-input "unittest-cpp") "/lib") "', LIBS=['UnitTest++'])"))))) + (add-after 'unpack 'fix-example + (lambda _ + (substitute* "example/main.cpp" + (("fclose\\(file\\);") + "if (file != nullptr) {fclose(file); file = nullptr;}")))) (replace 'build (lambda* (#:key tests? #:allow-other-keys #:rest args) (when tests? @@ -4026,7 +4040,8 @@ based on the implementation of std::variant in libc++.") (base32 "15l0jy3v4p6rgg9dk8zr80lqp51s32ii62cm4s90400ragdgh10v")))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + '(#:tests? #f + #:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (native-inputs (list pkg-config)) (inputs (list gtk+)) (home-page "https://github.com/btzy/nativefiledialog-extended") @@ -4538,3 +4553,26 @@ written in C99.") (properties `((tunable? . #t))) (home-page "https://github.com/aklomp/base64") (license license:bsd-2))) + +(define-public zpp-serializer + (package + (name "zpp-serializer") + (version "0.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eyalz800/serializer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cmk3xx9885zgg3g96ka6cdaibi10fbpf1bi7q8lqsli6z07x4zj")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan #~'(("serializer.h" "include/zpp/")))) + (home-page "https://github.com/eyalz800/serializer") + (synopsis "Single header standard C++ serialization framework") + (description "This package provides a single-header C++14 library for +saving and loading C++ objects using a binary format.") + (license license:expat))) |