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.scm94
1 files changed, 87 insertions, 7 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index cfff141dcc..a2a3eb226e 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>
@@ -478,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")
@@ -925,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")
@@ -1119,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)
@@ -1127,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
@@ -1136,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
@@ -1172,7 +1252,7 @@ programs.")
(define-public kokkos
(package
(name "kokkos")
- (version "4.1.00")
+ (version "4.2.01")
(source
(origin
(method git-fetch)
@@ -1181,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.