commit:     cd98bb25989a12fb6d7bea3fe6d6c0e2490c2ecd
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 23:55:21 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 00:26:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd98bb25

dev-libs/sentry-native: new package, add 0.6.5

Needed by >=mail-mta/proton-mail-bridge-3[gui].

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 dev-libs/sentry-native/Manifest                    |  1 +
 .../files/sentry-native-0.6.5_no-fuzz-test.patch   | 20 +++++++++++
 dev-libs/sentry-native/metadata.xml                | 15 ++++++++
 dev-libs/sentry-native/sentry-native-0.6.5.ebuild  | 42 ++++++++++++++++++++++
 4 files changed, 78 insertions(+)

diff --git a/dev-libs/sentry-native/Manifest b/dev-libs/sentry-native/Manifest
new file mode 100644
index 000000000000..edea38c2f4c5
--- /dev/null
+++ b/dev-libs/sentry-native/Manifest
@@ -0,0 +1 @@
+DIST sentry-native-0.6.5.tar.gz 325573 BLAKE2B 
6308bef5cc194c3eb8f6f30d1ee894f3d7528d31604f26d6d54cfcc1545ef561346f60c9f35e80662431ad6145cf27a4adac70255b01f230551a541fd4dae709
 SHA512 
0c0be06f72f53277c9a34ca6514dc96ad14b4239ee92ae65e00d45a515ce13bc314982a651c476ddbb453079ea3fc3fa0bb75cc683dce046f69f0fe1d024f32e

diff --git 
a/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch 
b/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch
new file mode 100644
index 000000000000..70231c02da9e
--- /dev/null
+++ b/dev-libs/sentry-native/files/sentry-native-0.6.5_no-fuzz-test.patch
@@ -0,0 +1,20 @@
+On the one hand the bundled upstream README only mentions sentry_test_unit
+as a test suite meant for the users to run, on the other comments
+in sentry_fuzz_json sources state that it has to be built in a very
+special - and performance-killing - way in order to work.
+
+--- a/tests/unit/CMakeLists.txt
++++ b/tests/unit/CMakeLists.txt
+@@ -89,6 +89,7 @@
+ 
+ add_test(NAME sentry_test_unit COMMAND sentry_test_unit)
+ 
++if(0)
+ add_executable(sentry_fuzz_json
+       ${SENTRY_SOURCES}
+       fuzz.c
+@@ -114,3 +115,4 @@
+ endif()
+ 
+ add_test(NAME sentry_fuzz_json COMMAND sentry_fuzz_json)
++endif()

diff --git a/dev-libs/sentry-native/metadata.xml 
b/dev-libs/sentry-native/metadata.xml
new file mode 100644
index 000000000000..aecfa74c176a
--- /dev/null
+++ b/dev-libs/sentry-native/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Marek Szuba</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">getsentry/sentry-native</remote-id>
+       </upstream>
+       <use>
+               <flag name="breakpad">Use <pkg>dev-util/breakpad</pkg> as the 
crash handler</flag>
+               <flag name="curl">Enable support for automated uploading of 
crash reports</flag>
+       </use>
+</pkgmetadata>

diff --git a/dev-libs/sentry-native/sentry-native-0.6.5.ebuild 
b/dev-libs/sentry-native/sentry-native-0.6.5.ebuild
new file mode 100644
index 000000000000..c3aebc25ea41
--- /dev/null
+++ b/dev-libs/sentry-native/sentry-native-0.6.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Sentry SDK for C, C++ and native applications"
+HOMEPAGE="https://sentry.io/ https://github.com/getsentry/sentry-native";
+SRC_URI="https://github.com/getsentry/${PN}/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+breakpad +curl test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       breakpad? ( dev-util/breakpad )
+       curl? ( net-misc/curl )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DSENTRY_BUILD_EXAMPLES=OFF
+               -DSENTRY_BACKEND=$(usex breakpad "breakpad" "inproc")
+               -DSENTRY_BUILD_TESTS=$(usex test)
+               -DSENTRY_TRANSPORT=$(usex curl "curl" "none")
+       )
+       # Avoid "not used by the project" warnings when USE=-breakpad
+       if use breakpad; then
+               mycmakeargs+=( -DSENTRY_BREAKPAD_SYSTEM=ON )
+       fi
+
+       cmake_src_configure
+}

Reply via email to