[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 63725@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 63725
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch