This updates unzip to 6.0 which among other changes finally adds support for ZIP64.
Index: Makefile =================================================================== RCS file: /cvs/ports/archivers/unzip/Makefile,v retrieving revision 1.40 diff -u -p -u -p -r1.40 Makefile --- Makefile 25 Mar 2008 19:39:30 -0000 1.40 +++ Makefile 13 Mar 2010 22:56:03 -0000 @@ -2,9 +2,9 @@ COMMENT= extract, list & test files in a ZIP archive -VERSION= 5.52 +VERSION= 6.0 DISTNAME= unzip${VERSION:S/.//} -PKGNAME= unzip-${VERSION}p0 +PKGNAME= unzip-${VERSION} CATEGORIES= archivers MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=infozip/} \ http://mirror.switch.ch/ftp/mirror/infozip/src/ \ @@ -24,16 +24,14 @@ FAKE_FLAGS= prefix="${WRKINST}${PREFIX}" # Workaround compiler bug on hppa which causes crashes .if ${MACHINE_ARCH} == "hppa" -MAKE_FLAGS+= LOC="${CFLAGS} -O0 -DUSE_UNSHRINK" +MAKE_FLAGS+= LOC="${CFLAGS} -O0 -DUSE_UNSHRINK -DNO_LCHMOD -DNO_LCHOWN" .else -MAKE_FLAGS+= LOC="${CFLAGS} -DUSE_UNSHRINK" +MAKE_FLAGS+= LOC="${CFLAGS} -DUSE_UNSHRINK -DNO_LCHMOD -DNO_LCHOWN" .endif MAKE_FILE= unix/Makefile ALL_TARGET= bsd - -WRKDIST= ${WRKDIR}/unzip-${VERSION} DOCS= COPYING.OLD LICENSE README WHERE Index: distinfo =================================================================== RCS file: /cvs/ports/archivers/unzip/distinfo,v retrieving revision 1.6 diff -u -p -u -p -r1.6 distinfo --- distinfo 5 Apr 2007 15:37:41 -0000 1.6 +++ distinfo 13 Mar 2010 22:40:53 -0000 @@ -1,5 +1,5 @@ -MD5 (unzip552.tar.gz) = nSORmZnW6skhfR9BRyA0qQ== -RMD160 (unzip552.tar.gz) = t0mwkjvEzOqm+Teu9ojpcTqEMow= -SHA1 (unzip552.tar.gz) = GDG9WbnmB6aQUvg7JjOEiV4tShk= -SHA256 (unzip552.tar.gz) = FF2V4u8e+a3S48l9E0CQfjOrh0nrEjU3Ln8LevYAqOk= -SIZE (unzip552.tar.gz) = 1140291 +MD5 (unzip60.tar.gz) = YrSQQHSJUh24Y7Ujp/hjdQ== +RMD160 (unzip60.tar.gz) = SK9mYG6UcuRfu5S8Tihdoj0bibo= +SHA1 (unzip60.tar.gz) = q/feikAYqYNZDtb1y9mQ1HQPiiI= +SHA256 (unzip60.tar.gz) = A22WmRZG0ESe0KqVLk++IbR2zplKvCduSdMOaGcIvTc= +SIZE (unzip60.tar.gz) = 1376845 Index: patches/patch-inflate_c =================================================================== RCS file: /cvs/ports/archivers/unzip/patches/patch-inflate_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-inflate_c --- patches/patch-inflate_c 25 Mar 2008 19:39:30 -0000 1.1 +++ patches/patch-inflate_c 20 Mar 2010 17:36:51 -0000 @@ -1,42 +0,0 @@ -$OpenBSD: patch-inflate_c,v 1.1 2008/03/25 19:39:30 jasper Exp $ ---- inflate.c.orig Tue Mar 25 16:15:47 2008 -+++ inflate.c Tue Mar 25 16:17:38 2008 -@@ -983,6 +983,7 @@ static int inflate_dynamic(__G) - unsigned l; /* last length */ - unsigned m; /* mask for bit lengths table */ - unsigned n; /* number of lengths to get */ -+ struct huft *tlp; - struct huft *tl; /* literal/length code table */ - struct huft *td; /* distance code table */ - unsigned bl; /* lookup bits for tl */ -@@ -995,6 +996,7 @@ static int inflate_dynamic(__G) - register unsigned k; /* number of bits in bit buffer */ - int retval = 0; /* error code returned: initialized to "no error" */ - -+ td = tlp = tl = (struct huft *)NULL; - - /* make local bit buffer */ - Trace((stderr, "\ndynamic block")); -@@ -1047,9 +1049,9 @@ static int inflate_dynamic(__G) - while (i < n) - { - NEEDBITS(bl) -- j = (td = tl + ((unsigned)b & m))->b; -+ j = (tlp = tl + ((unsigned)b & m))->b; - DUMPBITS(j) -- j = td->v.n; -+ j = tlp->v.n; - if (j < 16) /* length of code in bits (0..15) */ - ll[i++] = l = j; /* save last length in l */ - else if (j == 16) /* repeat last length 3 to 6 times */ -@@ -1149,8 +1151,8 @@ static int inflate_dynamic(__G) - - cleanup_and_exit: - /* free the decoding tables, return */ -- huft_free(tl); -- huft_free(td); -+ if (tl) huft_free(tl); -+ if (td) huft_free(td); - return retval; - } - Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/archivers/unzip/pkg/PLIST,v retrieving revision 1.9 diff -u -p -u -p -r1.9 PLIST --- pkg/PLIST 3 Aug 2004 11:30:02 -0000 1.9 +++ pkg/PLIST 13 Mar 2010 22:56:28 -0000 @@ -1,7 +1,7 @@ @comment $OpenBSD: PLIST,v 1.9 2004/08/03 11:30:02 espie Exp $ -bin/funzip -bin/unzip -bin/unzipsfx +...@bin bin/funzip +...@bin bin/unzip +...@bin bin/unzipsfx bin/zipgrep bin/zipinfo @man man/man1/funzip.1