summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/dev-libs/libunwind/files/0001-tests-Use-correctly-prefixed-nm-binary.patch45
-rw-r--r--packages/dev-libs/libunwind/files/0002-tests-Remove-coredump-tests.patch39
-rw-r--r--packages/dev-libs/libunwind/libunwind-scm.exheres-055
-rw-r--r--packages/dev-util/google-perf-tools/google-perf-tools-scm.exheres-038
4 files changed, 177 insertions, 0 deletions
diff --git a/packages/dev-libs/libunwind/files/0001-tests-Use-correctly-prefixed-nm-binary.patch b/packages/dev-libs/libunwind/files/0001-tests-Use-correctly-prefixed-nm-binary.patch
new file mode 100644
index 0000000..1f61c0e
--- /dev/null
+++ b/packages/dev-libs/libunwind/files/0001-tests-Use-correctly-prefixed-nm-binary.patch
@@ -0,0 +1,45 @@
+From 488db3f013e3d50c104760df8fa0771a2f679d9c Mon Sep 17 00:00:00 2001
+From: Marvin Schmidt <marv@exherbo.org>
+Date: Sun, 25 Sep 2016 20:00:02 +0200
+Subject: [PATCH 1/2] tests: Use correctly prefixed nm binary
+
+---
+ configure.ac | 4 ++++
+ tests/check-namespace.sh.in | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index cffe19b..61f6cfc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,6 +21,10 @@ LT_INIT
+ AM_PROG_AS
+ AM_PROG_CC_C_O
+
++dnl for namespace test
++AC_PROG_GREP
++AC_PROG_NM
++
+ dnl Checks for libraries.
+ AC_CHECK_LIB(uca, __uc_get_grs)
+ OLD_LIBS=${LIBS}
+diff --git a/tests/check-namespace.sh.in b/tests/check-namespace.sh.in
+index d2e6efb..56a63f1 100644
+--- a/tests/check-namespace.sh.in
++++ b/tests/check-namespace.sh.in
+@@ -28,10 +28,10 @@ fetch_symtab () {
+ # Unfortunately, "nm --defined" is a GNU-extension. For portability,
+ # build the list of defined symbols by hand.
+ #
+- symtab=`nm -g $filename`
++ symtab=`$NM -g $filename`
+ saved_IFS="$IFS"
+ IFS=""
+- undef=`nm -g -u $filename`
++ undef=`$NM -g -u $filename`
+ for line in $undef; do
+ symtab=`echo "$symtab" | grep -v "^${line}"\$`
+ done;
+--
+2.10.0
+
diff --git a/packages/dev-libs/libunwind/files/0002-tests-Remove-coredump-tests.patch b/packages/dev-libs/libunwind/files/0002-tests-Remove-coredump-tests.patch
new file mode 100644
index 0000000..38afde2
--- /dev/null
+++ b/packages/dev-libs/libunwind/files/0002-tests-Remove-coredump-tests.patch
@@ -0,0 +1,39 @@
+From 8815239fc4e9cc8bc60a2703a622c0f5280f36c2 Mon Sep 17 00:00:00 2001
+From: Marvin Schmidt <marv@exherbo.org>
+Date: Mon, 26 Sep 2016 08:11:21 +0200
+Subject: [PATCH 2/2] tests: Remove coredump tests
+Upstream: No, not a suitable solution. Improvement of tests is/was discussed at https://lists.nongnu.org/archive/html/libunwind-devel/2016-02/
+msg00019.html
+
+The coredump tests rely on the assumption that coredump files
+are created in the current working directory. This assumption is
+false when e.g. systemd-coredump is used.
+---
+ tests/Makefile.am | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 7287e7b..796df0c 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -66,17 +66,6 @@ if SUPPORT_CXX_EXCEPTIONS
+ check_PROGRAMS_cdep += Ltest-cxx-exceptions
+ endif
+
+-if OS_LINUX
+-if BUILD_COREDUMP
+- check_SCRIPTS_cdep += run-coredump-unwind
+- noinst_PROGRAMS_cdep += crasher test-coredump-unwind
+-
+-if HAVE_LZMA
+- check_SCRIPTS_cdep += run-coredump-unwind-mdi
+-endif # HAVE_LZMA
+-endif # BUILD_COREDUMP
+-endif # OS_LINUX
+-
+ perf: perf-startup Gperf-simple Lperf-simple Lperf-trace
+ @echo "########## Basic performance of generic libunwind:"
+ @./Gperf-simple
+--
+2.13.1
+
diff --git a/packages/dev-libs/libunwind/libunwind-scm.exheres-0 b/packages/dev-libs/libunwind/libunwind-scm.exheres-0
new file mode 100644
index 0000000..27d63fe
--- /dev/null
+++ b/packages/dev-libs/libunwind/libunwind-scm.exheres-0
@@ -0,0 +1,55 @@
+# Copyright 2012, 2014 Ali Polatel <alip@exherbo.org>
+# Based in part upon libunwind-1.1.ebuild of Gentoo which is:
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+SCM_REPOSITORY="git://git.sv.gnu.org/libunwind.git"
+require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.13 ] ]
+require scm-git
+
+SUMMARY="C programming interface to determine the call-chain of a program"
+DESCRIPTION="
+The primary goal of this project is to define a portable and efficient C
+programming interface (API) to determine the call-chain of a program. The API
+additionally provides the means to manipulate the preserved (callee-saved) state
+of each call-frame and to resume execution at any point in the call-chain
+(non-local goto).
+"
+HOMEPAGE="http://www.nongnu.org/libunwind/"
+DOWNLOADS=""
+
+LICENCES="MIT"
+SLOT="0"
+PLATFORMS="~amd64 ~armv7 ~armv8 ~x86"
+MYOPTIONS="
+ debug [[ description = [ Enable debug-frame, minidebuginfo and other goodies ] ]]
+ doc
+"
+
+DEPENDENCIES="
+ build:
+ doc? ( app-text/texlive-core [[ note = latex2man ]] )
+ build+run:
+ debug? ( app-arch/xz )
+"
+
+BUGS_TO="alip@exherbo.org"
+
+# Some tests are known to fail on some platforms including x86, see
+# https://bugs.gentoo.org/show_bug.cgi?id=461958 and
+# https://lists.nongnu.org/archive/html/libunwind-devel/2013-03/msg00005.html
+RESTRICT="test"
+
+DEFAULT_SRC_PREPARE_PATCHES=(
+ "${FILES}"/0001-tests-Use-correctly-prefixed-nm-binary.patch
+ "${FILES}"/0002-tests-Remove-coredump-tests.patch
+)
+
+DEFAULT_SRC_CONFIGURE_PARAMS=( --enable-cxx-exceptions )
+DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
+ debug
+ 'debug minidebuginfo'
+ 'debug debug-frame'
+ 'doc documentation'
+)
+
diff --git a/packages/dev-util/google-perf-tools/google-perf-tools-scm.exheres-0 b/packages/dev-util/google-perf-tools/google-perf-tools-scm.exheres-0
new file mode 100644
index 0000000..8d44c9b
--- /dev/null
+++ b/packages/dev-util/google-perf-tools/google-perf-tools-scm.exheres-0
@@ -0,0 +1,38 @@
+# Distributed under the terms of the GNU General Public License v2
+
+SCM_REPOSITORY="https://github.com/gperftools/gperftools.git"
+
+require scm-git flag-o-matic
+require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.13 1.12 1.11 ] need_libtool=false ]
+
+
+DOWNLOADS=""
+SLOT="0"
+PLATFORMS="~amd64 ~x86"
+
+SUMMARY="Fast, multi-threaded malloc() and nifty performance analysis tools"
+DESCRIPTION=""
+HOMEPAGE="https://github.com/gperftools/gperftools"
+
+MYOPTIONS="
+ largepages
+ debug
+ minimal
+ optimisememory
+"
+
+DEPENDENCIES="
+ build+run:
+ dev-libs/libunwind
+"
+
+src_configure() {
+ option largepages && append-flags -DTCMALLOC_LARGE_PAGES
+ option optimisememory && append-flags -DTCMALLOC_SMALL_BUT_SLOW
+ append-flags -fno-strict-aliasing -fno-omit-frame-pointer
+
+ econf \
+ $(option_enable debug debugalloc)
+
+
+}