Added support for building packages that use GNU or BSD Makefiles

and extraction of zip distfiles via a new helper:
unzip-extraction.sh.

When a new template uses extract_sufx=".zip" and the unzip command
is not found on PKGFS_MASTERDIR/bin/unzip, the unzip package will
be installed automatically.

Also add jasper-1.900.1 template that uses a zip distfile.

--HG--
extra : convert_revision : a979bdd3aef82d64e490606c21aa8f557d76fdbd
This commit is contained in:
Juan RP 2008-10-03 00:44:43 +02:00
parent 39d7aee194
commit b1c2d7613a
6 changed files with 121 additions and 8 deletions

17
templates/jasper-1.900.1.tmpl Executable file
View file

@ -0,0 +1,17 @@
# Template build file for 'jasper-1.900.1'.
pkgname=jasper-1.900.1
extract_sufx=".zip"
url=http://www.ece.uvic.ca/~mdadams/jasper/software
build_style=gnu_configure
export CPPFLAGS="-I$PKGFS_MASTERDIR/include"
configure_args="--enable-shared --without-x --disable-opengl"
short_desc="Software-based reference implementation of the JPEG-2000 codec"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=fb2c188abf5b8c297078ac1f913101734f72db5c
long_desc="
The JasPer Project is a collaborative effort between Image Power, Inc.
and the University of British Columbia. The objective of this project is
to develop a software-based reference implementation of the codec
specified in the JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).This
software has also been submitted to the ISO for inclusion in the JPEG-2000
Part-5 standard (as an official reference implementation)."

View file

@ -0,0 +1,27 @@
$NetBSD: patch-ad,v 1.1 2006/11/03 07:53:55 rillig Exp $
unzipsfx does not need libz, so a special compile rule is needed for it.
--- unix/Makefile.orig Mon Oct 30 22:45:35 2006
+++ unix/Makefile Mon Oct 30 22:48:02 2006
@@ -87,7 +87,7 @@
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O
LOBJS = $(OBJS)
OBJSDLL = $(OBJS:.o=.pic.o) api.pic.o
-OBJX = unzipsfx$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
+OBJX = unzipsfx$O crc32_$O crctab_$O crypt_$O extract_$O fileio_$O \
globals_$O inflate_$O match_$O process_$O ttyio_$O $M_$O
LOBJX = $(OBJX)
OBJF = funzip$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
@@ -306,6 +306,11 @@
-$(CP) unzip.c unzipsfx.c
$(CC) -c $(CF) -DSFX unzipsfx.c
$(RM) unzipsfx.c
+
+crc32_$O: crc32.c $(UNZIP_H) zip.h # unzipsfx only
+ -$(CP) crc32.c crc32_.c
+ $(CC) -c $(CF) -DSFX crc32_.c
+ $(RM) crc32_.c
crctab_$O: crctab.c $(UNZIP_H) zip.h
-$(CP) crctab.c crctab_.c

38
templates/unzip-5.52.tmpl Executable file
View file

@ -0,0 +1,38 @@
# Template file for 'unzip-5.52'
pkgname=unzip-5.52
patch_files=$pkgname-fix-unzipsfx.diff
wrksrc=$pkgname
distfiles=unzip552
extract_sufx=".tgz"
url=ftp://ftp.info-zip.org/pub/infozip/src/
build_style=gnu_makefile
make_cmd="$PKGFS_MASTERDIR/bin/gmake"
make_build_args="-f unix/Makefile"
make_build_target="generic_zlib unzipsfx"
export CFLAGS="-I. -DUNIX -Dunix -DUSE_UNSHRINK"
short_desc="List, test and extract compressed files in a ZIP archive"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=b749b0923bc4cceaa6f937aef688e9713a84328c
long_desc="
Unzip will list, test, or extract files from a ZIP archive, commonly
found on MS-DOS systems. The default behavior (with no options) is to
extract into the current directory (and subdirectories below it) all
files from the specified ZIP archive. Unzip is compatible with
archives created by PKWARE's PKZIP, but in many cases the program
options or default behaviors differ.
Zipinfo lists technical information about files in a ZIP archive, most
commonly found on MS-DOS systems. Such information includes file access
permissions, encryption status, type of compression, version and operating
system or file system of compressing program, and the like.
Funzip acts as a filter; that is, it assumes that a ZIP archive is
being piped into standard input, and it extracts the first member from
the archive to stdout. If there is an argument, then the input comes
from the specified file instead of from stdin.
Unzipsfx is a modified version of unzip designed to be prepended to
existing ZIP archives in order to form self-extracting archives.
Instead of taking its first non-flag argument to be the zipfile(s) to
be extracted, unzipsfx seeks itself under the name by which it was
invoked and tests or extracts the contents of the appended archive."