[gentoo-commits] repo/gentoo:master commit in: dev-cpp/catch/files/, dev-cpp/catch/
commit: 51d418d15538531b3c3d5c5ab48fd9bb1731ee9f Author: David Seifert gentoo org> AuthorDate: Sat Feb 26 14:31:07 2022 + Commit: David Seifert gentoo org> CommitDate: Sat Feb 26 14:31:07 2022 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51d418d1 dev-cpp/catch: add patch for brittle output test Closes: https://bugs.gentoo.org/834066 Signed-off-by: David Seifert gentoo.org> dev-cpp/catch/catch-2.13.8.ebuild | 2 ++ dev-cpp/catch/files/catch-2.13.8-musl-tests.patch | 24 +++ 2 files changed, 26 insertions(+) diff --git a/dev-cpp/catch/catch-2.13.8.ebuild b/dev-cpp/catch/catch-2.13.8.ebuild index a57a9d4e9d0f..9711bc919ca8 100644 --- a/dev-cpp/catch/catch-2.13.8.ebuild +++ b/dev-cpp/catch/catch-2.13.8.ebuild @@ -28,6 +28,8 @@ RESTRICT="!test? ( test )" BDEPEND="test? ( ${PYTHON_DEPS} )" +PATCHES=( "${FILESDIR}"/${P}-musl-tests.patch ) + pkg_setup() { use test && python-any-r1_pkg_setup } diff --git a/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch b/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch new file mode 100644 index ..86c60c15f34d --- /dev/null +++ b/dev-cpp/catch/files/catch-2.13.8-musl-tests.patch @@ -0,0 +1,24 @@ +From 3e88ccff3ba573fb6d1ab746596411eebe310a6b Mon Sep 17 00:00:00 2001 +From: John Zimmermann +Date: Thu, 31 Dec 2020 16:24:16 +0100 +Subject: [PATCH] Do not match exact amount of spaces for errno macro expansion + in approvalTests.py + +E.g. musl libc expands errno() to __errno_location() without a space between, glibc has 1 space. +--- + scripts/approvalTests.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py +index f8b9425c7c..73e9b83239 100755 +--- a/scripts/approvalTests.py b/scripts/approvalTests.py +@@ -44,7 +44,7 @@ + + # errno macro expands into various names depending on platform, so we need to fix them up as well + errnoParser = re.compile(r''' +-\(\*__errno_location\ \(\)\) ++\(\*__errno_location\s*\(\)\) + | + \(\*__error\(\)\) + |
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/catch/files/, dev-cpp/catch/
commit: 7571d22a49cdce0626968667e68638ff2111471e Author: Sam James gentoo org> AuthorDate: Tue Dec 28 23:49:38 2021 + Commit: Sam James gentoo org> CommitDate: Wed Dec 29 00:13:51 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7571d22a dev-cpp/catch: patch for glibc-2.34 Kind of cheesy patch but it is what it is, Catch1 is dead anyway. Closes: https://bugs.gentoo.org/803962 Signed-off-by: Sam James gentoo.org> dev-cpp/catch/catch-1.12.2-r1.ebuild | 44 ++ .../files/catch-1.12.2-glibc-2.34-sigstksz.patch | 67 ++ 2 files changed, 111 insertions(+) diff --git a/dev-cpp/catch/catch-1.12.2-r1.ebuild b/dev-cpp/catch/catch-1.12.2-r1.ebuild new file mode 100644 index ..9120c50ed593 --- /dev/null +++ b/dev-cpp/catch/catch-1.12.2-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +if [[ ${PV} == * ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git"; + EGIT_BRANCH="Catch1.x" +else + MY_P=${PN^}-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + + S="${WORKDIR}/${PN^}2-${PV}" +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2"; + +LICENSE="Boost-1.0" +SLOT="1" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="!https://src.fedoraproject.org/rpms/catch1/raw/rawhide/f/catch1-sigstksz.patch +https://bugs.gentoo.org/803962 + +commit 34650cd9ea2f7e4aa1e61b84ecf9913b87870680 +Author: Tom Hughes +Date: Fri Feb 19 10:45:49 2021 + + +Patch for non-constant SIGSTKSZ + +--- a/include/internal/catch_fatal_condition.hpp b/include/internal/catch_fatal_condition.hpp +@@ -136,7 +136,7 @@ namespace Catch { + static bool isSet; + static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)]; + static stack_t oldSigStack; +-static char altStackMem[SIGSTKSZ]; ++static char altStackMem[32768]; + + static void handleSignal( int sig ) { + std::string name = ""; +@@ -156,7 +156,7 @@ namespace Catch { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; +-sigStack.ss_size = SIGSTKSZ; ++sigStack.ss_size = 32768; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { 0 }; +@@ -188,7 +188,7 @@ namespace Catch { + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; +-char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; ++char FatalConditionHandler::altStackMem[32768] = {}; + + + } // namespace Catch +--- a/single_include/catch.hpp b/single_include/catch.hpp +@@ -6540,7 +6540,7 @@ namespace Catch { + static bool isSet; + static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)]; + static stack_t oldSigStack; +-static char altStackMem[SIGSTKSZ]; ++static char altStackMem[32768]; + + static void handleSignal( int sig ) { + std::string name = ""; +@@ -6560,7 +6560,7 @@ namespace Catch { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; +-sigStack.ss_size = SIGSTKSZ; ++sigStack.ss_size = 32768; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { 0 }; +@@ -6591,7 +6591,7 @@ namespace Catch { + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; +-char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; ++char FatalConditionHandler::altStackMem[32768] = {}; + + } // namespace Catch +
[gentoo-commits] repo/gentoo:master commit in: dev-cpp/catch/files/, dev-cpp/catch/
commit: 9edabe5400b81e731dcadefaaf2e8ba6e5f36a9b Author: David Seifert gentoo org> AuthorDate: Sat Aug 25 21:24:23 2018 + Commit: David Seifert gentoo org> CommitDate: Sat Aug 25 21:24:23 2018 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9edabe54 dev-cpp/catch: Version bump to 2.3.0 Package-Manager: Portage-2.3.44, Repoman-2.3.10 dev-cpp/catch/Manifest | 1 + dev-cpp/catch/catch-2.3.0.ebuild | 48 ++ .../catch/files/catch-2.3.0-python-automagic.patch | 25 +++ 3 files changed, 74 insertions(+) diff --git a/dev-cpp/catch/Manifest b/dev-cpp/catch/Manifest index dcfd1f2c0ee..dc01d5f3e0e 100644 --- a/dev-cpp/catch/Manifest +++ b/dev-cpp/catch/Manifest @@ -1,2 +1,3 @@ DIST Catch-1.11.0.tar.gz 376132 BLAKE2B 23a1a6292dd91ec1c71923b4902b42b59ff6be5227b666f68ef0dc33756a58a63edd70a9b139dda0b1860c2b7a0cfec7ab9262e6447eff3184cfe28ea9b0aa77 SHA512 33085c2671f78c7562eace909564b2730eabcaf4490cd463402e66ab4ac2be1fe4fe360916c11aa589ba4a010622444126ee2ae747783b5869b5d7276361f132 DIST Catch2-2.2.2.tar.gz 497244 BLAKE2B d5073d56b9399bd7f50bafc7758e60e31ba4434e229f92ca92cd04257f4a54cec925ad3180cc964c4f69edbaa7fc14f8af8e828421e2bb2b4f6c59eaea5cc06d SHA512 ab91036c6c3ace087d0382ce99f26b2c30a4b75d52f285619ca282a618470fe388afe47495f3b2764268d600c6834c60ba464483d06f3a1c4316c099477c8e38 +DIST Catch2-2.3.0.tar.gz 506374 BLAKE2B f692eb0933ca578edf0f15cb83139d2fab03390b3980a686ea495101165d612c848b642ad1e7233bce5bb164c80958c9cbfbc229e72a1ae6947aa4dffdf27556 SHA512 e9a089b504c339e87bda0fb1a4040d9d19c932a4bc7dca41bdad6edfcf8c428f4152ff1e0c898dfdf6b20bd5d901c343bed00ad89351fa5182f3c106e0fb4b03 diff --git a/dev-cpp/catch/catch-2.3.0.ebuild b/dev-cpp/catch/catch-2.3.0.ebuild new file mode 100644 index 000..94a870ee7ce --- /dev/null +++ b/dev-cpp/catch/catch-2.3.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +inherit cmake-utils python-any-r1 + +if [[ ${PV} == * ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/catchorg/Catch2.git"; +else + MY_P=${PN^}2-${PV} + SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" + + S=${WORKDIR}/${MY_P} +fi + +DESCRIPTION="Modern C++ header-only framework for unit-tests" +HOMEPAGE="https://github.com/catchorg/Catch2"; + +LICENSE="Boost-1.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="test? ( ${PYTHON_DEPS} )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.3.0-python-automagic.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCATCH_ENABLE_WERROR=OFF + -DBUILD_TESTING=$(usex test) + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + cmake-utils_src_configure +} diff --git a/dev-cpp/catch/files/catch-2.3.0-python-automagic.patch b/dev-cpp/catch/files/catch-2.3.0-python-automagic.patch new file mode 100644 index 000..c7fa4c6d22f --- /dev/null +++ b/dev-cpp/catch/files/catch-2.3.0-python-automagic.patch @@ -0,0 +1,25 @@ +--- a/CMakeLists.txt b/CMakeLists.txt +@@ -36,7 +36,11 @@ + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:wmainCRTStartup") + endif() + ++find_package(PythonInterp) + if (BUILD_TESTING AND CATCH_BUILD_TESTING AND NOT_SUBPROJECT) ++if (NOT PYTHONINTERP_FOUND) ++message(FATAL_ERROR "Python not found, but required for tests") ++endif() + add_subdirectory(projects) + endif() + +--- a/projects/CMakeLists.txt b/projects/CMakeLists.txt +@@ -317,7 +317,7 @@ + set_tests_properties(NoTest PROPERTIES PASS_REGULAR_EXPRESSION "No test cases matched") + + # AppVeyor has a Python 2.7 in path, but doesn't have .py files as autorunnable +-add_test(NAME ApprovalTests COMMAND python ${CATCH_DIR}/scripts/approvalTests.py $) ++add_test(NAME ApprovalTests COMMAND ${PYTHON_EXECUTABLE} ${CATCH_DIR}/scripts/approvalTests.py $) + set_tests_properties(ApprovalTests PROPERTIES FAIL_REGULAR_EXPRESSION "Results differed") + + if (CATCH_USE_VALGRIND)