aboutsummaryrefslogtreecommitdiff
path: root/package/sentry-native
diff options
context:
space:
mode:
Diffstat (limited to 'package/sentry-native')
-rw-r--r--package/sentry-native/0001-sentry.h-include-ucontext.h.patch27
-rw-r--r--package/sentry-native/Config.in28
-rw-r--r--package/sentry-native/sentry-native.hash3
-rw-r--r--package/sentry-native/sentry-native.mk17
4 files changed, 75 insertions, 0 deletions
diff --git a/package/sentry-native/0001-sentry.h-include-ucontext.h.patch b/package/sentry-native/0001-sentry.h-include-ucontext.h.patch
new file mode 100644
index 0000000000..108f38928e
--- /dev/null
+++ b/package/sentry-native/0001-sentry.h-include-ucontext.h.patch
@@ -0,0 +1,27 @@
+From 6a3b7b28f34c91c72d8b849903d93de2997b82f1 Mon Sep 17 00:00:00 2001
+From: Joseph Kogut <joseph.kogut@gmail.com>
+Date: Tue, 8 Sep 2020 11:40:01 -0700
+Subject: [PATCH] sentry.h: include ucontext.h
+
+This is included by signal.h in newer versions of glibc, but results
+in an unknown type name error in older versions.
+
+Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
+---
+ include/sentry.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/sentry.h b/include/sentry.h
+index 25754d9..a55cc00 100644
+--- a/include/sentry.h
++++ b/include/sentry.h
+@@ -78,6 +78,7 @@ extern "C" {
+ # include <wtypes.h>
+ #else
+ # include <signal.h>
++# include <ucontext.h>
+ #endif
+
+ /**
+--
+2.28.0
diff --git a/package/sentry-native/Config.in b/package/sentry-native/Config.in
new file mode 100644
index 0000000000..7a3cbd36ad
--- /dev/null
+++ b/package/sentry-native/Config.in
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_SENTRY_NATIVE
+ bool "sentry-native"
+ depends on BR2_INSTALL_LIBSTDCPP # google-breakpad
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # google-breakpad
+ depends on BR2_USE_WCHAR # google-breakpad
+ depends on BR2_TOOLCHAIN_HAS_THREADS # google-breakpad
+ # google-breakpad is restricted to glibc or uClibc, but
+ # sentry-native needs <execinfo.h>, so it restricts further to
+ # just glibc.
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS # google-breakpad
+ depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS # google-breakpad
+ select BR2_PACKAGE_GOOGLE_BREAKPAD
+ select BR2_PACKAGE_LIBCURL
+ help
+ The Sentry Native SDK is an error and crash
+ reporting client for native applications,
+ optimized for C and C++.
+
+ https://github.com/getsentry/sentry-native
+
+comment "sentry-native needs a glibc toolchain with w/ wchar, thread, C++, gcc >= 4.8"
+ depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_TOOLCHAIN_USES_GLIBC || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/sentry-native/sentry-native.hash b/package/sentry-native/sentry-native.hash
new file mode 100644
index 0000000000..dffc7aeca3
--- /dev/null
+++ b/package/sentry-native/sentry-native.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 a7d04fe9b9175c30a58ce20ae23b510595045a66884a447dd21ff2d0c749751b sentry-native-0.4.1.tar.gz
+sha256 5ef07a3d95f1f779c1597c0fbaecbb7ba242128ff0587ed1e3214c7ac6154523 LICENSE
diff --git a/package/sentry-native/sentry-native.mk b/package/sentry-native/sentry-native.mk
new file mode 100644
index 0000000000..f074388970
--- /dev/null
+++ b/package/sentry-native/sentry-native.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# sentry-native
+#
+################################################################################
+
+SENTRY_NATIVE_VERSION = 0.4.1
+SENTRY_NATIVE_SITE = $(call github,getsentry,sentry-native,$(SENTRY_NATIVE_VERSION))
+SENTRY_NATIVE_LICENSE = MIT
+SENTRY_NATIVE_LICENSE_FILES = LICENSE
+SENTRY_NATIVE_DEPENDENCIES = libcurl google-breakpad
+SENTRY_NATIVE_INSTALL_STAGING = YES
+
+# Use the built system breakpad client instead of bundling
+SENTRY_NATIVE_CONF_OPTS += -DSENTRY_BREAKPAD_SYSTEM=ON
+
+$(eval $(cmake-package))