diff options
Diffstat (limited to 'app-arch/unzip/unzip-6.0-r3.ebuild')
-rw-r--r-- | app-arch/unzip/unzip-6.0-r3.ebuild | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/app-arch/unzip/unzip-6.0-r3.ebuild b/app-arch/unzip/unzip-6.0-r3.ebuild new file mode 100644 index 0000000..d2176aa --- /dev/null +++ b/app-arch/unzip/unzip-6.0-r3.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/unzip/unzip-6.0-r1.ebuild,v 1.10 2010/01/10 00:28:54 jer Exp $ + +inherit eutils toolchain-funcs flag-o-matic + +MY_P="${PN}${PV/.}" + +DESCRIPTION="unzipper for pkzip-compressed files" +HOMEPAGE="http://www.info-zip.org/" +SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz" + +LICENSE="Info-ZIP" +SLOT="0" +KEYWORDS="~alpha amd64 arm hppa ~ia64 m68k ~ppc ppc64 s390 sh ~sparc x86" +#SDS +IUSE="bzip2 unicode rcc" +#To overcome circular dependencies +PDEPEND="rcc? ( app-i18n/librcc )" +#EDS + +DEPEND="bzip2? ( app-arch/bzip2 )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-no-exec-stack.patch + + +#SDS + use rcc && ( + epatch ${FILESDIR}/${PN}60-ds-isprint.patch || die + epatch ${FILESDIR}/${PN}-5.52-ds-rusxmms2.patch || die + epatch ${FILESDIR}/${PN}-ds-unixenc.patch || die + if [ ! -a /usr/include/librcc.h ]; then + cp "${FILESDIR}"/librcc-0.2.7.h librcc.h || die + fi + ) + + ld_opts="" + use rcc && ld_opts="-ldl" +#EDS + + sed -i \ + -e '/^CFLAGS/d' \ + -e '/CFLAGS/s:-O[0-9]\?:$(CFLAGS) $(CPPFLAGS):' \ + -e '/^STRIP/s:=.*:=true:' \ + -e "s:CC=gcc :CC=$(tc-getCC) :" \ + -e "s:LD=gcc :LD=$(tc-getCC) :" \ + -e "s:AS=gcc :AS=$(tc-getCC) :" \ + -e "s:LF2 = -s:LF2 = ${ld_opts} :" \ + -e 's:LF = :LF = $(LDFLAGS) :' \ + -e 's:SL = :SL = $(LDFLAGS) :' \ + -e 's:FL = :FL = $(LDFLAGS) :' \ + -e "/^#L_BZ2/s:^$(use bzip2 && echo .)::" \ + unix/Makefile \ + || die "sed unix/Makefile failed" +} + +src_compile() { + local TARGET + case ${CHOST} in + i?86*-*linux*) TARGET=linux_asm ;; + *linux*) TARGET=linux_noasm ;; + i?86*-*bsd* | \ + i?86*-dragonfly*) TARGET=freebsd ;; # mislabelled bsd with x86 asm + *bsd* | *dragonfly*) TARGET=bsd ;; + *-darwin*) TARGET=macosx ;; + *) die "Unknown target, you suck" ;; + esac + + [[ ${CHOST} == *linux* ]] && append-cppflags -DNO_LCHMOD + use bzip2 && append-cppflags -DUSE_BZIP2 + use unicode && append-cppflags -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE + append-cppflags -DLARGE_FILE_SUPPORT #281473 +#SDS + use rcc && append-cppflags -DRCC_LAZY=1 +#EDS + + emake \ + -f unix/Makefile \ + ${TARGET} || die "emake failed" +} + +src_install() { + dobin unzip funzip unzipsfx unix/zipgrep || die "dobin failed" + dosym unzip /usr/bin/zipinfo || die + doman man/*.1 + dodoc BUGS History* README ToDo WHERE +} |