diff options
author | Mike Gilbert <floppym@gentoo.org> | 2020-12-20 11:26:49 -0500 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-12-20 11:29:46 -0500 |
commit | 4078b6911244e4b8a42506913795000fd0d66303 (patch) | |
tree | e6233108594c151f199f3e95ba2e71090954e668 /sys-apps | |
parent | sys-apps/attr: drop obsolete variables (diff) | |
download | gentoo-4078b6911244e4b8a42506913795000fd0d66303.tar.gz gentoo-4078b6911244e4b8a42506913795000fd0d66303.tar.bz2 gentoo-4078b6911244e4b8a42506913795000fd0d66303.zip |
sys-apps/attr: enable LFS support
Closes: https://bugs.gentoo.org/760857
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/attr/attr-2.4.48-r5.ebuild | 103 | ||||
-rw-r--r-- | sys-apps/attr/attr-9999.ebuild | 1 |
2 files changed, 104 insertions, 0 deletions
diff --git a/sys-apps/attr/attr-2.4.48-r5.ebuild b/sys-apps/attr/attr-2.4.48-r5.ebuild new file mode 100644 index 000000000000..2de4d8189160 --- /dev/null +++ b/sys-apps/attr/attr-2.4.48-r5.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic libtool toolchain-funcs multilib-minimal usr-ldscript + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/${PN}.git" + + inherit autotools git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz" +fi + +DESCRIPTION="Extended attributes tools" +HOMEPAGE="https://savannah.nongnu.org/projects/attr" +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="debug nls static-libs" + +BDEPEND="nls? ( sys-devel/gettext )" + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${P}-perl-5.26.patch" + "${FILESDIR}/${P}-switch-back-to-syscall.patch" + ) + + default + + if [[ ${PV} == 9999 ]] ; then + po/update-potfiles || die + eautopoint + eautoreconf + else + elibtoolize #580792 + fi +} + +src_configure() { + # Remove -flto* from flags as this breaks binaries (bug #644048) + filter-flags -flto* + append-ldflags "-Wl,--no-gc-sections" #700116 + tc-ld-disable-gold #644048 + append-lfs-flags #760857 + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --bindir="${EPREFIX}"/bin + --enable-shared + $(use_enable static-libs static) + $(use_enable nls) + --libexecdir="${EPREFIX}"/usr/$(get_libdir) + $(use_enable debug) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Sanity check until we track down why this is happening. #644048 + local lib="${ED}/usr/$(get_libdir)/libattr.so.1" + if [[ -e ${lib} ]] ; then + local versions=$($(tc-getREADELF) -V "${lib}") + local symbols=$($(tc-getREADELF) -sW "${lib}") + if [[ "${versions}" != *"ATTR_1.0"* || \ + "${versions}" != *"ATTR_1.1"* || \ + "${versions}" != *"ATTR_1.2"* || \ + "${versions}" != *"ATTR_1.3"* || \ + "${symbols}" != *"getxattr@ATTR_1.0"* ]] ; then + echo "# readelf -V ${lib}" + echo "${versions}" + echo "# readelf -sW ${lib}" + echo "${symbols}" + die "symbol version sanity check failed; please comment on https://bugs.gentoo.org/644048" + else + einfo "${lib} passed symbol checks" + fi + fi + + if multilib_is_native_abi; then + # we install attr into /bin, so we need the shared lib with it + gen_usr_ldscript -a attr + fi + + # Add a wrapper until people upgrade. + insinto /usr/include/attr + newins "${FILESDIR}"/xattr-shim.h xattr.h +} + +multilib_src_install_all() { + if ! use static-libs; then + find "${ED}" -name '*.la' -delete || die + fi + + einstalldocs +} diff --git a/sys-apps/attr/attr-9999.ebuild b/sys-apps/attr/attr-9999.ebuild index 098941716f05..ba5fdd791fcf 100644 --- a/sys-apps/attr/attr-9999.ebuild +++ b/sys-apps/attr/attr-9999.ebuild @@ -40,6 +40,7 @@ src_configure() { filter-flags -flto* append-ldflags "-Wl,--no-gc-sections" #700116 tc-ld-disable-gold #644048 + append-lfs-flags #760857 multilib-minimal_src_configure } |