6@@ -40,7 +40,8 @@
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2024 dan <i@dan.games>
-;;;
+;;; Copyright © 2024 Peepo Froggings <peepofroggings@tutanota.de>
+
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
@@ -74,6 +75,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages boost)
@@ -158,8 +160,8 @@ easy to use API.")
(license license:expat))))
(define-public asmjit
- (let ((commit "4ec760a3d1f69e32ba460ecd2513f29b8428700b")
- (revision "0"))
+ (let ((commit "3ca5c186bf8922e5fe3018432e93651fd2fa4053")
+ (revision "1"))
(package
(name "asmjit")
(version (git-version "0.0.0" revision commit))
@@ -172,7 +174,7 @@ easy to use API.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0skgccbpamcbg1byawfq5n6jzxgj64hnc7jznvk35nkskaaz1nlb"))))
+ (base32 "10k1zc0w8m0vnh52id9qlm1sb99qmpvr6k0ha8ag2h223n0d591g"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DASMJIT_TEST=TRUE")))
@@ -188,36 +190,69 @@ allocator that makes it easy to generate complex code without a significant
development effort.")
(license license:zlib))))
-(define-public castxml
+(define-public biblesync
(package
- (name "castxml")
- (version "0.6.4")
+ (name "biblesync")
+ (version "2.1.0")
(source (origin
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/CastXML/CastXML")
- (commit (string-append "v" version))))
+ (url "https://github.com/karlkleinpaste/biblesync")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0l5ys9zmllfgwhjrm897akbsf38iswfcarhxg27xfhiy0bmzcwsg"))))
+ (base32
+ "0prmd12jq2cjdhsph5v89y38j7hhd51dr3r1hivgkhczr3m5hf4s"))))
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f ;FIXME: Not sure how to run tests, if any
#:configure-flags
- #~(list
- (string-append "-DCLANG_RESOURCE_DIR="
- #$(this-package-native-input "clang") "/lib/clang/"
- #$(version-major
- (package-version (this-package-native-input "clang")))))))
- (inputs (list libffi))
- (native-inputs (list clang-17 llvm-17))
- (home-page "https://github.com/CastXML/CastXML")
- (synopsis "C-family abstract syntax tree XML output")
- (description "CastXML is a C-family abstract syntax tree XML output tool.
+ #~(list (string-append "-DBUILD_SHARED_LIBS=TRUE"))))
+ (inputs (list `(,util-linux "lib")))
+ (synopsis "C++ library implementing the BibleSync protocol")
+ (description
+ "BibleSync is a multicast protocol to support Bible software shared
+co-navigation. The premise is that there is a local network over which to
+multicast Bible navigation, and someone, possibly several someones, will
+transmit, and others will receive. The library implementing the protocol is
+a single C++ class providing a complete yet minimal public interface to
+support mode setting, setup for packet reception, transmit on local
+navigation, and handling of incoming packets.")
+ (home-page "https://github.com/karlkleinpaste/biblesync")
+ (license license:public-domain)))
+
+(define-public castxml
+(package
+ (name "castxml")
+ (version "0.6.4")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/CastXML/CastXML")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l5ys9zmllfgwhjrm897akbsf38iswfcarhxg27xfhiy0bmzcwsg"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list
+ (string-append "-DCLANG_RESOURCE_DIR="
+ #$(this-package-native-input "clang") "/lib/clang/"
+ #$(version-major
+ (package-version (this-package-native-input "clang")))))))
+ (inputs (list libffi))
+ (native-inputs (list clang-17 llvm-17))
+ (home-page "https://github.com/CastXML/CastXML")
+ (synopsis "C-family abstract syntax tree XML output")
+ (description "CastXML is a C-family abstract syntax tree XML output tool.
This project is maintained by Kitware in support of ITK, the Insight
Segmentation and Registration Toolkit.")
- (license license:asl2.0)))
+ (license license:asl2.0)))
(define-public range-v3
(package
@@ -314,23 +349,21 @@ use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
(name "c2ffi")
;; As per the c2ffi README: the first three elements are encoding the
;; required Clang/LLVM version, and the last one is the c2ffi revision.
- (version "16.0.0.0")
+ (version "18.1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rpav/c2ffi")
- ;; Upstream is not tagging releases consistently.
- ;; (commit (string-append "v" version))
- (commit "097cbe61ca02dc79ea60859aa056975131a9d985")))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mqhw4838chl495gaj9z0731ahkmqb4f3wlc1qalk82fdsaniyd5"))
+ (base32 "03hw650wjrc4jb4ra8bwc4rnprr0fpnf3wlxzacfjysvl25jb0j6"))
(modules '((guix build utils)))
(snippet
'(substitute* "CMakeLists.txt"
;; Guix seems to be packaging LLVM libs separately thus -lLLVM
- ;; won't work, every used library must be specified explicitly.
+ ;; won't work. Instead every library used must be listed.
(("c2ffi PUBLIC clang-cpp LLVM")
"c2ffi PUBLIC clang-cpp LLVMCore LLVMSupport LLVMMCParser \
LLVMOption LLVMBitReader LLVMProfileData")))))
@@ -346,9 +379,9 @@ LLVMOption LLVMBitReader LLVMProfileData")))))
(when tests?
(invoke "./bin/c2ffi" "--help")))))))
(native-inputs
- (list clang-16)) ; CMakeLists.txt invokes `clang -print-resource-dir`
+ (list clang-18)) ; CMakeLists.txt invokes `clang -print-resource-dir`
(inputs
- (list clang-16)) ; Compiled with gcc, but links against libclang-cpp.so
+ (list clang-18)) ; Compiled with gcc, but links against libclang-cpp.so
(home-page "https://github.com/rpav/c2ffi")
(synopsis "Clang-based FFI wrapper generator")
(description
@@ -882,11 +915,12 @@ intuitive syntax and trivial integration.")
(lambda _
(substitute* "tests/meson.build"
(("foreach locale : test_locales" all)
- (format #f "test_locales = ['C', ~{'~a.utf8', ~}]~%~a"
+ (format #f "test_locales = [~{'~a.utf8', ~}]~%~a"
;; %default-utf8-locales in (gnu packages base).
- '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR")
+ '("C" "de_DE" "el_GR" "en_US" "fr_FR" "tr_TR")
all))))))))
- (native-inputs (list cmake-minimal))
+ ;; Tests require locales.
+ (native-inputs (list cmake-minimal (libc-utf8-locales-for-target)))
(home-page "https://marzer.github.io/tomlplusplus/")
(synopsis "Header-only TOML config file parser and serializer for C++17")
(description
@@ -1285,7 +1319,7 @@ programs.")
(define-public kokkos
(package
(name "kokkos")
- (version "4.2.01")
+ (version "4.3.01")
(source
(origin
(method git-fetch)
@@ -1294,7 +1328,7 @@ programs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1bvxcy11as38ng9vdp93mrdvm7sgwqjrm67p53wr1aj7x3pq3hbp"))
+ (base32 "069j9wijw8vwp2844sdrp0wpq59wihykbhbacwadac01l467m3y7"))
(modules '((guix build utils)))
(snippet
;; Remove bundled googletest.
@@ -1379,7 +1413,9 @@ point and then, after each tween step, plugging back the result.")
(base32
"1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl"))
(patches
- (search-patches "abseil-cpp-fix-strerror_test.patch"))))
+ (search-patches "abseil-cpp-fix-strerror_test.patch"
+ "abseil-cpp-20200923.3-adjust-sysinfo.patch"
+ "abseil-cpp-20200923.3-duration-test.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
@@ -1454,7 +1490,9 @@ Google's C++ code base.")
(file-name (git-file-name name version))
(sha256
(base32
- "0vxh2a74g4s45yr8kdjqnzl64k10qdlc0hbnn987a4cnwdj4bp9r"))))
+ "0vxh2a74g4s45yr8kdjqnzl64k10qdlc0hbnn987a4cnwdj4bp9r"))
+ (patches
+ (search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
@@ -1475,9 +1513,16 @@ Google's C++ code base.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ydkkbanrpkp5i814arzsk973kyzhhjhagnp392rq6rrv16apldq"))))
+ "1ydkkbanrpkp5i814arzsk973kyzhhjhagnp392rq6rrv16apldq"))
+ (patches
+ (search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
+ ((#:configure-flags flags #~'())
+ (if (target-riscv64?)
+ #~(cons* "-DCMAKE_SHARED_LINKER_FLAGS=-latomic"
+ #$flags)
+ flags))
((#:phases phases)
#~(modify-phases #$phases
(add-before 'check 'set-env-vars
@@ -1572,6 +1617,8 @@ parsers according to a Parsing Expression Grammar (PEG).")
external-memory suffix array construction algorithm called pSAscan. The
algorithm is based on the sequential external-memory suffix array construction
algorithm called SAscan.")
+ ;; Code exhibits integer size mismatches when compiled on 32-bit systems.
+ (supported-systems %64bit-supported-systems)
(license license:expat)))
(define-public cxxopts
@@ -1805,60 +1852,56 @@ 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,
+ (package
+ (name "zug")
+ (version "0.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/zug")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06vsbzx4ripidpb6ia7y1y8pmjk6gxzr93ilby90ahj6p2x08baf"))
+ (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))))
+ (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
+ (package
+ (name "lager")
+ (version "0.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/lager")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
+ (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 catch2 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))))
+ (license license:expat)))
(define-public atomic-queue
(package
@@ -2169,7 +2212,7 @@ pointers, containers, compiler building blocks, etc.")
(arguments
`(#:test-target "test"
#:imported-modules ((guix build copy-build-system)
- ,@%gnu-build-system-modules)
+ ,@%default-gnu-imported-modules)
#:modules (((guix build copy-build-system) #:prefix copy:)
(guix build gnu-build-system)
(guix build utils))
@@ -2992,7 +3035,7 @@ queues, resource pools, strings, etc.
(define-public ftxui
(package
(name "ftxui")
- (version "4.0.0")
+ (version "5.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3000,7 +3043,7 @@ queues, resource pools, strings, etc.
(commit (string-append "v" version))))
(sha256
(base32
- "01h59ln8amsj6ymxmsxhmslld2yp003n82fg3mphgkrh6lf22h6y"))
+ "1qfk6jwasxhjk410igma7pdv1q664w8cgjf95ciln3hh1kiqcpi0"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs (list googletest benchmark))