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.scm83
1 files changed, 80 insertions, 3 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index f0d8cd2a40..45d3faeafb 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -43,10 +43,12 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages gcc)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
@@ -332,7 +334,8 @@ as ordering relation.")
(build-system cmake-build-system)
(arguments
'(#:configure-flags
- (list (string-append "-DJSON_TestDataDirectory="
+ (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
+ (string-append "-DJSON_TestDataDirectory="
(assoc-ref %build-inputs "json_test_data")))
#:phases (modify-phases %standard-phases
;; XXX: When tests are enabled, the install phase will cause
@@ -374,7 +377,7 @@ intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
- (version "0.6.21")
+ (version "0.6.23")
(source (origin
(method git-fetch)
(uri
@@ -383,7 +386,7 @@ intuitive syntax and trivial integration.")
(commit version)))
(sha256
(base32
- "08xhyy9fm2ddkdrgb1qyd2bs371a2xr7xzar482pwphz27vr035w"))
+ "1kd9zl4h6nrsg29hq13vwp4zhfj8sa90vj40726lpw6vxz48k4di"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)
@@ -731,3 +734,77 @@ of C++14 components that complements @code{std} and Boost.")
;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
(supported-systems '("aarch64-linux" "x86_64-linux"))
(license license:asl2.0)))
+
+(define-public aws-sdk-cpp
+ (package
+ (name "aws-sdk-cpp")
+ (version "1.8.102")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aws/aws-sdk-cpp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1w8x2vakg5ngjyyg08n4g3dqy8wqnz0k3gkrlqrh460s2pvdivba"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(;; Tests are run during the build phase.
+ #:tests? #f
+ #:configure-flags
+ '("-DBUILD_SHARED_LIBS=OFF"
+ "-DBUILD_DEPS=OFF")))
+ (propagated-inputs
+ `(("aws-c-common" ,aws-c-common)
+ ("aws-c-event-stream" ,aws-c-event-stream)))
+ (inputs
+ `(("aws-checksums" ,aws-checksums)
+ ("curl" ,curl)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (synopsis "Amazon Web Services SDK for C++")
+ (description
+ "The AWS SDK for C++ provides a C++11 interface to the @acronym{AWS,Amazon
+Web Services} API. AWS provides on-demand computing infrastructure and software
+services including database, analytic, and machine learning technologies.")
+ (home-page "https://github.com/aws/aws-sdk-cpp")
+ (license license:asl2.0)))
+
+(define-public libexpected
+ (package
+ (name "libexpected")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/TartanLlama/expected")
+ (commit (string-append "v" version))
+ ;; NOTE: Requires TL_CMAKE from custom
+ ;; repository. Should not affect reproducibility.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ ;; NOTE: This patch will be unnecessary on subsequent tags.
+ (patches (search-patches "libexpected-nofetch.patch"))
+ (sha256
+ (base32 "1ckzfrljzzdw9wf8hvdfjz4wjx5na57iwxc48mbv9rf5067m21a5"))))
+ (build-system cmake-build-system)
+ ;; TODO: Clean up install phase.
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./tests"))))))
+ (native-inputs
+ `(("catch2" ,catch-framework2)))
+ (synopsis "C++11/14/17 std::expected with functional-style extensions")
+ (description "@code{std::expected} is proposed as the preferred way to
+represent objects which will either have an expected value, or an unexpected
+value giving information about why something failed. Unfortunately, chaining
+together many computations which may fail can be verbose, as error-checking
+code will be mixed in with the actual programming logic. This implementation
+provides a number of utilities to make coding with expected cleaner.")
+ (home-page "https://tl.tartanllama.xyz/")
+ (license license:cc0)))