aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <stephen.arnold42@gmail.com>2016-02-23 15:22:38 -0800
committerSteve Arnold <stephen.arnold42@gmail.com>2016-02-23 15:22:38 -0800
commit1d8bf0d79d92e3a16db5fed7458f770131a89c30 (patch)
tree0942174719d7b186c1ce4df4b5ce248038570899
parentadd clutter.eclass for travis-ci builds (diff)
downloadarm-1d8bf0d79d92e3a16db5fed7458f770131a89c30.tar.gz
arm-1d8bf0d79d92e3a16db5fed7458f770131a89c30.tar.bz2
arm-1d8bf0d79d92e3a16db5fed7458f770131a89c30.zip
dev-libs/elfutils: add fix for arm PIC linking to latest version
-rw-r--r--dev-libs/elfutils/Manifest1
-rw-r--r--dev-libs/elfutils/elfutils-0.165.ebuild72
2 files changed, 73 insertions, 0 deletions
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 4fb3384..3b6be96 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1 +1,2 @@
DIST elfutils-0.164.tar.bz2 6065265 SHA256 9683c025928a12d06b7fe812928aa6235249e22d197d086f7084606a48165900 SHA512 83e0bdf17fff2c480cf5f99fe9d733a8b4f7cde0f9a3eeb4e3c4b4bd221a306e0a03bfd99e097f0085a33bb8b9f73fda10e390e17d30c3f5a1344e781065efce WHIRLPOOL d1de8d928b64e170358343c8984762286d63745c8cbe1375b7cdf07566c44091dd078f5876106c6b829831e630fda9d8db5e28c5c871c98a70eb1cda58596705
+DIST elfutils-0.165.tar.bz2 6481128 SHA256 a7fc9277192caaa5f30b47e8c0518dbcfd8c4a19c6493a63d511d804290ce972 SHA512 89d42a32f1d77d3419473165e1ac15782765ce6ec842d63f03962260806fbfdf16d17b8abec8527d8b125b9195c24a56252070b0c6ae860ffcf0dd74943da32a WHIRLPOOL 7a3ae8304609da902feb606b9eb974c71f664f721ac14fa400474964fe7d40b53232ce7a2d371c14a01c9b34472eae8ead03a16a72ad36a11485892084e93e9e
diff --git a/dev-libs/elfutils/elfutils-0.165.ebuild b/dev-libs/elfutils/elfutils-0.165.ebuild
new file mode 100644
index 0000000..7b146f2
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.165.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://fedorahosted.org/elfutils/"
+SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="bzip2 lzma nls static-libs test +threads +utils"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ !dev-libs/libelf
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r11
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+# We need to require a newer glibc for its elf.h defs. #571814
+DEPEND="${RDEPEND}
+ !<sys-libs/glibc-2.22
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch
+ use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
+ sed -i 's:-Werror::' */Makefile.in
+ # some patches touch both configure and configure.ac
+ find -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ use arm && append-ldflags -fPIC #500254
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ --with-zlib \
+ $(use_with bzip2 bzlib) \
+ $(use_with lzma)
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc NOTES
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ use utils || rm -rf "${ED}"/usr/bin
+}