From ab08069ad4a384e9bb5703a81e1399cb90041c67 Mon Sep 17 00:00:00 2001 From: Max Rees Date: Fri, 19 Jul 2019 18:51:23 -0400 Subject: experimental/libabigail: new package Problems: * Test suite relies on non-reproducible binaries. Lots of tests fail presumably because it expects a glibc-based system. * Can't seem to get the tools to actually work on musl-produced binaries. No significant output is generated. --- experimental/libabigail/APKBUILD | 46 +++++++++++++++++++++++++++++ experimental/libabigail/musl-basename.patch | 10 +++++++ experimental/libabigail/musl-fts.patch | 32 ++++++++++++++++++++ experimental/libabigail/redhat-bs.patch | 11 +++++++ 4 files changed, 99 insertions(+) create mode 100644 experimental/libabigail/APKBUILD create mode 100644 experimental/libabigail/musl-basename.patch create mode 100644 experimental/libabigail/musl-fts.patch create mode 100644 experimental/libabigail/redhat-bs.patch (limited to 'experimental') diff --git a/experimental/libabigail/APKBUILD b/experimental/libabigail/APKBUILD new file mode 100644 index 000000000..87c80935e --- /dev/null +++ b/experimental/libabigail/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Max Rees +# Maintainer: Max Rees +pkgname=libabigail +pkgver=1.6 +pkgrel=0 +pkgdesc="The ABI Generic Analysis and Instrumentation Library" +url="https://sourceware.org/libabigail/" +arch="all" +options="!check" # Relies on checking non-reproducible binaries. +license="LGPL-3.0+" +depends="" +depends_dev="" +makedepends="$depends_dev elfutils-dev fts-dev libxml2-dev" +subpackages="$pkgname-dev" +source="http://mirrors.kernel.org/sourceware/libabigail/$pkgname-$pkgver.tar.gz + musl-basename.patch + musl-fts.patch + redhat-bs.patch" + +prepare() { + default_prepare + autoreconf -vif +} + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="2ba775bd836b53265dae60e66065fc2106e7f633e890cc70b6abacb8426e04ec0b7b38593c21336f5785cf5e4eb8d110fb15ce63124cddc59f660f31c7b25b3c libabigail-1.6.tar.gz +ef5c7db0ce05dff36c654e4a6345ded43032b76bdc9159da60a5fdc59b3c70943881cb19c87a4c6b30eccb774c6c7767e790b395564058f5dbaa6e3f3e0b1373 musl-fts.patch +0f5dcee3fbb1ee949df22e13a8ad248a8e39a086cb4c3561f5f45235c2f27cc589a07886560e2ecf7ee040811f64892c0e74ed653e0a1a5d20e62ab360c388a4 redhat-bs.patch" diff --git a/experimental/libabigail/musl-basename.patch b/experimental/libabigail/musl-basename.patch new file mode 100644 index 000000000..5e5088085 --- /dev/null +++ b/experimental/libabigail/musl-basename.patch @@ -0,0 +1,10 @@ +--- libabigail-1.6/tools/abisym.cc 2019-03-27 05:31:13.000000000 -0400 ++++ libabigail-1.6/tools/abisym.cc 2019-07-18 07:19:28.999752604 -0400 +@@ -26,6 +26,7 @@ + /// in its symbol tables and report what it sees. + + #include ++#include + #include + #include + #include diff --git a/experimental/libabigail/musl-fts.patch b/experimental/libabigail/musl-fts.patch new file mode 100644 index 000000000..4824812c8 --- /dev/null +++ b/experimental/libabigail/musl-fts.patch @@ -0,0 +1,32 @@ +--- libabigail-1.6/configure.ac 2019-03-27 05:31:13.000000000 -0400 ++++ libabigail-1.6/configure.ac 2019-07-18 07:12:25.129755599 -0400 +@@ -147,20 +147,6 @@ fi + + AC_SUBST(VISIBILITY_FLAGS) + +-dnl Older glibc had a broken fts that didn't work with Large File Systems. +-dnl We want the version that can handler LFS, but include workaround if we +-dnl get a bad one. Add define to CFLAGS (not AC_DEFINE it) since we need to +-dnl check it before including config.h (which might define _FILE_OFFSET_BITS). +-AC_CACHE_CHECK([whether including fts.h with _FILE_OFFSET_BITS set breaks], ac_cv_bad_fts, +- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +- #define _FILE_OFFSET_BITS 64 +- #include +- ]])], +- ac_cv_bad_fts=no, ac_cv_bad_fts=yes)]) +-AS_IF([test "x$ac_cv_bad_fts" = "xyes"], +- [CFLAGS="$CFLAGS -DBAD_FTS=1", +- CXXFLAGS="$CXXFLAGS -DBAD_FTS=1"]) +- + dnl Check for dependency: libelf, libdw, libebl (elfutils) + dnl Note that we need to use at least elfutils 0.159 but + dnl at that time elfutils didnt have pkgconfig capabilities +@@ -577,7 +563,7 @@ AX_VALGRIND_CHECK + + dnl Set the list of libraries libabigail depends on + +-DEPS_LIBS="$XML_LIBS $LIBZIP_LIBS $ELF_LIBS $DW_LIBS" ++DEPS_LIBS="$XML_LIBS $LIBZIP_LIBS $ELF_LIBS $DW_LIBS -lfts" + AC_SUBST(DEPS_LIBS) + + if test x$ABIGAIL_DEVEL != x; then diff --git a/experimental/libabigail/redhat-bs.patch b/experimental/libabigail/redhat-bs.patch new file mode 100644 index 000000000..4124aaab0 --- /dev/null +++ b/experimental/libabigail/redhat-bs.patch @@ -0,0 +1,11 @@ +--- libabigail-1.6/build-aux/ltmain.sh 2015-04-24 08:08:19.000000000 -0400 ++++ libabigail-1.6/build-aux/ltmain.sh 2019-07-18 07:03:18.589759461 -0400 +@@ -6523,7 +6523,7 @@ func_mode_link () + old_convenience= + deplibs= + old_deplibs= +- compiler_flags="-specs=/usr/lib/rpm/redhat/redhat-hardened-ld" ++ compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` -- cgit v1.2.3-60-g2f50