diff options
Diffstat (limited to 'sys-apps/attr/attr-2.5.1.ebuild')
-rw-r--r-- | sys-apps/attr/attr-2.5.1.ebuild | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/sys-apps/attr/attr-2.5.1.ebuild b/sys-apps/attr/attr-2.5.1.ebuild new file mode 100644 index 000000000000..7465baca96b8 --- /dev/null +++ b/sys-apps/attr/attr-2.5.1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2021 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() { + 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 +} |