dev-libs/check: fix DoubleEmptyLine CI issue
[gentoo.git] / app-arch / zip / zip-3.0-r3.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI="4"
5 inherit toolchain-funcs eutils flag-o-matic
6
7 MY_P="${PN}${PV//.}"
8 DESCRIPTION="Info ZIP (encryption support)"
9 HOMEPAGE="http://www.info-zip.org/"
10 SRC_URI="mirror://sourceforge/infozip/${MY_P}.zip"
11
12 LICENSE="Info-ZIP"
13 SLOT="0"
14 KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux"
15 IUSE="bzip2 crypt natspec unicode"
16
17 RDEPEND="bzip2? ( app-arch/bzip2 )
18         natspec? ( dev-libs/libnatspec )"
19 DEPEND="${RDEPEND}
20         app-arch/unzip"
21
22 S=${WORKDIR}/${MY_P}
23
24 src_prepare() {
25         epatch "${FILESDIR}"/${P}-no-crypt.patch #238398
26         epatch "${FILESDIR}"/${P}-pic.patch
27         epatch "${FILESDIR}"/${P}-exec-stack.patch #122849
28         epatch "${FILESDIR}"/${P}-build.patch #200995
29         epatch "${FILESDIR}"/${P}-zipnote-freeze.patch #322047
30         epatch "${FILESDIR}"/${P}-format-security.patch #512414
31         use natspec && epatch "${FILESDIR}"/${PN}-3.0-natspec.patch #275244
32 }
33
34 src_configure() {
35         append-cppflags \
36                 -DLARGE_FILE_SUPPORT \
37                 -DUIDGID_NOT_16BIT \
38                 -D$(usex bzip2 '' NO)BZIP2_SUPPORT \
39                 -D$(usex crypt '' NO)CRYPT \
40                 -D$(usex unicode '' NO)UNICODE_SUPPORT
41         # Third arg disables bzip2 logic as we handle it ourselves above.
42         sh ./unix/configure "$(tc-getCC)" "-I. -DUNIX ${CFLAGS} ${CPPFLAGS}" "${T}" || die
43         if use bzip2 ; then
44                 sed -i -e "s:LFLAGS2=:&'-lbz2 ':" flags || die
45         fi
46 }
47
48 src_compile() {
49         emake \
50                 CPP="$(tc-getCPP)" \
51                 -f unix/Makefile generic
52 }
53
54 src_install() {
55         dobin zip zipnote zipsplit
56         doman man/zip{,note,split}.1
57         if use crypt ; then
58                 dobin zipcloak
59                 doman man/zipcloak.1
60         fi
61         dodoc BUGS CHANGES README* TODO WHATSNEW WHERE proginfo/*.txt
62 }