aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm131
1 files changed, 122 insertions, 9 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2ab80b8e2a..94c3302b1b 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
@@ -39,6 +39,7 @@
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -91,6 +92,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@@ -184,6 +186,37 @@ allocator that makes it easy to generate complex code without a significant
development effort.")
(license license:zlib))))
+(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)))
+
(define-public range-v3
(package
(name "range-v3")
@@ -445,6 +478,44 @@ the name of the library itself, which is written in C++.")
(license (list license:expat ; cJSON
license:bsd-4))))) ; everything else (LICENSE.txt)
+(define-public pystring
+ (package
+ (name "pystring")
+ (version "1.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/imageworks/pystring")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0h12x24skrlx4fv0k5vl8wnar8gi6bq091yp93awkwsbnm8qwkzd"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ ;; The install phase doesn't install the header
+ (add-after 'install 'install-header
+ (lambda _
+ (mkdir-p (string-append #$output "/include"))
+ (copy-file
+ (string-append #$(package-source this-package)
+ "/pystring.h")
+ (string-append #$output
+ "/include/pystring.h")))))))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/imageworks/pystring")
+ (synopsis "C++ functions matching the Python string methods")
+ (description
+ "Pystring is a collection of C++ functions which match the interface and
+behavior of Python's string class methods using std::string. Implemented in
+C++, it does not require or make use of a python interpreter. It provides
+convenience and familiarity for common string operations not included in the
+standard C++ library. It's also useful in environments where both C++ and
+Python are used.")
+ (license license:bsd-3)))
+
(define-public dashel
(package
(name "dashel")
@@ -892,6 +963,49 @@ concurrent queue for C++11.")
lock-free fixed size queue written in C++11.")
(license license:expat)))
+(define-public syscmdline
+ (package
+ (name "syscmdline")
+ (version "0.0.1.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SineStriker/syscmdline")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00n9vkyymp1dzixxl93f6pkpd3ndsk1vib7shhlxv4zvy5hjqhqw"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "-DSYSCMDLINE_BUILD_STATIC=OFF" ;build a shared library
+ "-DSYSCMDLINE_BUILD_TESTS=ON")
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ ;; There isn't currently any exposed test target.
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "bin/tst_basic")))))))
+ (home-page "https://github.com/SineStriker/syscmdline")
+ (synopsis "C++ advanced command line parser")
+ (description "SysCmdLine is a C++ command line parser that is inspired by
+@code{QCommandLineParser} from Qt and @code{System.CommandLine} from C#. It
+has features such as:
+@itemize
+@item Support sub-commands
+@item Support case-insensitive parsing
+@item Support global options
+@item Support mutually exclusive options
+@item Support short options and group flags
+@item Support help text customization
+@item Support localization
+@item Simple tips for typo correction
+@item Highly configurable
+@item Friendly interface
+@end itemize")
+ (license license:expat)))
+
(define-public gperftools
(package
(name "gperftools")
@@ -1086,7 +1200,7 @@ code and retrieving their output.")
(define-public sobjectizer
(package
(name "sobjectizer")
- (version "5.7.2.6")
+ (version "5.8.2")
(source
(origin
(method git-fetch)
@@ -1094,7 +1208,7 @@ code and retrieving their output.")
(url "https://github.com/Stiffstream/sobjectizer")
(commit (string-append "v." version))))
(sha256
- (base32 "0n6smpjkkkw0xab8wcpy3p0dpw2v9sxgwl6azl3am6abmv4mff12"))
+ (base32 "0ya5xlgm3arvzvcnsajw03kc3cibbdbap9p7kgpxn00byqbxixr7"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1103,8 +1217,7 @@ code and retrieving their output.")
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
- (chdir "dev")
- #t)))))
+ (chdir "dev"))))))
(home-page "https://stiffstream.com/en/products/sobjectizer.html")
(synopsis "Cross-platform actor framework for C++")
(description
@@ -1139,7 +1252,7 @@ programs.")
(define-public kokkos
(package
(name "kokkos")
- (version "4.1.00")
+ (version "4.2.01")
(source
(origin
(method git-fetch)
@@ -1148,7 +1261,7 @@ programs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "15kjpa54ssrrbid9h2nr94nh85qna5c4vq2152i4iy7gaagigy3c"))
+ (base32 "1bvxcy11as38ng9vdp93mrdvm7sgwqjrm67p53wr1aj7x3pq3hbp"))
(modules '((guix build utils)))
(snippet
;; Remove bundled googletest.
@@ -1763,7 +1876,7 @@ queues header library based on circular buffer with @code{std::atomic}.")
(define-public magic-enum
(package
(name "magic-enum")
- (version "0.7.3")
+ (version "0.9.5")
(home-page "https://github.com/Neargye/magic_enum")
(source (origin
(method git-fetch)
@@ -1773,7 +1886,7 @@ queues header library based on circular buffer with @code{std::atomic}.")
(file-name (git-file-name name version))
(sha256
(base32
- "1x47radgsifgz3vn2561mlvf4cq46ii33cpyqf01znm56iirwq89"))))
+ "14ys5sn2v1mai8bclvi81cp65g6jblqpdsi94639hphca5v8gka3"))))
(build-system cmake-build-system)
(synopsis "C++17 header only library for compile time reflection of enums")
(description "Magic Enum offers static reflection of enums, with