summaryrefslogtreecommitdiff
path: root/dev-cpp/ms-gsl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/ms-gsl')
-rw-r--r--dev-cpp/ms-gsl/Manifest3
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch35
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch21
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch82
-rw-r--r--dev-cpp/ms-gsl/metadata.xml17
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-2.0.0.ebuild35
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-2.1.0.ebuild35
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild34
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-9999.ebuild33
9 files changed, 295 insertions, 0 deletions
diff --git a/dev-cpp/ms-gsl/Manifest b/dev-cpp/ms-gsl/Manifest
new file mode 100644
index 000000000000..3a53ce074972
--- /dev/null
+++ b/dev-cpp/ms-gsl/Manifest
@@ -0,0 +1,3 @@
+DIST ms-gsl-2.0.0.tar.gz 64726 BLAKE2B ab40725aa38af7c5651e22ebf32d4bd9c27a10be2e206fd4c3c0173ad21da262beddef022b7b158653b185cfc3269f2b6e80d99fe65f601ffc3e770b143b03f8 SHA512 7339527222c8a97a94c0bb4038b3d142045ec5d80995e628574ac96f4d9d13c41ad70fbe0d8390586dc0db8d9ea55107dbc95de80f7335eb78ef9d2e7047d726
+DIST ms-gsl-2.1.0.tar.gz 67289 BLAKE2B 5a247028b71521d7851a6aa5f24936dfb1c7f283854724d8d4bf2d9d9ac3a928c0e5b42a280d8a0a0254d9f6fa958bf1283dab674c649bdaaa7b38ef38f3b1ba SHA512 4382b8feadf4608b06b66a78ca51b0f60a6e8b41b183aec6ac8f8e2e9f0b39705dea513fd708012ed8390c1a4f88d7df454f05166b76bee24ae843835cd4a2ca
+DIST ms-gsl-3.1.0.tar.gz 78196 BLAKE2B 32334891a11004a6919645814154fdb108a4582a00ac0002c0af9a524978cc8316bebb07192e260b800f462d5424c476fc22be59cca59c0f3d9d7606ab8c4181 SHA512 2916df9ee165fc803ffae0a56518f2ba92870e279984913ff591559e1459943c3ffbc1f5a0d819ad8233f0c9034012de3616aa4e10557d87c7285d8425d10696
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch
new file mode 100644
index 000000000000..35c8177cad8a
--- /dev/null
+++ b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch
@@ -0,0 +1,35 @@
+From 683aacce5b642a3c735f8040601e0de345d028da Mon Sep 17 00:00:00 2001
+From: Jan Henke <Jan.Henke@taujhe.de>
+Date: Sat, 17 Mar 2018 19:47:52 +0100
+Subject: [PATCH] Disable -WError when compiling tests
+
+GCC 7 generates new warnings on some of the test files, which lead to
+build failures. -WError generally is helpful while developing to enforce
+a zero error policy, but not so much when packaging. Gentoo bug 644042
+---
+ tests/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 0e08d77..86e9af7 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -41,7 +41,6 @@ target_compile_options(gsl_tests_config INTERFACE
+ -Wcast-align
+ -Wconversion
+ -Wctor-dtor-privacy
+- -Werror
+ -Wextra
+ -Wno-missing-braces
+ -Wnon-virtual-dtor
+@@ -129,7 +128,6 @@ target_compile_options(gsl_tests_config_noexcept INTERFACE
+ -Wcast-align
+ -Wconversion
+ -Wctor-dtor-privacy
+- -Werror
+ -Wextra
+ -Wno-missing-braces
+ -Wnon-virtual-dtor
+--
+2.16.1
+
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch
new file mode 100644
index 000000000000..12d92605dda8
--- /dev/null
+++ b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch
@@ -0,0 +1,21 @@
+Add CMake option to disable upstream's catch download, we always want to use the
+system wide installed version. Gentoo bug 636828.
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 86ce5a4..b36df56 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -10,7 +10,9 @@ list(APPEND CATCH_CMAKE_ARGS
+ "-DNO_SELFTEST=true"
+ )
+
+-if(GIT_FOUND)
++option(FORCE_SYSTEM_CATCH "Force usage of system-wide catch install" OFF)
++
++if(NOT ${FORCE_SYSTEM_CATCH} AND GIT_FOUND)
+ # add catch
+ ExternalProject_Add(
+ catch
+--
+2.13.6
+
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch b/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch
new file mode 100644
index 000000000000..fa8d09aafe74
--- /dev/null
+++ b/dev-cpp/ms-gsl/files/ms-gsl-3.0.0-use_system_gtest.patch
@@ -0,0 +1,82 @@
+From 727e9b8312c7ae011b667152606afc0e04ea197a Mon Sep 17 00:00:00 2001
+From: Jan Henke <Jan.Henke@taujhe.de>
+Date: Sun, 14 Jun 2020 14:12:02 +0200
+Subject: [PATCH] Use system gtest instead of downloading and building it
+
+---
+ CMakeLists.txt | 1 -
+ tests/CMakeLists.txt | 30 ++++--------------------------
+ 2 files changed, 4 insertions(+), 27 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 740cd31..f1bf7a2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.1.3...3.16)
+ project(GSL VERSION 3.1.0 LANGUAGES CXX)
+
+ include(ExternalProject)
+-find_package(Git)
+
+ # Use GNUInstallDirs to provide the right locations on all platforms
+ include(GNUInstallDirs)
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 2bd1bbe..c42afb7 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -5,32 +5,9 @@ project(GSLTests CXX)
+ # 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()
+-
+-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)
+
+-add_subdirectory(
+- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+- EXCLUDE_FROM_ALL
+-)
++find_package(GTest REQUIRED)
+
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+ set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -139,7 +116,7 @@ endif(MSVC)
+
+ # for tests to find the gtest header
+ target_include_directories(gsl_tests_config SYSTEM INTERFACE
+- googletest/googletest/include
++ ${GTest_INCLUDE_DIRS}
+ )
+
+ set_property(TARGET PROPERTY FOLDER "GSL_tests")
+@@ -149,7 +126,8 @@ function(add_gsl_test name)
+ target_link_libraries(${name}
+ GSL
+ gsl_tests_config
+- gtest_main
++ GTest::GTest
++ GTest::Main
+ )
+ add_test(
+ ${name}
+--
+2.26.2
+
diff --git a/dev-cpp/ms-gsl/metadata.xml b/dev-cpp/ms-gsl/metadata.xml
new file mode 100644
index 000000000000..df885b841bb1
--- /dev/null
+++ b/dev-cpp/ms-gsl/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>Microsoft's implmentation of the Guidelines Support Library.</longdescription>
+ <upstream>
+ <remote-id type="github">Microsoft/GSL</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-cpp/ms-gsl/ms-gsl-2.0.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-2.0.0.ebuild
new file mode 100644
index 000000000000..c25d5f9efe51
--- /dev/null
+++ b/dev-cpp/ms-gsl/ms-gsl-2.0.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Guideline Support Library implementation by Microsoft"
+HOMEPAGE="https://github.com/Microsoft/GSL"
+SRC_URI="https://github.com/Microsoft/GSL/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/GSL-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# header only library
+RDEPEND=""
+DEPEND="test? ( dev-cpp/catch:1 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-use_system_catch-636828.patch"
+ "${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGSL_TEST=$(usex test)
+ )
+ use test && mycmakeargs+=( -DFORCE_SYSTEM_CATCH=ON )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/ms-gsl/ms-gsl-2.1.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-2.1.0.ebuild
new file mode 100644
index 000000000000..a3c0c91b847f
--- /dev/null
+++ b/dev-cpp/ms-gsl/ms-gsl-2.1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Guideline Support Library implementation by Microsoft"
+HOMEPAGE="https://github.com/Microsoft/GSL"
+SRC_URI="https://github.com/Microsoft/GSL/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/GSL-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# header only library
+RDEPEND=""
+DEPEND="test? ( dev-cpp/catch:1 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-use_system_catch-636828.patch"
+ "${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGSL_TEST=$(usex test)
+ )
+ use test && mycmakeargs+=( -DFORCE_SYSTEM_CATCH=ON )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild
new file mode 100644
index 000000000000..525d59e6e4c9
--- /dev/null
+++ b/dev-cpp/ms-gsl/ms-gsl-3.1.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Guideline Support Library implementation by Microsoft"
+HOMEPAGE="https://github.com/Microsoft/GSL"
+SRC_URI="https://github.com/Microsoft/GSL/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/GSL-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# header only library
+RDEPEND=""
+DEPEND="test? ( >=dev-cpp/gtest-1.9.0_pre20190607 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
+ "${FILESDIR}/${PN}-3.0.0-use_system_gtest.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGSL_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/ms-gsl/ms-gsl-9999.ebuild b/dev-cpp/ms-gsl/ms-gsl-9999.ebuild
new file mode 100644
index 000000000000..d7f19d2bb295
--- /dev/null
+++ b/dev-cpp/ms-gsl/ms-gsl-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake git-r3
+
+DESCRIPTION="Guideline Support Library implementation by Microsoft"
+HOMEPAGE="https://github.com/Microsoft/GSL"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/Microsoft/GSL.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# header only library
+RDEPEND=""
+DEPEND="test? ( >=dev-cpp/gtest-1.9.0_pre20190607 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-disable_Werror-644042.patch"
+ "${FILESDIR}/${PN}-3.0.0-use_system_gtest.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGSL_TEST=$(usex test)
+ )
+ cmake_src_configure
+}