mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-06 17:47:07 -08:00
Latest elfutils mainline development branch contains the last two patches required for building elfutils with clang. This backports the two patches onto v0.185 so we can get it built with clang and should be dropped when Gentoo eventually upgrades to v0.186 or later. Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> Closes: https://github.com/gentoo/gentoo/pull/22173 Signed-off-by: Sam James <sam@gentoo.org>
90 lines
2.5 KiB
Bash
90 lines
2.5 KiB
Bash
# Copyright 2003-2021 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
inherit flag-o-matic multilib-minimal
|
|
|
|
DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
|
|
HOMEPAGE="http://elfutils.org/"
|
|
SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
|
|
|
|
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
|
|
SLOT="0"
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
|
IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind zstd"
|
|
|
|
RDEPEND=">=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
|
|
bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
|
|
lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
|
|
zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
|
|
!dev-libs/libelf
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
valgrind? ( dev-util/valgrind )
|
|
"
|
|
BDEPEND="nls? ( sys-devel/gettext )
|
|
>=sys-devel/flex-2.5.4a
|
|
sys-devel/m4
|
|
"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch
|
|
"${FILESDIR}"/${PN}-0.177-disable-large.patch
|
|
"${FILESDIR}"/${PN}-0.180-PaX-support.patch
|
|
"${FILESDIR}"/${PN}-0.185-static-inline.patch
|
|
"${FILESDIR}"/${PN}-0.185-pull-advance_pc-in-file-scope.patch
|
|
"${FILESDIR}"/${PN}-0.185-configure.ac-rework-gnu99-ext-check-to-allow-clang.patch
|
|
)
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
if ! use static-libs; then
|
|
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
|
|
fi
|
|
# https://sourceware.org/PR23914
|
|
sed -i 's:-Werror::' */Makefile.in || die
|
|
}
|
|
|
|
src_configure() {
|
|
use test && append-flags -g #407135
|
|
|
|
# Symbol aliases are implemented as asm statements.
|
|
# Will require porting: https://gcc.gnu.org/PR48200
|
|
filter-flags '-flto*'
|
|
|
|
multilib-minimal_src_configure
|
|
}
|
|
|
|
multilib_src_configure() {
|
|
ECONF_SOURCE="${S}" econf \
|
|
$(use_enable nls) \
|
|
$(use_enable threads thread-safety) \
|
|
$(use_enable valgrind) \
|
|
--disable-debuginfod \
|
|
--disable-libdebuginfod \
|
|
--program-prefix="eu-" \
|
|
--with-zlib \
|
|
$(use_with bzip2 bzlib) \
|
|
$(use_with lzma) \
|
|
$(use_with zstd)
|
|
}
|
|
|
|
multilib_src_test() {
|
|
env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
|
|
LC_ALL="C" \
|
|
emake check VERBOSE=1
|
|
}
|
|
|
|
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.
|
|
if ! use utils; then
|
|
rm -rf "${ED}"/usr/bin || die
|
|
fi
|
|
}
|