d543eca03f88893a271c5b8ee67983c1e86e0b90
[gentoo.git] / sys-fs / squashfs-tools / squashfs-tools-4.3_p7.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5 inherit flag-o-matic toolchain-funcs
6
7 DESCRIPTION="tools to create and extract Squashfs filesystems"
8 HOMEPAGE="http://squashfs.sourceforge.net"
9 SRC_URI="
10         mirror://sourceforge/squashfs/squashfs${PV/_p*}.tar.gz
11         mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}-${PV/*_p}.debian.tar.xz
12 "
13
14 LICENSE="GPL-2"
15 SLOT="0"
16 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 s390 sparc x86"
17 IUSE="debug lz4 lzma lzo static xattr +xz"
18
19 LIB_DEPEND="
20         sys-libs/zlib[static-libs(+)]
21         !xz? ( !lzo? ( sys-libs/zlib[static-libs(+)] ) )
22         lz4? ( app-arch/lz4[static-libs(+)] )
23         lzma? ( app-arch/xz-utils[static-libs(+)] )
24         lzo? ( dev-libs/lzo[static-libs(+)] )
25         xattr? ( sys-apps/attr[static-libs(+)] )
26         xz? ( app-arch/xz-utils[static-libs(+)] )
27 "
28 RDEPEND="
29         !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
30 "
31 DEPEND="
32         ${RDEPEND}
33         static? ( ${LIB_DEPEND} )
34 "
35 PATCHES=(
36         "${FILESDIR}"/${P/_p*}-sysmacros.patch
37         "${FILESDIR}"/${P/_p*}-aligned-data.patch
38         "${FILESDIR}"/${P/_p*}-local-cve-fix.patch
39         "${FILESDIR}"/${P/_p*}-mem-overflow.patch
40         "${FILESDIR}"/${P/_p*}-extmatch.patch
41         "${FILESDIR}"/${P/_p*}-musl.patch
42 )
43
44 S="${WORKDIR}/squashfs${PV/_p*}/${PN}"
45
46 src_prepare() {
47         eapply -p2 "${WORKDIR}"/debian/patches/*.patch
48         eapply -p2 ${PATCHES[@]}
49         eapply_user
50 }
51
52 use10() { usex $1 1 0 ; }
53
54 src_configure() {
55         # restore GNU89 inline semantics to
56         # emit function symbols, bug 595290
57         append-cflags -std=gnu89
58
59         # set up make command line variables in EMAKE_SQUASHFS_CONF
60         EMAKE_SQUASHFS_CONF=(
61                 LZMA_XZ_SUPPORT=$(use10 lzma)
62                 LZO_SUPPORT=$(use10 lzo)
63                 LZ4_SUPPORT=$(use10 lz4)
64                 XATTR_SUPPORT=$(use10 xattr)
65                 XZ_SUPPORT=$(use10 xz)
66         )
67
68         tc-export CC
69         use debug && append-cppflags -DSQUASHFS_TRACE
70         use static && append-ldflags -static
71 }
72
73 src_compile() {
74         emake "${EMAKE_SQUASHFS_CONF[@]}"
75 }
76
77 src_install() {
78         dobin mksquashfs unsquashfs
79         cd ..
80         dodoc CHANGES PERFORMANCE.README pseudo-file.example README* OLD-READMEs/*
81         doman "${WORKDIR}"/debian/manpages/*.[0-9]
82 }