From c2cac2e985251710061a877498fbd7186469c51d Mon Sep 17 00:00:00 2001 From: Lu Hui Date: Sun, 30 Apr 2023 22:18:24 +0800 Subject: gnu: ftxui: Update to 4.0.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (ftxui): Update to 4.0.0. Signed-off-by: 宋文武 --- gnu/packages/cpp.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 023d1c0337..1a892d7b78 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2433,7 +2433,7 @@ queues, resource pools, strings, etc. (define-public ftxui (package (name "ftxui") - (version "3.0.0") + (version "4.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -2441,7 +2441,7 @@ queues, resource pools, strings, etc. (commit (string-append "v" version)))) (sha256 (base32 - "10a4yw2h29kixxyhll6cvrwyscsvz9asxry857a9l8nqvbhs946s")) + "01h59ln8amsj6ymxmsxhmslld2yp003n82fg3mphgkrh6lf22h6y")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs (list googletest)) @@ -2459,9 +2459,8 @@ queues, resource pools, strings, etc. ;; Disable benchmarks for a while as they require bundled Google ;; benchmark and when the 'googlebenchmark' is unbundled, there's ;; a CMake configuration error. - (substitute* "cmake/ftxui_benchmark.cmake" - (("NOT WIN32") - "FALSE")))) ))) + ;; TODO: fetch googlebenchmark then renable test + (truncate-file "cmake/ftxui_benchmark.cmake" 0)))))) (home-page "https://github.com/ArthurSonzogni/FTXUI") (synopsis "C++ Functional Terminal User Interface") (description -- cgit 1.4.1 From cc47c5277d4aacb7f7cc8538b8c9af5ff3e1a1f9 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Mon, 8 May 2023 10:11:10 +0300 Subject: gnu: ftxui: Build ftxui-benchmark. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (ftxui)[native-inputs]: Add benchmark. [arguments]: Remove #:phases. Signed-off-by: 宋文武 --- gnu/packages/cpp.scm | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1a892d7b78..242ea088bb 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -67,6 +67,7 @@ #:use-module (gnu packages) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) + #:use-module (gnu packages benchmark) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages c) @@ -2444,23 +2445,11 @@ queues, resource pools, strings, etc. "01h59ln8amsj6ymxmsxhmslld2yp003n82fg3mphgkrh6lf22h6y")) (file-name (git-file-name name version)))) (build-system cmake-build-system) - (native-inputs (list googletest)) + (native-inputs (list googletest benchmark)) (arguments (list #:configure-flags #~(list "-DFTXUI_BUILD_TESTS:BOOL=ON" - "-DFTXUI_BUILD_TESTS_FUZZER:BOOL=OFF") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-cmake-tests - (lambda _ - (substitute* "cmake/ftxui_test.cmake" - (("NOT googletest_POPULATED") - "FALSE")) - ;; Disable benchmarks for a while as they require bundled Google - ;; benchmark and when the 'googlebenchmark' is unbundled, there's - ;; a CMake configuration error. - ;; TODO: fetch googlebenchmark then renable test - (truncate-file "cmake/ftxui_benchmark.cmake" 0)))))) + "-DFTXUI_BUILD_TESTS_FUZZER:BOOL=OFF"))) (home-page "https://github.com/ArthurSonzogni/FTXUI") (synopsis "C++ Functional Terminal User Interface") (description -- cgit 1.4.1 From 58e84ec9afd11b21fae1a87e149902f965326239 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 27 Apr 2023 20:57:58 +0200 Subject: gnu: Rename json-modern-cxx to nlohmann-json. * gnu/packages/cpp.scm (nlohmann-json): New variable. (json-modern-cxx): Mark as deprecated alias. (xtl, jsonnet)[inputs]: Use nlohmann-json. * gnu/packages/build-tools.scm (bear)[inputs]: Likewise. * gnu/packages/cybersecurity.scm (blacksmith)[inputs]: Likewise. * gnu/packages/databases.scm (sqlitebrowser)[inputs]: Adjust comment. * gnu/packages/games.scm (openrct2)[inputs]: Use nlohmann-json. * gnu/packages/graphics.scm (f3d)[native-inputs]: Likewise. * gnu/packages/hardware.scm (openrgb)[inputs]: Likewise. [arguments]: Adjust accordingly. * gnu/packages/image-processing.scm (paraview)[inputs]: Adjust comment. * gnu/packages/irods.scm (irods, irods-client-icommands)[inputs]: Use nlohmann-json. * gnu/packages/jupyter.scm (xeus)[inputs]: Likewise. * gnu/packages/messaging.scm (mtxclient, nheko)[inputs]: Likewise. * gnu/packages/text-editors.scm (jucipp)[inputs]: Likewise. * gnu/packages/video.scm (mktoolnix)[inputs]: Likewise. * gnu/packages/xdisorg.scm (nwg-launchers)[inputs]: Likewise. --- gnu/packages/build-tools.scm | 2 +- gnu/packages/cpp.scm | 13 ++++++++----- gnu/packages/cybersecurity.scm | 2 +- gnu/packages/databases.scm | 2 +- gnu/packages/games.scm | 2 +- gnu/packages/graphics.scm | 2 +- gnu/packages/hardware.scm | 4 ++-- gnu/packages/image-processing.scm | 2 +- gnu/packages/irods.scm | 4 ++-- gnu/packages/jupyter.scm | 2 +- gnu/packages/messaging.scm | 4 ++-- gnu/packages/text-editors.scm | 2 +- gnu/packages/video.scm | 2 +- gnu/packages/xdisorg.scm | 2 +- 14 files changed, 24 insertions(+), 21 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 33d91e6043..95de386ba7 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -148,7 +148,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") `(("c-ares" ,c-ares) ("fmt" ,fmt-8) ("grpc" ,grpc) - ("json-modern-cxx" ,json-modern-cxx) + ("nlohmann-json" ,nlohmann-json) ("protobuf" ,protobuf) ("python" ,python-wrapper) ("re2" ,re2) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 242ea088bb..02dbcd226a 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -596,9 +596,9 @@ converting data between JSON representation and C++ structs. DTO stands for data transfer object.") (license license:bsd-3))) -(define-public json-modern-cxx +(define-public nlohmann-json (package - (name "json-modern-cxx") + (name "nlohmann-json") (version "3.10.5") (home-page "https://github.com/nlohmann/json") (source @@ -662,10 +662,13 @@ data transfer object.") (inputs (list doctest fifo-map)) (synopsis "JSON parser and printer library for C++") - (description "JSON for Modern C++ is a C++ JSON library that provides + (description "@code{nlohmann::json} is a C++ JSON library that provides intuitive syntax and trivial integration.") (license license:expat))) +(define-public json-modern-cxx + (deprecated-package "json-modern-cxx" nlohmann-json)) + (define-public xtl (package (name "xtl") @@ -681,7 +684,7 @@ intuitive syntax and trivial integration.") "134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46")) (file-name (git-file-name name version)))) (native-inputs - (list doctest googletest json-modern-cxx)) + (list doctest googletest nlohmann-json)) (arguments '(#:configure-flags '("-DBUILD_TESTS=ON") @@ -1860,7 +1863,7 @@ of reading and writing XML.") (native-inputs (list googletest pkg-config)) (inputs - (list json-modern-cxx)) + (list nlohmann-json)) (home-page "https://jsonnet.org/") (synopsis "Data templating language") (description "Jsonnet is a templating language extending JSON diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index 7bca251d06..cb03cbd5aa 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -89,7 +89,7 @@ (native-inputs (list pkg-config)) (inputs - (list argagg asmjit json-modern-cxx)) + (list argagg asmjit nlohmann-json)) (home-page "https://comsec.ethz.ch/research/dram/blacksmith") (synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns") (description diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 56b971206a..496aab918a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -5013,7 +5013,7 @@ a Gtk.Grid Widget.") (build-system qt-build-system) (arguments (list #:configure-flags - ;; TODO: Unbundle json (json-modern-cxx). + ;; TODO: Unbundle json (nlohmann-json). #~(list (string-append "-DQSCINTILLA_INCLUDE_DIR=" #$(this-package-input "qscintilla") "/include/Qsci") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index bae79ee48b..d1e2248588 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4893,7 +4893,7 @@ Transport Tycoon Deluxe.") ("freetype" ,freetype) ("icu4c" ,icu4c) ("jansson" ,jansson) - ("json-modern-cxx" ,json-modern-cxx) + ("nlohmann-json" ,nlohmann-json) ("libpng" ,libpng) ("libzip" ,libzip) ("mesa" ,mesa) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 261fcf9547..0951770b12 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -2535,7 +2535,7 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement; (native-inputs (list cxxopts help2man - json-modern-cxx)) + nlohmann-json)) (inputs (list alembic assimp diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 5b85ad9b2e..c23299d1db 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1059,7 +1059,7 @@ technology, such as head mounted displays with built in head tracking.") (string-append #$(this-package-input "hueplusplus") "/include/hueplusplus")) (("dependencies/json") - (string-append #$(this-package-input "json-modern-cxx") + (string-append #$(this-package-input "nlohmann-json") "/include/nlohmann"))))) ;; Call qmake instead of configure to create a Makefile. (replace 'configure @@ -1067,7 +1067,7 @@ technology, such as head mounted displays with built in head tracking.") (inputs (list hidapi hueplusplus - json-modern-cxx + nlohmann-json libusb mbedtls-apache qtbase-5)) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index cc0d5789b3..0aaac00870 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -1213,7 +1213,7 @@ in 3D or programmatically using ParaView’s batch processing capabilities.") glew gmsh hdf5 - ;;json-modern-cxx ;For ParFlow; build fails + ;;nlohmann-json ;For ParFlow; build fails jsoncpp libjpeg-turbo libogg diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm index 5c9b66000c..a14ac87aa2 100644 --- a/gnu/packages/irods.scm +++ b/gnu/packages/irods.scm @@ -143,7 +143,7 @@ ("boost" ,boost-for-irods) ("cppzmq" ,cppzmq) ("fmt" ,fmt-6) - ("json" ,json-modern-cxx) + ("json" ,nlohmann-json) ("libarchive" ,libarchive) ("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi ("linux-pam" ,linux-pam) @@ -247,7 +247,7 @@ stored.") ("cppzmq" ,cppzmq) ("fmt" ,fmt-6) ("irods" ,irods) - ("json" ,json-modern-cxx) + ("json" ,nlohmann-json) ("libarchive" ,libarchive) ("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi ("mit-krb5" ,mit-krb5) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index d0fcc82076..9337197cb2 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -196,7 +196,7 @@ Messaging Protocol}.") python-jupyter-client)) (inputs (list xtl - json-modern-cxx + nlohmann-json cppzmq zeromq openssl diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 2fa1c45f98..8441e41351 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -2325,7 +2325,7 @@ QMatrixClient project.") (list boost coeurl curl - json-modern-cxx + nlohmann-json libevent libsodium olm @@ -2408,7 +2408,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") gst-plugins-base gst-plugins-bad ; sdp & webrtc for voip gst-plugins-good-qt ; rtpmanager for voip - json-modern-cxx + nlohmann-json libevent libnice ; for voip olm diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 8714940d1c..b23c5ba2be 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -393,7 +393,7 @@ bindings and many of the powerful features of GNU Emacs.") clang-11 ;XXX: must be the same version as Mesas LLVM gtkmm-3 gtksourceviewmm - json-modern-cxx + nlohmann-json libgit2 universal-ctags)) (synopsis "Lightweight C++ IDE") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0abc153c60..4769b89a59 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1028,7 +1028,7 @@ H.264 (MPEG-4 AVC) video streams.") ("gettext" ,gettext-minimal) ("googletest" ,googletest) ("libxslt" ,libxslt) - ("json-modern-cxx" ,json-modern-cxx) + ("nlohmann-json" ,nlohmann-json) ("perl" ,perl) ("pkg-config" ,pkg-config) ("po4a" ,po4a) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index bee9711a74..3d66ddc862 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -3149,7 +3149,7 @@ such as sway, similar to @command{rofi}.") (base32 "0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv")))) (build-system meson-build-system) - (native-inputs (list json-modern-cxx pkg-config)) + (native-inputs (list nlohmann-json pkg-config)) (inputs (list gtk-layer-shell gtkmm-3 librsvg)) (home-page "https://github.com/nwg-piotr/nwg-launchers") (synopsis "Application launchers for wlroots") -- cgit 1.4.1 From 4a3f94640841285aa43ca1a00e540069f7148a63 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 28 Apr 2023 21:50:32 +0200 Subject: gnu: nlohmann-json: Update to 3.11.2. * gnu/packages/cpp.scm (nlohmann-json): Update to 3.11.2. [source]: Adjust accordingly. [native-inputs]: Update to 3.1.0. --- gnu/packages/cpp.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 02dbcd226a..886199af5e 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -599,7 +599,7 @@ data transfer object.") (define-public nlohmann-json (package (name "nlohmann-json") - (version "3.10.5") + (version "3.11.2") (home-page "https://github.com/nlohmann/json") (source (origin @@ -607,23 +607,22 @@ data transfer object.") (uri (git-reference (url home-page) (commit (string-append "v" version)))) (sha256 - (base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd")) + (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled software. Preserve doctest_compatibility.h, which ;; is a wrapper library added by this package. - (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp") - (for-each delete-file-recursively - '("./third_party" "./test/thirdparty")) - (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest") + (install-file "./tests/thirdparty/doctest/doctest_compatibility.h" "/tmp") + (delete-file-recursively "./tests/thirdparty") + (install-file "/tmp/doctest_compatibility.h" "./tests/thirdparty/doctest") ;; Adjust for the unbundled fifo_map and doctest. - (substitute* "./test/thirdparty/doctest/doctest_compatibility.h" - (("#include \"doctest\\.h\"") - "#include ")) - (with-directory-excursion "test/src" + (substitute* (find-files "./tests/" "\\.h(pp)?") + (("#include \"doctest\\.h\"") "#include ") + (("#include ") "#include ")) + (with-directory-excursion "tests/src" (let ((files (find-files "." "\\.cpp$"))) (substitute* files (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp) @@ -649,7 +648,7 @@ data transfer object.") (format #t "test suite not run~%"))))))) (native-inputs (list amalgamate - (let ((version "3.0.0")) + (let ((version "3.1.0")) (origin (method git-fetch) (uri (git-reference @@ -658,7 +657,7 @@ data transfer object.") (file-name (git-file-name "json_test_data" version)) (sha256 (base32 - "0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv")))))) + "0nbirc428qx0lpi940p7y24fzdjbwl6xig3h5rdbihyymmdzhvbc")))))) (inputs (list doctest fifo-map)) (synopsis "JSON parser and printer library for C++") -- cgit 1.4.1 From f8d06e2c32abc86832925929794448690784348c Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Fri, 28 Apr 2023 21:55:13 +0200 Subject: gnu: nlohmann-json: Improve package style. * gnu/package/cpp.scm (nlohmann-json)[source]: Fit to 80 chars width. Use G-Expressions. [arguments]: Use G-Expressions. --- gnu/packages/cpp.scm | 70 +++++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 33 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 886199af5e..27fa9048ab 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -611,41 +611,45 @@ data transfer object.") (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet - '(begin - ;; Delete bundled software. Preserve doctest_compatibility.h, which - ;; is a wrapper library added by this package. - (install-file "./tests/thirdparty/doctest/doctest_compatibility.h" "/tmp") - (delete-file-recursively "./tests/thirdparty") - (install-file "/tmp/doctest_compatibility.h" "./tests/thirdparty/doctest") - - ;; Adjust for the unbundled fifo_map and doctest. - (substitute* (find-files "./tests/" "\\.h(pp)?") - (("#include \"doctest\\.h\"") "#include ") - (("#include ") "#include ")) - (with-directory-excursion "tests/src" - (let ((files (find-files "." "\\.cpp$"))) - (substitute* files - (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp) - (string-append - "#include "))))))))) + #~(begin + ;; Delete bundled software. Preserve doctest_compatibility.h, which + ;; is a wrapper library added by this package. + (install-file "./tests/thirdparty/doctest/doctest_compatibility.h" + "/tmp") + (delete-file-recursively "./tests/thirdparty") + (install-file "/tmp/doctest_compatibility.h" + "./tests/thirdparty/doctest") + + ;; Adjust for the unbundled fifo_map and doctest. + (substitute* (find-files "./tests/" "\\.h(pp)?") + (("#include \"doctest\\.h\"") "#include ") + (("#include ") "#include ")) + (with-directory-excursion "tests/src" + (let ((files (find-files "." "\\.cpp$"))) + (substitute* files + (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp) + (string-append + "#include "))))))))) (build-system cmake-build-system) (arguments - '(#:configure-flags - (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp. - (string-append "-DJSON_TestDataDirectory=" - (dirname - (search-input-directory %build-inputs - "json_nlohmann_tests")))) - #:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? parallel-tests? #:allow-other-keys) - (if tests? - ;; Some tests need git and a full checkout, skip those. - (invoke "ctest" "-LE" "git_required" - "-j" (if parallel-tests? - (number->string (parallel-job-count)) - "1")) - (format #t "test suite not run~%"))))))) + (list + #:configure-flags + #~(list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp. + (string-append "-DJSON_TestDataDirectory=" + (dirname + (search-input-directory %build-inputs + "json_nlohmann_tests")))) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (if tests? + ;; Some tests need git and a full checkout, skip those. + (invoke "ctest" "-LE" "git_required" + "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1")) + (format #t "test suite not run~%"))))))) (native-inputs (list amalgamate (let ((version "3.1.0")) -- cgit 1.4.1 From 8d6f66d621dba799213b42e7c4c7068f2b1c8a5e Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 6 May 2023 15:41:55 +0200 Subject: gnu: Add immer. * gnu/packages/cpp.scm (immer): New variable. --- gnu/packages/cpp.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 27fa9048ab..1fced95023 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Sughosha ;;; Copyright © 2023 Artyom V. Poptsov +;;; Copyright © 2023 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) + #:use-module (gnu packages bdw-gc) #:use-module (gnu packages benchmark) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) @@ -1397,6 +1399,38 @@ provides a number of utilities to make coding with expected cleaner.") (home-page "https://tl.tartanllama.xyz/") (license license:cc0))) +(define-public immer + (package + (name "immer") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arximboldi/immer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27")) + (modules '((guix build utils))) + (snippet #~(begin + (delete-file "tools/include/doctest.h") + (delete-file "tools/include/catch.hpp") + (substitute* (find-files "test" "\\.[cih]pp") + (("") "") + (("") "")) + (substitute* (find-files "test/oss-fuzz" "\\.cpp") + ;; someone used the wrong header :) + (("") "")))))) + (build-system cmake-build-system) + (arguments (list #:test-target "check")) + (inputs (list boost libgc c-rrb)) + (native-inputs (list catch2 doctest fmt pkg-config)) + (home-page "https://sinusoid.es/immer") + (synopsis "Immutable data structures") + (description "Immer is a library of persistent and immutable data structures +written in C++.") + (license license:boost1.0))) + (define-public atomic-queue (package (name "atomic-queue") -- cgit 1.4.1 From 882f55ff738438f6ab8e079534dcb654034f94db Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 6 May 2023 15:43:04 +0200 Subject: gnu: Add zug. * gnu/packages/cpp.scm (zug): New variable. --- gnu/packages/cpp.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1fced95023..5707ccdc51 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1431,6 +1431,31 @@ provides a number of utilities to make coding with expected cleaner.") written in C++.") (license license:boost1.0))) +(define-public zug + (let ((commit "d7e814b45fceceee3cb1442997d8b46cee4764ec") + (revision "0")) + (package + (name "zug") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arximboldi/zug") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ww4prh763n81kzzijak8z495varlvqml4ip7i09klqnw6ya72fc")) + (modules '((guix build utils))) + (snippet #~(delete-file-recursively "tools")))) + (build-system cmake-build-system) + (arguments (list #:test-target "check")) + (native-inputs (list boost catch2)) + (home-page "https://sinusoid.es/zug") + (synopsis "Higher-order sequence transformers") + (description "Zug is a C++ library providing transducers, that is, +composable sequential transformations.") + (license license:boost1.0)))) + (define-public atomic-queue (package (name "atomic-queue") -- cgit 1.4.1 From 006bf1ba97b2e941482e72f6997f042abe52c6fe Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 6 May 2023 15:43:27 +0200 Subject: gnu: Add lager. * gnu/packages/cpp.scm (lager): New variable. --- gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 5707ccdc51..e79b48a9b9 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -103,6 +103,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:autoload (gnu packages serialization) (cereal) #:use-module (ice-9 match)) (define-public argagg @@ -1456,6 +1457,37 @@ written in C++.") composable sequential transformations.") (license license:boost1.0)))) +(define-public lager + (let ((commit "2016df38be90ee176bcb73ea414be2318bc1ef31") + (revision "0")) + (package + (name "lager") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arximboldi/lager") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b7zxwqrbm7db7wxqbsrk7jjd3znvvi1cwj7jg6zkmf0199071a5")))) + (build-system cmake-build-system) + (arguments (list #:test-target "check" + #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-failing-tests + (lambda _ + (delete-file-recursively "test/event_loop")))))) + (inputs (list boost immer zug)) + (native-inputs (list cereal)) + (home-page "https://sinusoid.es/lager") + (synopsis "Library for value-oriented design") + (description "Lager is a library for value-oriented design implementing +the unidirectional data-flow architecture. Apart from a store and various +event loops it also provides lenses and cursors.") + (license license:expat)))) + (define-public atomic-queue (package (name "atomic-queue") -- cgit 1.4.1 From 28bfc5cd081458313fa8601133386209b23deb12 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 14 May 2023 12:26:52 +0200 Subject: gnu: cpp: Mention that autoload prevents module cycles. * gnu/packages/cpp.scm: Add a comment on the #:autoload to explain that serialization depends on cpp. --- gnu/packages/cpp.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index e79b48a9b9..237e232078 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -103,6 +103,8 @@ #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + ;; Using autoload to avoid a cycle. + ;; Note that (gnu packages serialization) has #:use-module (gnu packages cpp) #:autoload (gnu packages serialization) (cereal) #:use-module (ice-9 match)) -- cgit 1.4.1 From 4dc6fa08bee64b0bfc5fecef52c99ea944b1bcb6 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 11 May 2023 19:41:35 +0000 Subject: gnu: cxxopts: Update to 3.1.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (cxxopts): Update to 3.1.1. Signed-off-by: Ludovic Courtès --- gnu/packages/cpp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 237e232078..34ae9ef70e 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1200,7 +1200,7 @@ algorithm called SAscan.") (define-public cxxopts (package (name "cxxopts") - (version "3.0.0") + (version "3.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -1209,7 +1209,7 @@ algorithm called SAscan.") (file-name (git-file-name name version)) (sha256 (base32 - "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6")))) + "0d37qpsaq8ik7pl4vk8346vqcqyfzfbnpq8mhsa2gb2zf1lwr4wl")))) (build-system cmake-build-system) (synopsis "Lightweight C++ command line option parser") (description -- cgit 1.4.1