diff options
Diffstat (limited to 'dev-cpp/doctest')
| -rw-r--r-- | dev-cpp/doctest/Manifest | 2 | ||||
| -rw-r--r-- | dev-cpp/doctest/doctest-2.4.12.ebuild | 35 | ||||
| -rw-r--r-- | dev-cpp/doctest/doctest-2.5.2.ebuild | 31 | ||||
| -rw-r--r-- | dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch | 72 | ||||
| -rw-r--r-- | dev-cpp/doctest/metadata.xml | 9 |
5 files changed, 149 insertions, 0 deletions
diff --git a/dev-cpp/doctest/Manifest b/dev-cpp/doctest/Manifest new file mode 100644 index 000000000000..b3e3a6b22802 --- /dev/null +++ b/dev-cpp/doctest/Manifest @@ -0,0 +1,2 @@ +DIST doctest-2.4.12.tar.gz 2188849 BLAKE2B 94f2eb2988a175f52b1e75f4d84cfdce278ed647825d5a845284622efa9a9a921f958d0cf21e9215e0afebdcfa3ae82f87cc8b5d78f2ec7a3ef07b07457e81f7 SHA512 d55aae632e6d66add7b65d0e97bde5063cdae7512836f278613af35957c62dbc6b0b0febbe2eb1eddd334a7a5343faca7357a2eeebbf1428cafffeb5d18e610c +DIST doctest-2.5.2.tar.gz 2243945 BLAKE2B 37b9936b3427e47e926e40005eaa951c1100ec19135a5920da43a2c61458480bd38cea3d07f80702e7a17639317460115a0e00f696f5e6181c9cddc0bb4ffa70 SHA512 9105552d3e6a1e21f6342cf3a3ed4521d1535336fbbd2243515092206746aa1da90a2e0df8043079b181114b63bac1f3f414e34e391a6815eba09e28802342de diff --git a/dev-cpp/doctest/doctest-2.4.12.ebuild b/dev-cpp/doctest/doctest-2.4.12.ebuild new file mode 100644 index 000000000000..46a69e7a5850 --- /dev/null +++ b/dev-cpp/doctest/doctest-2.4.12.ebuild @@ -0,0 +1,35 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="The fastest feature-rich C++11/14/17/20 single-header testing framework" +HOMEPAGE="https://github.com/doctest/doctest" +SRC_URI="https://github.com/doctest/doctest/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.11-backport-pr770.patch" +) + +# skip false positive detection in examples, bug #957418 +CMAKE_QA_COMPAT_SKIP=1 + +src_prepare() { + sed -i '/-Werror/d' scripts/cmake/common.cmake || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DDOCTEST_WITH_TESTS=$(usex test) + ) + cmake_src_configure +} diff --git a/dev-cpp/doctest/doctest-2.5.2.ebuild b/dev-cpp/doctest/doctest-2.5.2.ebuild new file mode 100644 index 000000000000..f4e13de407bd --- /dev/null +++ b/dev-cpp/doctest/doctest-2.5.2.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="The fastest feature-rich C++11/14/17/20 single-header testing framework" +HOMEPAGE="https://github.com/doctest/doctest" +SRC_URI="https://github.com/doctest/doctest/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +# skip false positive detection in examples, bug #957418 +CMAKE_QA_COMPAT_SKIP=1 + +src_prepare() { + sed -i '/-Werror/d' scripts/cmake/common.cmake || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DDOCTEST_WITH_TESTS=$(usex test) + ) + cmake_src_configure +} diff --git a/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch b/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch new file mode 100644 index 000000000000..eb1f8625d34e --- /dev/null +++ b/dev-cpp/doctest/files/doctest-2.4.11-backport-pr770.patch @@ -0,0 +1,72 @@ +https://bugs.gentoo.org/874345 +https://github.com/doctest/doctest/pull/770 +https://github.com/doctest/doctest/issues/711 + +commit 1ffb66bff7533f7ea42d801facf1b87d72621ac5 +Author: matoro <matoro@users.noreply.github.com> +Date: Sat Apr 15 11:15:25 2023 -0400 + + Add sleep of one clock-resolution to test which should trigger timeout + + Fixes https://github.com/doctest/doctest/issues/711 under HPPA, and + partially under alpha. + +diff --git a/examples/all_features/CMakeLists.txt b/examples/all_features/CMakeLists.txt +index ebc75c2..4556227 100644 +--- a/examples/all_features/CMakeLists.txt ++++ b/examples/all_features/CMakeLists.txt +@@ -39,6 +39,12 @@ set(files_all + # add the executable + add_executable(all_features ${files_all}) + target_link_libraries(all_features doctest ${CMAKE_THREAD_LIBS_INIT}) ++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ target_link_options(all_features PRIVATE "-rtlib=compiler-rt") ++ if(LINUX) ++ target_link_libraries(all_features "-lgcc_s") ++ endif() ++endif() + + # easy way to fix test coverage - disable colors and crash handling + target_compile_definitions(all_features PRIVATE +@@ -124,6 +130,12 @@ function(add_test_all_features test_name flags) + add_executable(${test_name} ${files_with_output}) + target_compile_definitions(${test_name} PRIVATE ${flags}) + target_link_libraries(${test_name} doctest ${CMAKE_THREAD_LIBS_INIT}) ++ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ target_link_options(${test_name} PRIVATE "-rtlib=compiler-rt") ++ if(LINUX) ++ target_link_libraries(${test_name} "-lgcc_s") ++ endif() ++ endif() + + doctest_add_test_impl(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}> --no-skipped-summary --no-version -ob=name) + endfunction() +diff --git a/examples/all_features/test_cases_and_suites.cpp b/examples/all_features/test_cases_and_suites.cpp +index 13b316d..d87f2fd 100644 +--- a/examples/all_features/test_cases_and_suites.cpp ++++ b/examples/all_features/test_cases_and_suites.cpp +@@ -2,6 +2,12 @@ + + #include "header.h" + ++DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN ++#include <chrono> ++#include <ctime> ++#include <thread> ++DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END ++ + static int doStuff() { + int a = 5; + a += 2; +@@ -46,6 +52,11 @@ TEST_CASE_FIXTURE(SomeFixture, "fixtured test - not part of a test suite") { + + TEST_CASE("normal test in a test suite from a decorator" * doctest::test_suite("ts1") * + doctest::timeout(0.000001)) { ++#ifndef _WIN32 ++ struct timespec res{}; ++ clock_getres(CLOCK_MONOTONIC, &res); ++ std::this_thread::sleep_for(std::chrono::nanoseconds(res.tv_nsec)); ++#endif + MESSAGE("failing because of the timeout decorator!"); + } + diff --git a/dev-cpp/doctest/metadata.xml b/dev-cpp/doctest/metadata.xml new file mode 100644 index 000000000000..c460841fdaf8 --- /dev/null +++ b/dev-cpp/doctest/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>arkamar@gentoo.org</email> + <name>Petr Vaněk</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
