commit: 07bf3c91f77f1f1be8ae4c40af34415c2d7738ee Author: Ronny (tastytea) Gutbrod <gentoo <AT> tastytea <DOT> de> AuthorDate: Mon Aug 1 12:33:39 2022 +0000 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me> CommitDate: Mon Aug 1 12:33:39 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=07bf3c91
dev-cpp/mastodonpp: add patch for catch 3 Closes: https://bugs.gentoo.org/861668 Signed-off-by: Ronny (tastytea) Gutbrod <gentoo <AT> tastytea.de> .../mastodonpp-0.5.7-add-support-for-catch-3.patch | 139 +++++++++++++++++++++ dev-cpp/mastodonpp/mastodonpp-0.5.7-r1.ebuild | 61 +++++++++ 2 files changed, 200 insertions(+) diff --git a/dev-cpp/mastodonpp/files/mastodonpp-0.5.7-add-support-for-catch-3.patch b/dev-cpp/mastodonpp/files/mastodonpp-0.5.7-add-support-for-catch-3.patch new file mode 100644 index 000000000..e63324cfc --- /dev/null +++ b/dev-cpp/mastodonpp/files/mastodonpp-0.5.7-add-support-for-catch-3.patch @@ -0,0 +1,139 @@ +# Upstream commit: <https://schlomp.space/tastytea/mastodonpp/commit/7255df0> + +From 7255df01e047da9bf88dcb6945d07b49126e24b4 Mon Sep 17 00:00:00 2001 +From: tastytea <tasty...@tastytea.de> +Date: Mon, 1 Aug 2022 14:01:38 +0200 +Subject: [PATCH] add support for testing with catch 3 + +--- + tests/CMakeLists.txt | 11 ++++++++--- + tests/main.cpp | 9 +++++++-- + tests/test_connection.cpp | 9 +++++++-- + tests/test_html_unescape.cpp | 9 +++++++-- + tests/test_instance.cpp | 9 +++++++-- + 5 files changed, 36 insertions(+), 11 deletions(-) + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 3f7107b..dacc10d 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -3,11 +3,16 @@ include(CTest) + file(GLOB sources_tests test_*.cpp) + + find_package(Catch2 CONFIG) +-if(Catch2_FOUND) # Catch 2.x ++if(Catch2_FOUND) # Catch 2.x / 3.x + include(Catch) + add_executable(all_tests main.cpp ${sources_tests}) +- target_link_libraries(all_tests +- PRIVATE Catch2::Catch2 ${PROJECT_NAME}) ++ if(TARGET Catch2::Catch2WithMain) # Catch 3.x ++ target_link_libraries(all_tests ++ PRIVATE Catch2::Catch2WithMain ${PROJECT_NAME}) ++ else() # Catch 2.x ++ target_link_libraries(all_tests ++ PRIVATE Catch2::Catch2 ${PROJECT_NAME}) ++ endif() + target_include_directories(all_tests PRIVATE "/usr/include/catch2") + catch_discover_tests(all_tests EXTRA_ARGS "${EXTRA_TEST_ARGS}") + else() # Catch 1.x +diff --git a/tests/main.cpp b/tests/main.cpp +index 162dfdf..c6d12ed 100644 +--- a/tests/main.cpp ++++ b/tests/main.cpp +@@ -1,5 +1,5 @@ + /* This file is part of mastodonpp. +- * Copyright © 2020 tastytea <tasty...@tastytea.de> ++ * Copyright © 2020, 2022 tastytea <tasty...@tastytea.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by +@@ -16,4 +16,9 @@ + + #define CATCH_CONFIG_MAIN + +-#include <catch.hpp> ++// catch 3 does not have catch.hpp anymore ++#if __has_include(<catch.hpp>) ++# include <catch.hpp> ++#else ++# include <catch_all.hpp> ++#endif +diff --git a/tests/test_connection.cpp b/tests/test_connection.cpp +index 05d7668..208e8de 100644 +--- a/tests/test_connection.cpp ++++ b/tests/test_connection.cpp +@@ -1,5 +1,5 @@ + /* This file is part of mastodonpp. +- * Copyright © 2020 tastytea <tasty...@tastytea.de> ++ * Copyright © 2020, 2022 tastytea <tasty...@tastytea.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by +@@ -17,7 +17,12 @@ + #include "connection.hpp" + #include "instance.hpp" + +-#include <catch.hpp> ++// catch 3 does not have catch.hpp anymore ++#if __has_include(<catch.hpp>) ++# include <catch.hpp> ++#else ++# include <catch_all.hpp> ++#endif + + #include <exception> + +diff --git a/tests/test_html_unescape.cpp b/tests/test_html_unescape.cpp +index d141921..1c75dd8 100644 +--- a/tests/test_html_unescape.cpp ++++ b/tests/test_html_unescape.cpp +@@ -1,5 +1,5 @@ + /* This file is part of mastodonpp. +- * Copyright © 2020 tastytea <tasty...@tastytea.de> ++ * Copyright © 2020, 2022 tastytea <tasty...@tastytea.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by +@@ -16,7 +16,12 @@ + + #include "helpers.hpp" + +-#include <catch.hpp> ++// catch 3 does not have catch.hpp anymore ++#if __has_include(<catch.hpp>) ++# include <catch.hpp> ++#else ++# include <catch_all.hpp> ++#endif + + #include <exception> + #include <string> +diff --git a/tests/test_instance.cpp b/tests/test_instance.cpp +index 768cc2a..ebc2c0c 100644 +--- a/tests/test_instance.cpp ++++ b/tests/test_instance.cpp +@@ -1,5 +1,5 @@ + /* This file is part of mastodonpp. +- * Copyright © 2020 tastytea <tasty...@tastytea.de> ++ * Copyright © 2020, 2022 tastytea <tasty...@tastytea.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by +@@ -16,7 +16,12 @@ + + #include "instance.hpp" + +-#include <catch.hpp> ++// catch 3 does not have catch.hpp anymore ++#if __has_include(<catch.hpp>) ++# include <catch.hpp> ++#else ++# include <catch_all.hpp> ++#endif + + #include <exception> + #include <string> +-- +2.35.1 + diff --git a/dev-cpp/mastodonpp/mastodonpp-0.5.7-r1.ebuild b/dev-cpp/mastodonpp/mastodonpp-0.5.7-r1.ebuild new file mode 100644 index 000000000..3f03ff4df --- /dev/null +++ b/dev-cpp/mastodonpp/mastodonpp-0.5.7-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake +[[ "${PV}" == "9999" ]] && inherit git-r3 + +DESCRIPTION="C++ wrapper for the Mastodon and Pleroma APIs." +HOMEPAGE="https://schlomp.space/tastytea/mastodonpp" +if [[ "${PV}" != "9999" ]]; then + SRC_URI="https://schlomp.space/tastytea/mastodonpp/archive/${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}" + KEYWORDS="~amd64" +else + EGIT_REPO_URI="https://schlomp.space/tastytea/mastodonpp.git" +fi + +LICENSE="AGPL-3" +SLOT="0" +IUSE="doc examples test" + +RDEPEND=">=net-misc/curl-7.56.0[ssl]" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-doc/doxygen[dot] ) + test? ( dev-cpp/catch ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}"/${PN}-0.5.7-add-support-for-catch-3.patch ) + +src_configure() { + local mycmakeargs=( + -DWITH_EXAMPLES=NO + -DWITH_TESTS="$(usex test)" + -DWITH_DOC="$(usex doc)" + ) + + cmake_src_configure +} + +src_test() { + BUILD_DIR="${BUILD_DIR}/tests" cmake_src_test +} + +src_install() { + if use doc; then + HTML_DOCS="${BUILD_DIR}/doc/html/*" + fi + + if use examples; then + docinto examples + for file in examples/*.cpp; do + dodoc ${file} + done + fi + + cmake_src_install +}