[PATCH v2 1/3] gnu: c++-gsl: Update to 4.0.0

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Saku Laesvuori
Owner
unassigned
Submitted by
Saku Laesvuori
Severity
normal
S
S
Saku Laesvuori wrote on 25 May 2023 19:49
(address . guix-patches@gnu.org)
20230525174936.31501-1-saku@laesvuori.fi
* gnu/packages/cpp.scm (c++gsl): Update to 4.0.0.
* gnu/packages/patches/c++-gsl-find-system-gtest.patch: Delete file.
* gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch: Delete
file.
* gnu/local.mk (dist_patch_DATA): Remove deleted patches.
---
gnu/local.mk | 2 -
gnu/packages/cpp.scm | 8 +-
.../patches/c++-gsl-find-system-gtest.patch | 96 -------------
.../c++-gsl-move-array-bounds-tests.patch | 126 ------------------
4 files changed, 2 insertions(+), 230 deletions(-)
delete mode 100644 gnu/packages/patches/c++-gsl-find-system-gtest.patch
delete mode 100644 gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch

Toggle diff (258 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index c10fb01bb3..32e0e3071f 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 @@ (define-public range-v3
(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 @@ (define-public c++-gsl
(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);

base-commit: 3c33f7072a190231183f90a463a429dbb0d3e8b9
--
2.39.2
L
L
Ludovic Courtès wrote on 5 Jun 2023 15:00
control message for bug #63725
(address . control@debbugs.gnu.org)
87ilc2hxn0.fsf@gnu.org
close 63725
quit
?