app-arch/unzip: add Debian patchset to fix various bugs #528082 #533748 #537424 #560416

This commit is contained in:
Mike Frysinger
2016-04-02 20:05:21 -04:00
parent a7e28a58e9
commit f65df71cdc
3 changed files with 88 additions and 10 deletions

View File

@@ -1,2 +1,3 @@
DIST unzip552.tar.gz 1140291 SHA256 145d95e2ef1ef9add2e3c97d1340907e33ab8749eb1235372e7f0b7af600a8e9 SHA512 9b852687a7cbce3a6696f8da176f97eded1e99b1f10ae5e4b29bf870df374fea3e4266b3a731d7cdfc28ce5c060a01dd8d3f9c3d8250d1d774273de16d70528b WHIRLPOOL 4148fe091cf9847245be67c7d85fc6fcdcc2a385dad0434757a0c7dea41131085f9bcd5ca6eedc065091a473f27780341921f90ddcae32e73618319da9122d70
DIST unzip60.tar.gz 1376845 SHA256 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d WHIRLPOOL eab32d6d0ab100d302b608658a3ae290d3dad4beddccebaf6cb6527102bb238f751ec6482dea68ae62474005de89f11f9e0cf1b1e12bee2ca5a2336a3c0c9808
DIST unzip_6.0-20.debian.tar.xz 16680 SHA256 7ddfafb1a771ae8d6b4e25c5e31f22c717e0fe606b1bafadcdd574c01f671490 SHA512 7212cb110291581c2e465dc8ea5130eabffc4e0369d6245e8c26fa9d350bed904847d6e1191afaaa2d3fc23bd05fda7da80439d0c06b88f5331b01c9eff97fbe WHIRLPOOL ea5ebd5d95638ff8cd2e91eb77f5be544e33ac6fd478aa00c04da193cd3fad980c5ac1975dfedb2c242192cee6c4eee8bbaf3581299f6c3fa45faa639f0169fd

View File

@@ -155,16 +155,6 @@ diff -pur unzip60orig/unzip.c unzip60/unzip.c
#ifdef MORE
static ZCONST char Far ZipInfoUsageLine4[] =
" -M page output through built-in \"more\"\n";
@@ -570,8 +572,7 @@ Send bug reports using //www.info-zip.or
#else /* !VMS */
# ifdef COPYRIGHT_CLEAN
static ZCONST char Far UnzipUsageLine1[] = "\
-UnZip %d.%d%d%s of %s, by Info-ZIP. Maintained by C. Spieler. Send\n\
-bug reports using http://www.info-zip.org/zip-bug.html; see README for details.\
+UnZip %d.%d%d%s of %s, by ALT Linux Team. Original by Info-ZIP.\
\n\n";
# else
static ZCONST char Far UnzipUsageLine1[] = "\
@@ -673,7 +674,9 @@ modifiers:\n\
-j junk paths (do not make directories) -aa treat ALL files as text\n\
-U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\

View File

@@ -0,0 +1,87 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit eutils toolchain-funcs flag-o-matic
MY_PV="${PV//.}"
MY_PV="${MY_PV%_p*}"
MY_P="${PN}${MY_PV}"
DESCRIPTION="unzipper for pkzip-compressed files"
HOMEPAGE="http://www.info-zip.org/"
SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz
mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
LICENSE="Info-ZIP"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="bzip2 natspec unicode"
DEPEND="bzip2? ( app-arch/bzip2 )
natspec? ( dev-libs/libnatspec )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
src_prepare() {
local deb="${WORKDIR}"/debian/patches
rm \
"${deb}"/series \
"${deb}"/02-branding-patch-this-is-debian-unzip \
|| die
epatch "${deb}"/*
epatch "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
use natspec && epatch "${FILESDIR}/${PN}-6.0-natspec.patch" #275244
sed -i -r \
-e '/^CFLAGS/d' \
-e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \
-e '/^STRIP/s:=.*:=true:' \
-e "s:\<CC *= *\"?g?cc2?\"?\>:CC=\"$(tc-getCC)\":" \
-e "s:\<LD *= *\"?(g?cc2?|ld)\"?\>:LD=\"$(tc-getCC)\":" \
-e "s:\<AS *= *\"?(g?cc2?|as)\"?\>:AS=\"$(tc-getCC)\":" \
-e 's:LF2 = -s:LF2 = :' \
-e 's:LF = :LF = $(LDFLAGS) :' \
-e 's:SL = :SL = $(LDFLAGS) :' \
-e 's:FL = :FL = $(LDFLAGS) :' \
-e "/^#L_BZ2/s:^$(use bzip2 && echo .)::" \
-e 's:$(AS) :$(AS) $(ASFLAGS) :g' \
unix/Makefile \
|| die "sed unix/Makefile failed"
# Delete bundled code to make sure we don't use it.
rm -r bzip2 || die
}
src_configure() {
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" ;;
*-cygwin*) TARGET="cygwin" ;;
*) die "Unknown target; please update the ebuild to handle ${CHOST} " ;;
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
}
src_compile() {
ASFLAGS="${ASFLAGS} $(get_abi_var CFLAGS)" \
emake -f unix/Makefile ${TARGET}
}
src_install() {
dobin unzip funzip unzipsfx unix/zipgrep
dosym unzip /usr/bin/zipinfo
doman man/*.1
dodoc BUGS History* README ToDo WHERE
}