summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/cpp.scm8
-rw-r--r--gnu/packages/patches/c++-gsl-find-system-gtest.patch96
-rw-r--r--gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch126
4 files changed, 2 insertions, 230 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 18e8235140..cb1705e447 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1032,8 +1032,6 @@ dist_patch_DATA = \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
- %D%/packages/patches/c++-gsl-find-system-gtest.patch \
- %D%/packages/patches/c++-gsl-move-array-bounds-tests.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 34ae9ef70e..64f923929e 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -224,7 +224,7 @@ range-v3 ranges are an abstraction layer on top of iterators.")
(define-public c++-gsl
(package
(name "c++-gsl")
- (version "3.1.0")
+ (version "4.0.0")
(source
(origin
(method git-fetch)
@@ -235,12 +235,8 @@ range-v3 ranges are an abstraction layer on top of iterators.")
(string-append "v" version))))
(file-name
(git-file-name name version))
- (patches
- (search-patches
- "c++-gsl-find-system-gtest.patch"
- "c++-gsl-move-array-bounds-tests.patch"))
(sha256
- (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+ (base32 "0dgb3rb6x2276d3v7x568m3zhqr67rhk8ynqgm3c304avnmcaw3i"))))
(build-system cmake-build-system)
(native-inputs
(list googletest pkg-config))
diff --git a/gnu/packages/patches/c++-gsl-find-system-gtest.patch b/gnu/packages/patches/c++-gsl-find-system-gtest.patch
deleted file mode 100644
index 2def650292..0000000000
--- a/gnu/packages/patches/c++-gsl-find-system-gtest.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
-From: Nicholas Guriev <guriev-ns@ya.ru>
-Date: Sat, 18 Apr 2020 13:30:17 +0300
-Subject: [PATCH] Search for GoogleTest via pkg-config first
-
----
- tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
- 1 file changed, 30 insertions(+), 25 deletions(-)
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 02193197..53d475c2 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -1,36 +1,41 @@
- cmake_minimum_required(VERSION 3.0.2)
-
- project(GSLTests CXX)
-+include(FindPkgConfig)
-
- # will make visual studio generated project group files
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
--configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
--execute_process(
-- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
-- RESULT_VARIABLE result
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
--)
--if(result)
-- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
--endif()
-+pkg_search_module(GTestMain gtest_main)
-+if (NOT GTestMain_FOUND)
-+ configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
-+ execute_process(
-+ COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
-+ RESULT_VARIABLE result
-+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
-+ )
-+ if(result)
-+ message(FATAL_ERROR "CMake step for googletest failed: ${result}")
-+ endif()
-
--execute_process(
-- COMMAND ${CMAKE_COMMAND} --build .
-- RESULT_VARIABLE result
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
--)
--if(result)
-- message(FATAL_ERROR "CMake step for googletest failed: ${result}")
--endif()
-+ execute_process(
-+ COMMAND ${CMAKE_COMMAND} --build .
-+ RESULT_VARIABLE result
-+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
-+ )
-+ if(result)
-+ message(FATAL_ERROR "CMake step for googletest failed: ${result}")
-+ endif()
-
--set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-+ set(GTestMain_LIBRARIES gtest_main)
-
--add_subdirectory(
-- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
-- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
-- EXCLUDE_FROM_ALL
--)
-+ add_subdirectory(
-+ ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
-+ ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
-+ EXCLUDE_FROM_ALL
-+ )
-+endif()
-
- if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
- set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
-@@ -149,7 +154,7 @@ function(add_gsl_test name)
- target_link_libraries(${name}
- GSL
- gsl_tests_config
-- gtest_main
-+ ${GTestMain_LIBRARIES}
- )
- add_test(
- ${name}
-@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
- target_link_libraries(${name}
- GSL
- gsl_tests_config_noexcept
-- gtest_main
-+ ${GTestMain_LIBRARIES}
- )
- add_test(
- ${name}
diff --git a/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch b/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch
deleted file mode 100644
index 0629212688..0000000000
--- a/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-Description: Move tests that trigger -Warray-bounds to separate compilation unit
- GCC 10 is now smart enough to detect violation of array boundaries that tests
- are actually tested. Along with -Werror this led to tests failure, so I move
- such tests to another compilation unit to have the warning deactivated for
- only these tests.
-Bug-Debian: https://bugs.debian.org/966895
-Author: Nicholas Guriev <guriev-ns@ya.ru>
-Last-Modified: Wed, 19 Aug 2020 08:55:52 +0300
-
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -179,6 +179,7 @@ add_gsl_test(owner_tests)
- add_gsl_test(byte_tests)
- add_gsl_test(algorithm_tests)
- add_gsl_test(strict_notnull_tests)
-+add_gsl_test(array_bounds)
-
-
- # No exception tests
---- /dev/null
-+++ b/tests/array_bounds.cpp
-@@ -0,0 +1,68 @@
-+///////////////////////////////////////////////////////////////////////////////
-+//
-+// Copyright (c) 2015 Microsoft Corporation. All rights reserved.
-+//
-+// This code is licensed under the MIT License (MIT).
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+// THE SOFTWARE.
-+//
-+///////////////////////////////////////////////////////////////////////////////
-+
-+#ifdef __GNUC__
-+#pragma GCC diagnostic warning "-Warray-bounds"
-+#endif // __GNUC__
-+
-+#include <gtest/gtest.h>
-+
-+#include <gsl/multi_span> // for gsl::multi_span
-+
-+namespace gsl
-+{
-+struct fail_fast;
-+} // namespace gsl
-+
-+namespace
-+{
-+static constexpr char deathstring[] = "Expected Death";
-+} // namespace
-+
-+TEST(array_bounds, subspan_from_multi_span_test)
-+{
-+ int arr[5] = {1, 2, 3, 4, 5};
-+ gsl::multi_span<int> av = arr;
-+
-+ std::set_terminate([] {
-+ std::cerr << "Expected Death. subspan";
-+ std::abort();
-+ });
-+
-+ EXPECT_DEATH(av.subspan(6).length(), deathstring);
-+}
-+
-+TEST(array_bounds, strided_span_bounds_from_strided_span_tests)
-+{
-+ int arr[] = {0, 1, 2, 3};
-+ gsl::multi_span<int> av(arr);
-+
-+ std::set_terminate([] {
-+ std::cerr << "Expected Death. strided_span_bounds";
-+ std::abort();
-+ });
-+
-+ // incorrect sections
-+ EXPECT_DEATH(av.section(0, 0)[0], deathstring);
-+ EXPECT_DEATH(av.section(1, 0)[0], deathstring);
-+ EXPECT_DEATH(av.section(1, 1)[1], deathstring);
-+
-+ EXPECT_DEATH(av.section(2, 5), deathstring);
-+ EXPECT_DEATH(av.section(5, 2), deathstring);
-+ EXPECT_DEATH(av.section(5, 0), deathstring);
-+ EXPECT_DEATH(av.section(0, 5), deathstring);
-+ EXPECT_DEATH(av.section(5, 5), deathstring);
-+}
---- a/tests/multi_span_tests.cpp
-+++ b/tests/multi_span_tests.cpp
-@@ -1042,10 +1042,6 @@ TEST(multi_span_test, subspan)
- EXPECT_TRUE(av.subspan(1).length() == 4);
- EXPECT_TRUE(av.subspan(4).length() == 1);
- EXPECT_TRUE(av.subspan(5).length() == 0);
-- // Disabled test instead of fixing since multi_span is deprecated. (PR#835)
--#if !(defined(__GNUC__) && __GNUC__ == 8)
-- EXPECT_DEATH(av.subspan(6).length(), deathstring);
--#endif
- auto av2 = av.subspan(1);
- for (int i = 0; i < 4; ++i) EXPECT_TRUE(av2[i] == i + 2);
- }
---- a/tests/strided_span_tests.cpp
-+++ b/tests/strided_span_tests.cpp
-@@ -403,20 +403,6 @@ TEST(strided_span_tests, strided_span_bo
- });
-
- {
-- // incorrect sections
--
-- EXPECT_DEATH(av.section(0, 0)[0], deathstring);
-- EXPECT_DEATH(av.section(1, 0)[0], deathstring);
-- EXPECT_DEATH(av.section(1, 1)[1], deathstring);
--
-- EXPECT_DEATH(av.section(2, 5), deathstring);
-- EXPECT_DEATH(av.section(5, 2), deathstring);
-- EXPECT_DEATH(av.section(5, 0), deathstring);
-- EXPECT_DEATH(av.section(0, 5), deathstring);
-- EXPECT_DEATH(av.section(5, 5), deathstring);
-- }
--
-- {
- // zero stride
- strided_span<int, 1> sav{av, {{4}, {}}};
- EXPECT_TRUE(sav[0] == 0);