1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# 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 usr-ldscript
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-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
if ! use static-libs ; then
find "${ED}" -name "*.a" -delete || die
fi
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)
}
|