diff --git a/common/shlibs b/common/shlibs index f1e5f82dedf..c62488be236 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2413,3 +2413,4 @@ libspotify.so.12 libspotify-12.1.51_1 libwiredtiger-2.8.0.so wiredtiger-2.8.0_1 libvidstab.so.0.9 libvidstab-0.98b_1 libxdo.so.3 xdotool-3.20150503.1_1 +libabigail.so.0 libabigail-1.0.rc3_1 diff --git a/srcpkgs/libabigail-devel b/srcpkgs/libabigail-devel new file mode 120000 index 00000000000..731418ec97e --- /dev/null +++ b/srcpkgs/libabigail-devel @@ -0,0 +1 @@ +libabigail \ No newline at end of file diff --git a/srcpkgs/libabigail-tools b/srcpkgs/libabigail-tools new file mode 120000 index 00000000000..731418ec97e --- /dev/null +++ b/srcpkgs/libabigail-tools @@ -0,0 +1 @@ +libabigail \ No newline at end of file diff --git a/srcpkgs/libabigail/patches/musl.patch b/srcpkgs/libabigail/patches/musl.patch new file mode 100644 index 00000000000..abf706b3deb --- /dev/null +++ b/srcpkgs/libabigail/patches/musl.patch @@ -0,0 +1,39 @@ +--- include/abg-comparison.h.orig ++++ include/abg-comparison.h +@@ -27,6 +27,7 @@ + + #include + #include ++#include + #include "abg-corpus.h" + #include "abg-diff-utils.h" + #include "abg-ini.h" +--- src/abg-dwarf-reader.cc.orig ++++ src/abg-dwarf-reader.cc +@@ -37,6 +37,10 @@ + #include + #include + #include ++#include ++#ifndef EM_OPENRISC ++# define EM_OPENRISC 92 ++#endif + #include + #include + #include +--- tools/abisym.cc.orig ++++ tools/abisym.cc +@@ -151,10 +151,10 @@ + cout << "could not find symbol '" + << opts.symbol_name + << "' in file '"; +- if (opts.absolute_path) ++ //if (opts.absolute_path) + cout << opts.elf_path << "'\n"; +- else +- cout << basename(opts.elf_path); ++ //else ++ //cout << basename(opts.elf_path); + return 0; + } + diff --git a/srcpkgs/libabigail/patches/xbps.patch b/srcpkgs/libabigail/patches/xbps.patch new file mode 100644 index 00000000000..9019a69456d --- /dev/null +++ b/srcpkgs/libabigail/patches/xbps.patch @@ -0,0 +1,14 @@ +Detect .xbps as tarballs. + +--- src/abg-tools-utils.cc.orig ++++ src/abg-tools-utils.cc +@@ -690,7 +690,8 @@ + || string_ends_with(file_path, ".tlz") + || string_ends_with(file_path, ".tar.Z") + || string_ends_with(file_path, ".taz") +- || string_ends_with(file_path, ".tz")) ++ || string_ends_with(file_path, ".tz") ++ || string_ends_with(file_path, ".xbps")) + return FILE_TYPE_TAR; + + ifstream in(file_path.c_str(), ifstream::binary); diff --git a/srcpkgs/libabigail/template b/srcpkgs/libabigail/template new file mode 100644 index 00000000000..42b8980dd44 --- /dev/null +++ b/srcpkgs/libabigail/template @@ -0,0 +1,40 @@ +# Template file for 'libabigail' +pkgname=libabigail +version=1.0.rc3 +revision=1 +build_style=gnu-configure +hostmakedepends="dpkg pkg-config python-Sphinx rpmextract" +makedepends="elfutils-devel libxml2-devel" +short_desc="ABI Generic Analysis and Instrumentation Library" +maintainer="Christian Neukirchen " +license="LGPL-3" +homepage="https://www.sourceware.org/libabigail/" +distfiles="http://mirrors.kernel.org/sourceware/${pkgname}/${pkgname}-${version}.tar.gz" +checksum=8698be2c571849f30c9c8bc9e0158072f2d87bb17918ad5cbf6edff8b47bec0c + +post_build() { + make -C doc/manuals man info +} +post_install() { + make -C doc/manuals install-man-and-info-doc DESTDIR="$DESTDIR" +} +libabigail-devel_package() { + short_desc+=" - development files" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/include + vmove usr/lib/*.so + vmove usr/lib/*.a + vmove usr/lib/pkgconfig + vmove usr/share/aclocal + } +} +libabigail-tools_package() { + short_desc+=" - tools" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/bin + vmove usr/share/man + vmove usr/share/info + } +}