gnu: c++-gsl: Update to 4.0.0
* 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. Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
This commit is contained in:
		
							parent
							
								
									5c959d0fa7
								
							
						
					
					
						commit
						c10c24e956
					
				
					 4 changed files with 2 additions and 230 deletions
				
			
		|  | @ -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		\
 | ||||
|  |  | |||
|  | @ -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)) | ||||
|  |  | |||
|  | @ -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} | ||||
|  | @ -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); | ||||
		Reference in a new issue