aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/zziplib
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/zziplib
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/zziplib')
-rw-r--r--recipes/zziplib/files/zip_c.patch15
-rw-r--r--recipes/zziplib/files/zziplib-0.10-disable-test.patch13
-rw-r--r--recipes/zziplib/files/zziplib-autoconf.patch509
-rw-r--r--recipes/zziplib/zziplib-native_0.12.83.bb9
-rw-r--r--recipes/zziplib/zziplib-native_0.13.49.bb9
-rw-r--r--recipes/zziplib/zziplib.inc30
-rw-r--r--recipes/zziplib/zziplib_0.10.82.bb5
-rw-r--r--recipes/zziplib/zziplib_0.12.83.bb4
-rw-r--r--recipes/zziplib/zziplib_0.13.49.bb14
9 files changed, 608 insertions, 0 deletions
diff --git a/recipes/zziplib/files/zip_c.patch b/recipes/zziplib/files/zip_c.patch
new file mode 100644
index 0000000000..fb23ce650e
--- /dev/null
+++ b/recipes/zziplib/files/zip_c.patch
@@ -0,0 +1,15 @@
+From zziplib Debian source package
+--- a/zzip/zip.c 2007-03-19 02:27:49.000000000 +1100
++++ b/zzip/zip.c 2007-11-07 17:40:52.985849197 +1100
+@@ -402,7 +402,10 @@
+ uint16_t u_extras, u_comment, u_namlen;
+
+ if (fd_map)
+- { d = (void*)(fd_map+zz_fd_gap+zz_offset); } /* fd_map+fd_gap==u_rootseek */
++ {
++ d = &dirent;
++ memcpy(d, fd_map+zz_fd_gap+zz_offset, sizeof(*d)); /* fd_map+fd_gap==u_rootseek */
++ }
+ else
+ {
+ if (io->fd.seeks(fd, zz_rootseek+zz_offset, SEEK_SET) < 0)
diff --git a/recipes/zziplib/files/zziplib-0.10-disable-test.patch b/recipes/zziplib/files/zziplib-0.10-disable-test.patch
new file mode 100644
index 0000000000..143045dac6
--- /dev/null
+++ b/recipes/zziplib/files/zziplib-0.10-disable-test.patch
@@ -0,0 +1,13 @@
+Index: zziplib-0.10.82/bins/zziptest.c
+===================================================================
+--- zziplib-0.10.82.orig/bins/zziptest.c 2008-02-20 12:10:35.000000000 +0100
++++ zziplib-0.10.82/bins/zziptest.c 2008-02-20 12:10:44.000000000 +0100
+@@ -52,7 +52,7 @@
+ }
+ } printf("OK.\n");
+
+-#if 1
++#if 0
+ printf("{check...\n");
+ { struct zzip_dir_hdr * hdr = dir->hdr0;
+
diff --git a/recipes/zziplib/files/zziplib-autoconf.patch b/recipes/zziplib/files/zziplib-autoconf.patch
new file mode 100644
index 0000000000..6fc666f8f2
--- /dev/null
+++ b/recipes/zziplib/files/zziplib-autoconf.patch
@@ -0,0 +1,509 @@
+Reworks zziplib's configure and top-level makefile considerably to make
+this package compile in a cross-compilation environment. This has not
+and will not be sent upstream because the author most likely wants it that
+way (lots of MSVC crap).
+
+Index: zziplib-0.13.49/Makefile.am
+===================================================================
+--- zziplib-0.13.49.orig/Makefile.am 2008-02-19 22:54:19.000000000 +0100
++++ zziplib-0.13.49/Makefile.am 2008-02-19 23:37:40.000000000 +0100
+@@ -1,126 +1,10 @@
+-AUTOMAKE_OPTIONS = 1.4 foreign dist-bzip2
+ ACLOCAL_AMFLAGS = -I m4
+-WANT_AUTOMAKE = 1.7
+-WANT_AUTOCONF = 2.57
++WANT_AUTOMAKE = 1.96
++WANT_AUTOCONF = 2.61
+
+ DIST_SUBDIRS = zzip zzipwrap bins test docs SDL
+ SUBDIRS = zzip zzipwrap bins test docs @SDL@
+
+-# see Makefile.mk for the "make rpm" target
+-rpm2: dist-bzip2 $(PACKAGE).spec
+- rpmbuild -ta $(PACKAGE)-$(VERSION).tar.bz2
+-
+-indent-check:
+- (cd zzip && $(MAKE) `basename $@`)
+-
+-doc docs docu clean-doc clean-docs clean-docu zzip.html zzip.xml zzip.pdf \
+-man mans manpages htmpages unpack clean-unpack changes.htm pdfs \
+-omf install-omf install-doc install-docs install-sf install-man3 install-mans :
+- (cd docs && $(MAKE) `basename $@`)
+-
+-sdl testsdl test-sdl install-sdl :
+- (cd SDL && $(MAKE) `basename $@`)
+-
+-check-test0 check-test1 check-zzdir check-zzcat \
+-check-zzxor check-zzxordir check-zzxorcat \
+-check-sfx check-readme : \
+- (cd test && $(MAKE) `basename $@`)
+-
+-MSVC8 = msvc8/README.TXT msvc8/zip.exe msvc8/test1.zip msvc8/test.zip \
+-msvc8/zzdir.vcproj msvc8/zzipself.vcproj msvc8/zzip.vcproj \
+-msvc8/zziplib.sln msvc8/zzipsetstub.sln msvc8/zzobfuscated.sln \
+-msvc8/zziplib.vcproj msvc8/zzipsetstub.vcproj msvc8/zzobfuscated.vcproj \
+-msvc8/zzcat.sln msvc8/zzipself.bat msvc8/zzip.sln \
+-msvc8/zzcat.vcproj msvc8/zzipself.sln msvc8/zziptest.sln \
+-msvc8/zzdir.sln msvc8/zzipself.txt msvc8/zziptest.vcproj \
+- msvc8/zzipfseeko.vcproj msvc8/zzipmmapped.vcproj
+-
+-MSVC7 = msvc7/pkzip.exe msvc7/test1.zip msvc7/test.zip \
+-msvc7/zzdir.vcproj msvc7/zzipself.vcproj msvc7/zzip.vcproj \
+-msvc7/zziplib.sln msvc7/zzipsetstub.sln msvc7/zzobfuscated.sln \
+-msvc7/zziplib.vcproj msvc7/zzipsetstub.vcproj msvc7/zzobfuscated.vcproj \
+-msvc7/zzcat.sln msvc7/zzipself.bat msvc7/zzip.sln \
+-msvc7/zzcat.vcproj msvc7/zzipself.sln msvc7/zziptest.sln \
+-msvc7/zzdir.sln msvc7/zzipself.txt msvc7/zziptest.vcproj
+-
+-MSVC6 = \
+-msvc6/zzcat.dsp msvc6/zziplib.dsp msvc6/zzipwrap.dsp \
+-msvc6/zzdir.dsp msvc6/zziplib.dsw msvc6/zzobfuscated.dsp \
+-msvc6/zziptest.dsp msvc6/zzip.dsp
+-
+ EXTRA_DIST = zziplib.spec zzipback.sed Makefile.mk \
+- $(MSVC8) $(MSVC7) $(MSVC6) $(am__aclocal_m4_deps)
+-
+-PHONY = auto boottrap rpm doc docs man manpages htmpages sdl testsdl \
+- comp compats msvc6 msvc7
+-# ------------------------------------------------------------------------
+-
+-test-comp:
+- test ! -d testing || rm -r testing
+- mkdir testing
+- (cd testing && tar xzvf ../$(PACKAGE)-$(VERSION).tar.gz)
+- (cd "testing/$(PACKAGE)-$(VERSION)/zziplib" && sh configure)
+- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib"
+- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" check
+-
+-clean-comp:
+- test ! -d testing || rm -r testing
+-
+-msvc :
+- mkdir bin
+- mkdir lib
+- mkdir include
+- mkdir include/zzip
+- cp $(srcdir)/msvc6/Release/*.exe bin/
+- cp $(srcdir)/msvc6/Release/*.dll bin/
+- cp $(srcdir)/msvc6/Release/*.lib lib/
+- cp $(srcdir)/zzip/*.h include/zzip/
+- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-bin.zip bin/
+- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-lib.zip lib/ include/
+- rm -r bin lib include
+-
+-# ------------------------------------------------------------------ zzip64
+-_FILE_OFFSET64 = -D_ZZIP_LARGEFILE -D_FILE_OFFSET_BITS=64
+-_RELEASEINFO64 = "RELEASE_INFO=-release 0-64"
++ $(am__aclocal_m4_deps)
+
+-zzip64-setup: zzip64-setup.tmp
+-zzip64-setup.tmp : zzip/Makefile zzip/_config.h zzip/.deps/* zzip/zziplib.pc
+- - mkdir zzip64
+- cp -a zzip/Makefile zzip/_config.h zzip/.deps/ zzip/zziplib.pc zzip64/
+- date > zzip64.dir
+-zzip64-build: zzip64-build.tmp
+-zzip64-build.tmp : zzip64-setup.tmp $(top_srcdir)/zzip/*
+- cd zzip64 && $(MAKE) "AM_CFLAGS=$(_FILE_OFFSET64)" $(_RELEASEINFO64)
+-zzip64-install: zzip64-install.tmp
+-zzip64-install.tmp : zzip64-build.tmp
+- cd zzip64 && $(MAKE) install $(_RELEASEINFO64)
+- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip64.so
+- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip64.a
+- cd $(DESTDIR)$(libdir) && \
+- sed -e 's/zzip.so/zzip64.so/' \
+- -e 's/zzip.a/zzip64.a/' libzzip.la > libzzip64.la
+- cd $(DESTDIR)$(libdir)/pkgconfig && \
+- sed -e 's/largefile=/largefile= %_FILE_OFFSET64/' \
+- -e 's/-lzzip/-lzzip64/' \
+- -e 's/zziplib/zziplib64/' zziplib.pc > zziplib64.pc
+-zzip32-postinstall:
+- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip32.so
+- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip32.a
+- cd $(DESTDIR)$(libdir) && ln -s libzzip32.so libzzip.so
+- cd $(DESTDIR)$(libdir) && ln -s libzzip32.a libzzip.a
+- cd $(DESTDIR)$(libdir) && \
+- sed -e 's/zzip.so/zzip32.so/' \
+- -e 's/zzip.a/zzip32.a/' libzzip.la > libzzip32.la
+- cd $(DESTDIR)$(libdir)/pkgconfig && \
+- sed -e 's/-lzzip/-lzzip32/' \
+- -e 's/zziplib/zziplib32/' zziplib.pc > zziplib32.pc
+-zzip-postinstall:
+- : "the 12.8x and 11.8x and 10.8x packages are all the same actually"
+- cd $(DESTDIR)$(libdir) || exit 1 \
+- ; for i in libzzip*.so.1? ; do : \
+- ; v10=`echo $i | sed -e "s/.so.../.so.10/"` \
+- ; v11=`echo $i | sed -e "s/.so.../.so.11/"` \
+- ; v12=`echo $i | sed -e "s/.so.../.so.12/"` \
+- ; test ! -e $v10 && test -e $v12 && ln -s $v12 $v10 \
+- ; test ! -e $v12 && test -e $v10 && ln -s $v10 $v12 \
+- ; ln -s $v10 $v11 || true; done
+Index: zziplib-0.13.49/configure.ac
+===================================================================
+--- zziplib-0.13.49.orig/configure.ac 2008-02-15 21:56:37.000000000 +0100
++++ zziplib-0.13.49/configure.ac 2008-02-19 23:43:05.000000000 +0100
+@@ -1,12 +1,12 @@
+-AC_INIT(zziplib.spec)
+-AC_PREREQ(2.49)
+-AC_COPYRIGHT([Guido Draheim <guido@gmx.de> for ZZipLib.SF.net])
++AC_PREREQ(2.61)
++AC_INIT([zziplib], [0.13.49], [Guido Draheim <guido@gmx.de>])
++AC_CANONICAL_TARGET
++AM_INIT_AUTOMAKE([foreign 1.9 dist-bzip2])
++
++AC_CONFIG_SRCDIR([zzip/zip.c])
+ AC_REVISION($Revision: 1.9 $)
+-AC_CONFIG_AUX_DIR(uses)
++
+ # =======================================================================
+-AC_CANONICAL_SYSTEM
+-dnl AM_ENABLE_MULTILIB([Makefile],[$host])
+-AX_ENABLE_BUILDDIR_UNAME
+ AC_SET_DEFAULT_PATHS_SYSTEM
+ # -----------------------------------------------------------------------
+ AC_ARG_ENABLE(thread-safe,AC_HELP_STRING(
+@@ -61,8 +61,6 @@
+ AC_SUBST(ZLIB_INCL)
+ AC_SUBST(ZLIB_LDIR)
+ # -----------------------------------------------------------------------
+-AX_SPEC_DEFAULTS
+-AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+ dnl test ".$CFLAGS" = "." && CFLAGS=""
+ AC_PROG_CC
+ dnl test ".$CFLAGS" = "." && test "$GCC" = "yes" && CFLAGS="-O3"
+@@ -77,7 +75,7 @@
+ sed -f $srcdir/zzip/_msvc.sed $srcdir/config.h.in >zzip/_msvc.in
+ AC_CONFIG_HEADERS([config.h])
+ AX_PREFIX_CONFIG_H([zzip/_config.h],[zzip],[config.h])
+-AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in])
++#AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in])
+ AM_MAINTAINER_MODE
+
+ AX_CREATE_PKGCONFIG_INFO(dnl
+Index: zziplib-0.13.49/install-sh
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ zziplib-0.13.49/install-sh 2008-02-19 23:43:36.000000000 +0100
+@@ -0,0 +1,323 @@
++#!/bin/sh
++# install - install a program, script, or datafile
++
++scriptversion=2005-05-14.22
++
++# This originates from X11R5 (mit/util/scripts/install.sh), which was
++# later released in X11R6 (xc/config/util/install.sh) with the
++# following copyright and license.
++#
++# Copyright (C) 1994 X Consortium
++#
++# Permission is hereby granted, free of charge, to any person obtaining a copy
++# of this software and associated documentation files (the "Software"), to
++# deal in the Software without restriction, including without limitation the
++# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++# sell copies of the Software, and to permit persons to whom the Software is
++# furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be included in
++# all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++# Except as contained in this notice, the name of the X Consortium shall not
++# be used in advertising or otherwise to promote the sale, use or other deal-
++# ings in this Software without prior written authorization from the X Consor-
++# tium.
++#
++#
++# FSF changes to this file are in the public domain.
++#
++# Calling this script install-sh is preferred over install.sh, to prevent
++# `make' implicit rules from creating a file called install from it
++# when there is no Makefile.
++#
++# This script is compatible with the BSD install script, but was written
++# from scratch. It can only install one file at a time, a restriction
++# shared with many OS's install programs.
++
++# set DOITPROG to echo to test this script
++
++# Don't use :- since 4.3BSD and earlier shells don't like it.
++doit="${DOITPROG-}"
++
++# put in absolute paths if you don't have them in your path; or use env. vars.
++
++mvprog="${MVPROG-mv}"
++cpprog="${CPPROG-cp}"
++chmodprog="${CHMODPROG-chmod}"
++chownprog="${CHOWNPROG-chown}"
++chgrpprog="${CHGRPPROG-chgrp}"
++stripprog="${STRIPPROG-strip}"
++rmprog="${RMPROG-rm}"
++mkdirprog="${MKDIRPROG-mkdir}"
++
++chmodcmd="$chmodprog 0755"
++chowncmd=
++chgrpcmd=
++stripcmd=
++rmcmd="$rmprog -f"
++mvcmd="$mvprog"
++src=
++dst=
++dir_arg=
++dstarg=
++no_target_directory=
++
++usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
++ or: $0 [OPTION]... SRCFILES... DIRECTORY
++ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++ or: $0 [OPTION]... -d DIRECTORIES...
++
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
++
++Options:
++-c (ignored)
++-d create directories instead of installing files.
++-g GROUP $chgrpprog installed files to GROUP.
++-m MODE $chmodprog installed files to MODE.
++-o USER $chownprog installed files to USER.
++-s $stripprog installed files.
++-t DIRECTORY install into DIRECTORY.
++-T report an error if DSTFILE is a directory.
++--help display this help and exit.
++--version display version info and exit.
++
++Environment variables override the default commands:
++ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
++"
++
++while test -n "$1"; do
++ case $1 in
++ -c) shift
++ continue;;
++
++ -d) dir_arg=true
++ shift
++ continue;;
++
++ -g) chgrpcmd="$chgrpprog $2"
++ shift
++ shift
++ continue;;
++
++ --help) echo "$usage"; exit $?;;
++
++ -m) chmodcmd="$chmodprog $2"
++ shift
++ shift
++ continue;;
++
++ -o) chowncmd="$chownprog $2"
++ shift
++ shift
++ continue;;
++
++ -s) stripcmd=$stripprog
++ shift
++ continue;;
++
++ -t) dstarg=$2
++ shift
++ shift
++ continue;;
++
++ -T) no_target_directory=true
++ shift
++ continue;;
++
++ --version) echo "$0 $scriptversion"; exit $?;;
++
++ *) # When -d is used, all remaining arguments are directories to create.
++ # When -t is used, the destination is already specified.
++ test -n "$dir_arg$dstarg" && break
++ # Otherwise, the last argument is the destination. Remove it from $@.
++ for arg
++ do
++ if test -n "$dstarg"; then
++ # $@ is not empty: it contains at least $arg.
++ set fnord "$@" "$dstarg"
++ shift # fnord
++ fi
++ shift # arg
++ dstarg=$arg
++ done
++ break;;
++ esac
++done
++
++if test -z "$1"; then
++ if test -z "$dir_arg"; then
++ echo "$0: no input file specified." >&2
++ exit 1
++ fi
++ # It's OK to call `install-sh -d' without argument.
++ # This can happen when creating conditional directories.
++ exit 0
++fi
++
++for src
++do
++ # Protect names starting with `-'.
++ case $src in
++ -*) src=./$src ;;
++ esac
++
++ if test -n "$dir_arg"; then
++ dst=$src
++ src=
++
++ if test -d "$dst"; then
++ mkdircmd=:
++ chmodcmd=
++ else
++ mkdircmd=$mkdirprog
++ fi
++ else
++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
++ # might cause directories to be created, which would be especially bad
++ # if $src (and thus $dsttmp) contains '*'.
++ if test ! -f "$src" && test ! -d "$src"; then
++ echo "$0: $src does not exist." >&2
++ exit 1
++ fi
++
++ if test -z "$dstarg"; then
++ echo "$0: no destination specified." >&2
++ exit 1
++ fi
++
++ dst=$dstarg
++ # Protect names starting with `-'.
++ case $dst in
++ -*) dst=./$dst ;;
++ esac
++
++ # If destination is a directory, append the input filename; won't work
++ # if double slashes aren't ignored.
++ if test -d "$dst"; then
++ if test -n "$no_target_directory"; then
++ echo "$0: $dstarg: Is a directory" >&2
++ exit 1
++ fi
++ dst=$dst/`basename "$src"`
++ fi
++ fi
++
++ # This sed command emulates the dirname command.
++ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
++
++ # Make sure that the destination directory exists.
++
++ # Skip lots of stat calls in the usual case.
++ if test ! -d "$dstdir"; then
++ defaultIFS='
++ '
++ IFS="${IFS-$defaultIFS}"
++
++ oIFS=$IFS
++ # Some sh's can't handle IFS=/ for some reason.
++ IFS='%'
++ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
++ shift
++ IFS=$oIFS
++
++ pathcomp=
++
++ while test $# -ne 0 ; do
++ pathcomp=$pathcomp$1
++ shift
++ if test ! -d "$pathcomp"; then
++ $mkdirprog "$pathcomp"
++ # mkdir can fail with a `File exist' error in case several
++ # install-sh are creating the directory concurrently. This
++ # is OK.
++ test -d "$pathcomp" || exit
++ fi
++ pathcomp=$pathcomp/
++ done
++ fi
++
++ if test -n "$dir_arg"; then
++ $doit $mkdircmd "$dst" \
++ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
++ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
++
++ else
++ dstfile=`basename "$dst"`
++
++ # Make a couple of temp file names in the proper directory.
++ dsttmp=$dstdir/_inst.$$_
++ rmtmp=$dstdir/_rm.$$_
++
++ # Trap to clean up those temp files at exit.
++ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++ trap '(exit $?); exit' 1 2 13 15
++
++ # Copy the file name to the temp name.
++ $doit $cpprog "$src" "$dsttmp" &&
++
++ # and set any options; do chmod last to preserve setuid bits.
++ #
++ # If any of these fail, we abort the whole thing. If we want to
++ # ignore errors from any of these, just make sure not to ignore
++ # errors from the above "$doit $cpprog $src $dsttmp" command.
++ #
++ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
++ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
++
++ # Now rename the file to the real destination.
++ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
++ || {
++ # The rename failed, perhaps because mv can't rename something else
++ # to itself, or perhaps because mv is so ancient that it does not
++ # support -f.
++
++ # Now remove or move aside any old file at destination location.
++ # We try this two ways since rm can't unlink itself on some
++ # systems and the destination file might be busy for other
++ # reasons. In this case, the final cleanup might fail but the new
++ # file should still install successfully.
++ {
++ if test -f "$dstdir/$dstfile"; then
++ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
++ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
++ || {
++ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
++ (exit 1); exit 1
++ }
++ else
++ :
++ fi
++ } &&
++
++ # Now rename the file to the real destination.
++ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
++ }
++ }
++ fi || { (exit 1); exit 1; }
++done
++
++# The final little trick to "correctly" pass the exit status to the exit trap.
++{
++ (exit 0); exit 0
++}
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
diff --git a/recipes/zziplib/zziplib-native_0.12.83.bb b/recipes/zziplib/zziplib-native_0.12.83.bb
new file mode 100644
index 0000000000..eb954f12c1
--- /dev/null
+++ b/recipes/zziplib/zziplib-native_0.12.83.bb
@@ -0,0 +1,9 @@
+require zziplib_${PV}.bb
+
+DEPENDS = "zlib-native"
+
+inherit native
+
+S = "${WORKDIR}/zziplib-${PV}"
+
+PACKAGES = ""
diff --git a/recipes/zziplib/zziplib-native_0.13.49.bb b/recipes/zziplib/zziplib-native_0.13.49.bb
new file mode 100644
index 0000000000..eb954f12c1
--- /dev/null
+++ b/recipes/zziplib/zziplib-native_0.13.49.bb
@@ -0,0 +1,9 @@
+require zziplib_${PV}.bb
+
+DEPENDS = "zlib-native"
+
+inherit native
+
+S = "${WORKDIR}/zziplib-${PV}"
+
+PACKAGES = ""
diff --git a/recipes/zziplib/zziplib.inc b/recipes/zziplib/zziplib.inc
new file mode 100644
index 0000000000..e0ef3f2e58
--- /dev/null
+++ b/recipes/zziplib/zziplib.inc
@@ -0,0 +1,30 @@
+DESCRIPTION = "Support library for dealing with zip files"
+SECTION = "libs"
+PRIORITY = "optional"
+
+DEPENDS = "zlib python-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zziplib/zziplib-${PV}.tar.bz2"
+LICENSE = "LGPL MPL"
+
+inherit autotools pkgconfig
+
+do_configure_append() {
+ # Fix some brokenness in the generated makefile.
+ sed -i \
+ -e "s|tail -1|tail -n 1|" \
+ -e "s|dist dist-all dist-all:|dist dist-all:|" \
+ -e "s|docs||g" \
+ Makefile
+
+ mkdir ${S}/build
+}
+
+
+do_compile_append() {
+for i in ${S}/*/*.pc ; do
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ $i
+done
+}
diff --git a/recipes/zziplib/zziplib_0.10.82.bb b/recipes/zziplib/zziplib_0.10.82.bb
new file mode 100644
index 0000000000..7e2130368d
--- /dev/null
+++ b/recipes/zziplib/zziplib_0.10.82.bb
@@ -0,0 +1,5 @@
+require zziplib.inc
+
+SRC_URI += "file://zziplib-0.10-disable-test.patch;patch=1"
+
+PR = "r1"
diff --git a/recipes/zziplib/zziplib_0.12.83.bb b/recipes/zziplib/zziplib_0.12.83.bb
new file mode 100644
index 0000000000..c9078ac6b6
--- /dev/null
+++ b/recipes/zziplib/zziplib_0.12.83.bb
@@ -0,0 +1,4 @@
+require zziplib.inc
+
+SRC_URI += "file://zziplib-buildfix.patch;patch=1"
+
diff --git a/recipes/zziplib/zziplib_0.13.49.bb b/recipes/zziplib/zziplib_0.13.49.bb
new file mode 100644
index 0000000000..f90e41f5a9
--- /dev/null
+++ b/recipes/zziplib/zziplib_0.13.49.bb
@@ -0,0 +1,14 @@
+require zziplib.inc
+
+PR = "r1"
+
+SRC_URI += "\
+ file://zip_c.patch;patch=1 \
+ file://zziplib-autoconf.patch;patch=1 \
+ "
+
+#EXTRA_OECONF = "--srcdir=${S} --enable-builddir=${S}/build"
+
+do_stage() {
+ autotools_stage_all
+}