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
+}

Reply via email to