summaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm52
1 files changed, 45 insertions, 7 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ed6ae69198..bb1f216e2a 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
-;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
@@ -1048,6 +1048,11 @@ point and then, after each tween step, plugging back the result.")
"-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-max
+ (lambda _
+ (substitute* "absl/debugging/failure_signal_handler.cc"
+ (("std::max\\(SIGSTKSZ, 65536\\)")
+ "std::max<size_t>(SIGSTKSZ, 65536)"))))
(add-before 'configure 'remove-gtest-check
;; The CMakeLists fails to find our googletest for some reason, but
;; it works nonetheless.
@@ -1065,6 +1070,29 @@ augment the C++ standard library. The Abseil library code is collected from
Google's C++ code base.")
(license license:asl2.0)))
+;; This is for grpc-for-python-grpcio; keep this in sync with its actual
+;; requirements.
+(define-public abseil-cpp-20211102.0
+ (let ((base abseil-cpp-20200923.3))
+ (package
+ (inherit base)
+ (name "abseil-cpp")
+ (version "20211102.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abseil/abseil-cpp")
+ (commit "215105818dfde3174fe799600bb0f3cae233d0bf")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "028vlxpmh65kb7s0cpba38qcwk1abyn5br0ffhvvjjh97vld69di"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:tests? _ #false) #false)
+ ((#:configure-flags flags)
+ #~(cons* "-DCMAKE_CXX_STANDARD=11" #$flags)))))))
+
(define-public abseil-cpp
(let ((base abseil-cpp-20200923.3))
(package
@@ -1083,17 +1111,25 @@ Google's C++ code base.")
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
- `(cons* "-DBUILD_TESTING=ON"
+ `(cons* "-DABSL_BUILD_TESTING=ON"
(delete "-DABSL_RUN_TESTS=ON" ,flags))))))))
-(define-public abseil-cpp-cxxstd17
+(define (abseil-cpp-for-c++-standard version)
(let ((base abseil-cpp))
(hidden-package
(package/inherit base
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
- #~(cons* "-DCMAKE_CXX_STANDARD=17" #$flags))))))))
+ #~(cons* #$(string-append "-DCMAKE_CXX_STANDARD="
+ (number->string version))
+ #$flags))))))))
+
+(define-public abseil-cpp-cxxstd17
+ (abseil-cpp-for-c++-standard 17)) ;XXX: the default with GCC 11?
+
+(define-public abseil-cpp-cxxstd11
+ (abseil-cpp-for-c++-standard 11))
(define-public pegtl
(package
@@ -1642,6 +1678,8 @@ almost every type of file containing key/value pairs.")
(inputs
(list ;;("boost ,boost)
expat))
+ (native-inputs
+ (list gcc-10)) ;does not build with gcc-12
(home-page "https://www.codesynthesis.com/projects/libcutl/")
(synopsis "C++ utility library with generic and independent components")
(description "libcutl is a C++ utility library. It contains a collection
@@ -1686,7 +1724,7 @@ pointers, containers, compiler building blocks, etc.")
#:include-regexp ("\\.so$")))
args))))))
(native-inputs
- (list build))
+ (list build gcc-10))
(inputs
`(("libcutl" ,libcutl)
("libxerces-c" ,xerces-c)))
@@ -1734,7 +1772,7 @@ and a traversal mechanism.")
(string-append "edge_dispatcher::" all)))))
(delete 'configure))))
(native-inputs
- (list build))
+ (list build gcc-10))
(inputs
(list libcutl))
(synopsis "C++ Command Line Interface (CLI) definition language")
@@ -1777,7 +1815,7 @@ documentation.")
,version)))))
(delete 'configure))))
(native-inputs
- (list build cli))
+ (list build cli gcc-10))
(inputs
(list libcutl libnsl libxsd-frontend))
(propagated-inputs