Skip to content

Commit

Permalink
app-arch/xz-utils: stop removing *.a files
Browse files Browse the repository at this point in the history
Upon configure --disable-static, libtool does not create the static
library at all, as long as it is able to create the shared library.
And the *.a file name may be used with shared libraries too (*.dll.a
on Cygwin), so we may end up without any library when removing *.a.

Closes: https://bugs.gentoo.org/687904
Package-Manager: Portage-2.3.66, Repoman-2.3.11
Signed-off-by: Michael Haubenwallner <[email protected]>
  • Loading branch information
haubi committed Jun 12, 2019
1 parent 3f9ebc0 commit ad4a5f5
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 1 deletion.
91 changes: 91 additions & 0 deletions app-arch/xz-utils/xz-utils-5.2.4-r3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Remember: we cannot leverage autotools in this ebuild in order
# to avoid circular deps with autotools

EAPI=6

inherit multilib toolchain-funcs libtool multilib-minimal preserve-libs

if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
inherit git-r3 autotools
SRC_URI=""
EXTRA_DEPEND="sys-devel/gettext dev-vcs/cvs >=sys-devel/libtool-2" #272880 286068
else
MY_P="${PN/-utils}-${PV/_}"
SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
[[ "${PV}" == *_alpha* ]] || [[ "${PV}" == *_beta* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
S="${WORKDIR}/${MY_P}"
EXTRA_DEPEND=
fi

DESCRIPTION="utils for managing LZMA compressed files"
HOMEPAGE="https://tukaani.org/xz/"

# See top-level COPYING file as it outlines the various pieces and their licenses.
LICENSE="public-domain LGPL-2.1+ GPL-2+"
SLOT="0"
IUSE="elibc_FreeBSD +extra-filters nls static-libs +threads"

RDEPEND="!<app-arch/lzma-4.63
!<app-arch/p7zip-4.57"
DEPEND="${RDEPEND}
${EXTRA_DEPEND}"

# Tests currently do not account for smaller feature set
RESTRICT="!extra-filters? ( test )"

src_prepare() {
default
if [[ ${PV} == "9999" ]] ; then
eautopoint
eautoreconf
else
elibtoolize # to allow building shared libs on Solaris/x64
fi
}

multilib_src_configure() {
local myconf=(
$(use_enable nls)
$(use_enable threads)
$(use_enable static-libs static)
)
multilib_is_native_abi ||
myconf+=( --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} )
if ! use extra-filters; then
myconf+=(
# LZMA1 + LZMA2 for standard .lzma & .xz files
--enable-encoders=lzma1,lzma2
--enable-decoders=lzma1,lzma2
# those are used by default, depending on preset
--enable-match-finders=hc3,hc4,bt4
# CRC64 is used by default, though some (old?) files use CRC32
--enable-checks=crc32,crc64
)
fi

use elibc_FreeBSD && export ac_cv_header_sha256_h=no #545714
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}

multilib_src_install() {
default
gen_usr_ldscript -a lzma
}

multilib_src_install_all() {
find "${ED}" -name '*.la' -delete || die
rm "${ED%/}"/usr/share/doc/${PF}/COPYING* || die
}

pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
}

pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
}
2 changes: 1 addition & 1 deletion app-arch/xz-utils/xz-utils-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ multilib_src_install() {
}

multilib_src_install_all() {
find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
find "${ED}" -name '*.la' -delete || die
rm "${ED%/}"/usr/share/doc/${PF}/COPYING* || die
}

Expand Down

0 comments on commit ad4a5f5

Please sign in to comment.