From 37c88eca5c88ce72fb164f8a8722cc0483736945 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Mon, 27 Sep 2021 14:20:03 +0000 Subject: gnu: Add simdjson. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (simdjson): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cpp.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 104fe81e18..469af4a338 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1309,3 +1309,29 @@ of reading and writing XML.") (description "Jsonnet is a templating language extending JSON syntax with variables, conditions, functions and more.") (license license:asl2.0))) + +(define-public simdjson + (package + (name "simdjson") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/simdjson/simdjson") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08qpsw0i8481xlyyghzyszb1vh4c8i7krzzghvr9m4yg394vf6zn")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; tests require downloading dependencies + #:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) + (synopsis "JSON parser for C++ using SIMD instructions") + (description + "The simdjson library uses commonly available SIMD instructions and +microparallel algorithms to implement a strict JSON parser with UTF-8 +validation.") + (home-page "https://github.com/simdjson/simdjson") + (license license:asl2.0))) -- cgit v1.2.3 From 5ed42eb9a01e63c25d6c0836b6a1b15e8d5fbd74 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Fri, 30 Apr 2021 14:06:34 +0000 Subject: gnu: Add aws-crt-cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (aws-crt-cpp): New variable. * gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch, gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/cpp.scm | 39 ++++++++++++++++++ .../patches/aws-crt-cpp-cmake-prefix.patch | 13 ++++++ .../aws-crt-cpp-disable-networking-tests.patch | 47 ++++++++++++++++++++++ 4 files changed, 101 insertions(+) create mode 100644 gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch create mode 100644 gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 508d5ac86c..0a71599e68 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -882,6 +882,8 @@ dist_patch_DATA = \ %D%/packages/patches/aws-c-s3-cmake-prefix.patch \ %D%/packages/patches/aws-c-s3-disable-networking-tests.patch \ %D%/packages/patches/aws-checksums-cmake-prefix.patch \ + %D%/packages/patches/aws-crt-cpp-cmake-prefix.patch \ + %D%/packages/patches/aws-crt-cpp-disable-networking-tests.patch \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 469af4a338..383c9843ca 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -881,6 +881,45 @@ of C++14 components that complements @code{std} and Boost.") (supported-systems '("aarch64-linux" "x86_64-linux")) (license license:asl2.0))) +(define-public aws-crt-cpp + (let* ((commit "c2d6ffa5597825111cc76ad71ffc6aef664d0f25") + (revision "1")) + (package + (name "aws-crt-cpp") + (version (git-version "0.14.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/awslabs/aws-crt-cpp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l7iwynk2rgzjnr1hi1raazghmk4m7pj47vdq2kf2cfz0b6v9jf5")) + (patches + (search-patches + "aws-crt-cpp-cmake-prefix.patch" + "aws-crt-cpp-disable-networking-tests.patch")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON" + "-DBUILD_DEPS=OFF"))) + (propagated-inputs + `(("aws-c-auth" ,aws-c-auth) + ("aws-c-cal" ,aws-c-cal) + ("aws-c-event-stream" ,aws-c-event-stream) + ("aws-c-http" ,aws-c-http) + ("aws-c-mqtt" ,aws-c-mqtt) + ("aws-c-s3" ,aws-c-s3))) + (synopsis "C++ wrapper for Amazon Web Services C libraries") + (description "The AWS Common Runtime (CRT) library provides a C++ wrapper +implementation for the following @acronym{AWS,Amazon Web Services} C libraries: +aws-c-auth, aws-c-cal, aws-c-common, aws-c-compression, aws-c-event-stream, +aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") + (home-page "https://github.com/awslabs/aws-crt-cpp") + (license license:asl2.0)))) + (define-public aws-sdk-cpp (package (name "aws-sdk-cpp") diff --git a/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch new file mode 100644 index 0000000000..b45818875f --- /dev/null +++ b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,10 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + include(AwsCheckHeadersCxx) + include(CTest) + ++if (DEFINED ENV{CMAKE_PREFIX_PATH}) ++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) ++endif() ++ + if (DEFINED CMAKE_PREFIX_PATH) + file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) + endif() diff --git a/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch new file mode 100644 index 0000000000..4c1be7d028 --- /dev/null +++ b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch @@ -0,0 +1,47 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -13,9 +13,9 @@ add_test_case(ApiMultiDefaultCreateDestroy) + add_test_case(EventLoopResourceSafety) + add_test_case(ClientBootstrapResourceSafety) + if (NOT BYO_CRYPTO) +- add_net_test_case(MqttClientResourceSafety) ++ #add_net_test_case(MqttClientResourceSafety) + add_net_test_case(MqttClientNewConnectionUninitializedTlsContext) +- add_net_test_case(TLSContextResourceSafety) ++ #add_net_test_case(TLSContextResourceSafety) + add_net_test_case(TLSContextUninitializedNewConnectionOptions) + endif () + add_test_case(Base64RoundTrip) +@@ -29,15 +29,15 @@ add_test_case(SHA256ResourceSafety) + add_test_case(MD5ResourceSafety) + add_test_case(SHA256HMACResourceSafety) + if (NOT BYO_CRYPTO) +- add_net_test_case(HttpDownloadNoBackPressureHTTP1_1) +- add_net_test_case(HttpDownloadNoBackPressureHTTP2) +- add_net_test_case(HttpStreamUnActivated) ++ #add_net_test_case(HttpDownloadNoBackPressureHTTP1_1) ++ #add_net_test_case(HttpDownloadNoBackPressureHTTP2) ++ #add_net_test_case(HttpStreamUnActivated) + add_net_test_case(HttpCreateConnectionInvalidTlsConnectionOptions) + add_net_test_case(IotPublishSubscribe) +- add_net_test_case(HttpClientConnectionManagerResourceSafety) ++ #add_net_test_case(HttpClientConnectionManagerResourceSafety) + add_net_test_case(HttpClientConnectionManagerInvalidTlsConnectionOptions) +- add_net_test_case(HttpClientConnectionWithPendingAcquisitions) +- add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections) ++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitions) ++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections) + endif () + add_test_case(DefaultResolution) + add_test_case(OptionalCopySafety) +@@ -55,8 +55,8 @@ add_test_case(TestProviderEnvironmentGet) + add_test_case(TestProviderProfileGet) + add_test_case(TestProviderImdsGet) + if (NOT BYO_CRYPTO) +- add_net_test_case(TestProviderDefaultChainGet) +- add_net_test_case(TestProviderDefaultChainManualTlsContextGet) ++ #add_net_test_case(TestProviderDefaultChainGet) ++ #add_net_test_case(TestProviderDefaultChainManualTlsContextGet) + endif () + add_test_case(TestProviderDelegateGet) + add_test_case(HttpRequestTestCreateDestroy) -- cgit v1.2.3 From ef0c65969b797a22572446df55b40efcff4d4037 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 18 Mar 2021 17:53:12 +0000 Subject: gnu: aws-sdk-cpp: Update to 1.9.92. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch, gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch, gnu/packages/patches/aws-sdk-cpp-disable-werror.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/cpp.scm (aws-sdk-cpp): Update to 1.9.92. [source]: Use patches. [inputs, propagated-inputs]: Update AWS dependencies to Common Runtime. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 3 ++ gnu/packages/cpp.scm | 15 +++++--- .../patches/aws-sdk-cpp-cmake-prefix.patch | 18 +++++++++ .../aws-sdk-cpp-disable-networking-tests.patch | 44 ++++++++++++++++++++++ .../patches/aws-sdk-cpp-disable-werror.patch | 11 ++++++ 5 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch create mode 100644 gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch create mode 100644 gnu/packages/patches/aws-sdk-cpp-disable-werror.patch (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 0a71599e68..d1803e7f59 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -884,6 +884,9 @@ dist_patch_DATA = \ %D%/packages/patches/aws-checksums-cmake-prefix.patch \ %D%/packages/patches/aws-crt-cpp-cmake-prefix.patch \ %D%/packages/patches/aws-crt-cpp-disable-networking-tests.patch \ + %D%/packages/patches/aws-sdk-cpp-cmake-prefix.patch \ + %D%/packages/patches/aws-sdk-cpp-disable-networking-tests.patch \ + %D%/packages/patches/aws-sdk-cpp-disable-werror.patch \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 383c9843ca..15c3f10d72 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -923,7 +923,7 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") (define-public aws-sdk-cpp (package (name "aws-sdk-cpp") - (version "1.8.159") + (version "1.9.92") (source (origin (method git-fetch) (uri (git-reference @@ -932,7 +932,12 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") (file-name (git-file-name name version)) (sha256 (base32 - "0jpfv9x82nq7hcix9in7qgrc8009dwpg6gr96hlgmcvqrqckd2r9")))) + "0nbq1qivykfg8jmrn8d0k6fcfa5dw9s90wnwddh7ia4zafmby7pd")) + (patches + (search-patches + "aws-sdk-cpp-cmake-prefix.patch" + "aws-sdk-cpp-disable-networking-tests.patch" + "aws-sdk-cpp-disable-werror.patch")))) (build-system cmake-build-system) (arguments '(;; Tests are run during the build phase. @@ -941,11 +946,9 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") '("-DBUILD_SHARED_LIBS=ON" "-DBUILD_DEPS=OFF"))) (propagated-inputs - `(("aws-c-common" ,aws-c-common) - ("aws-c-event-stream" ,aws-c-event-stream))) + `(("aws-crt-cpp" ,aws-crt-cpp))) (inputs - `(("aws-checksums" ,aws-checksums) - ("curl" ,curl) + `(("curl" ,curl) ("openssl" ,openssl) ("zlib" ,zlib))) (synopsis "Amazon Web Services SDK for C++") diff --git a/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch new file mode 100644 index 0000000000..efc1218834 --- /dev/null +++ b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -98,9 +98,13 @@ set(PYTHON_CMD "python") + # CMAKE_MODULE_PATH is a CMAKE variable. It contains a list of paths + # which could be used to search CMAKE modules by "include()" or "find_package()", but the default value is empty. + # Add ${CMAKE_INSTALL_LIBDIR}/cmake and ${CMAKE_PREFIX_PATH}/lib/cmake to search list ++if (DEFINED ENV{CMAKE_PREFIX_PATH}) ++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) ++endif() ++ + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") +-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake") +-string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}") ++set(AWS_MODULE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake") ++string(REPLACE ":" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}") + list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH}) + + # include() will "load and run" cmake script diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch new file mode 100644 index 0000000000..3b582d9628 --- /dev/null +++ b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch @@ -0,0 +1,44 @@ +--- a/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp ++++ b/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp +@@ -92,12 +92,12 @@ TEST(HttpClientTest, TestRandomURLWithNoProxy) + makeRandomHttpRequest(httpClient, false); + } + +-TEST(HttpClientTest, TestRandomURLWithProxy) +-{ +- ClientConfiguration configuration = makeClientConfigurationWithProxy(); +- auto httpClient = CreateHttpClient(configuration); +- makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid +-} ++//TEST(HttpClientTest, TestRandomURLWithProxy) ++//{ ++// ClientConfiguration configuration = makeClientConfigurationWithProxy(); ++// auto httpClient = CreateHttpClient(configuration); ++// makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid ++//} + + TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredAsNonProxyHost) + { +@@ -119,14 +119,14 @@ TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredParentDomainAsNonProxyHost + makeRandomHttpRequest(httpClient, false); + } + +-TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost) +-{ +- ClientConfiguration configuration = makeClientConfigurationWithProxy(); +- configuration.nonProxyHosts = Aws::Utils::Array(1); +- configuration.nonProxyHosts[0] = "http://test.non.filtered.aws"; +- auto httpClient = CreateHttpClient(configuration); +- makeRandomHttpRequest(httpClient, true); +-} ++//TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost) ++//{ ++// ClientConfiguration configuration = makeClientConfigurationWithProxy(); ++// configuration.nonProxyHosts = Aws::Utils::Array(1); ++// configuration.nonProxyHosts[0] = "http://test.non.filtered.aws"; ++// auto httpClient = CreateHttpClient(configuration); ++// makeRandomHttpRequest(httpClient, true); ++//} + + // TODO: Pending Fix on Windows. + #if ENABLE_CURL_CLIENT diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch new file mode 100644 index 0000000000..249c299239 --- /dev/null +++ b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch @@ -0,0 +1,11 @@ +--- a/cmake/compiler_settings.cmake ++++ b/cmake/compiler_settings.cmake +@@ -53,7 +53,7 @@ macro(set_gcc_flags) + endmacro() + + macro(set_gcc_warnings) +- list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra") ++ list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-pedantic" "-Wextra") + if(COMPILER_CLANG) + if(PLATFORM_ANDROID) + # when using clang with libc and API lower than 21 we need to include Android support headers and ignore the gnu-include-next warning. -- cgit v1.2.3 From 38582fb53cbf233284db1bfc63b907f0b86b3f4d Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 9 Oct 2021 15:28:18 +0000 Subject: gnu: Add spscqueue. * gnu/packages/cpp.scm (spscqueue): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cpp.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/packages/cpp.scm') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 15c3f10d72..643b85a8db 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -516,6 +516,27 @@ syntax highlighting. @code{ccls} is derived from @code{cquery} which is not maintained anymore.") (license license:asl2.0))) +(define-public spscqueue + (package + (name "spscqueue") + (version "1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rigtorp/SPSCQueue/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1428cj9x318afvnvnkhg0711iy4czqn86fi7ysgfhw91asa316rc")))) + (build-system cmake-build-system) + (home-page "https://github.com/rigtorp/SPSCQueue/") + (synopsis "Single producer single consumer queue written in C++11") + (description + "This package provides a single producer single consumer wait-free and +lock-free fixed size queue written in C++11.") + (license license:expat))) + (define-public gperftools (package (name "gperftools") -- cgit v1.2.3