[ZipArchive] Initial ZipArchive import

Hans de Goede jwrdegoede at fedoraproject.org
Mon Jan 23 19:56:51 UTC 2012


commit 7d9c5a1271dcff5b98f105efffa087414949b13a
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Mon Jan 23 20:53:30 2012 +0100

    Initial ZipArchive import

 .gitignore                    |    1 +
 ZipArchive-autotools.patch    |  106 +++++++++++++++++++++++++++++++++++++++++
 ZipArchive-gcc-4.7.patch      |   60 +++++++++++++++++++++++
 ZipArchive-linux-enable.patch |   11 ++++
 ZipArchive-system-zlib.patch  |   83 ++++++++++++++++++++++++++++++++
 ZipArchive.spec               |  104 ++++++++++++++++++++++++++++++++++++++++
 sources                       |    1 +
 7 files changed, 366 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..11f673e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ziparchive_src.zip
diff --git a/ZipArchive-autotools.patch b/ZipArchive-autotools.patch
new file mode 100644
index 0000000..d4e8bdf
--- /dev/null
+++ b/ZipArchive-autotools.patch
@@ -0,0 +1,106 @@
+diff -up ZipArchive-4.1.1/ZipArchive/autogen.sh.autotools ZipArchive-4.1.1/ZipArchive/autogen.sh
+--- ZipArchive-4.1.1/ZipArchive/autogen.sh.autotools	2011-12-23 11:10:11.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/autogen.sh	2011-12-23 11:10:11.000000000 +0100
+@@ -0,0 +1,12 @@
++#! /bin/sh
++
++if [ "$USER" = "root" ]; then
++  echo "You cannot do this as "$USER" please use a normal user account"
++  exit
++fi
++
++libtoolize --copy
++aclocal
++autoheader
++automake --add-missing --copy --foreign
++autoconf
+diff -up ZipArchive-4.1.1/ZipArchive/configure.ac.autotools ZipArchive-4.1.1/ZipArchive/configure.ac
+--- ZipArchive-4.1.1/ZipArchive/configure.ac.autotools	2011-12-23 11:10:11.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/configure.ac	2011-12-23 14:50:00.000000000 +0100
+@@ -0,0 +1,21 @@
++## Bootstrap autoconf/automake
++AC_PREREQ(2.59)
++AC_INIT([ZipArchive], [4.1.1], [])
++AC_CANONICAL_TARGET
++AC_CONFIG_SRCDIR([configure.ac])
++AM_INIT_AUTOMAKE
++AM_CONFIG_HEADER([config.h])
++
++## Checks for programs.
++AC_PROG_CC
++AC_PROG_CXX
++AM_PROG_CC_STDC
++AC_PROG_INSTALL
++AC_PROG_MAKE_SET
++AC_PROG_LIBTOOL
++
++# Produce output
++AC_CONFIG_FILES([Makefile ZipArchive.pc])
++AC_OUTPUT
++
++echo "Type 'make' to compile"
+diff -up ZipArchive-4.1.1/ZipArchive/Makefile.am.autotools ZipArchive-4.1.1/ZipArchive/Makefile.am
+--- ZipArchive-4.1.1/ZipArchive/Makefile.am.autotools	2011-12-23 11:10:11.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/Makefile.am	2011-12-23 11:10:11.000000000 +0100
+@@ -0,0 +1,45 @@
++MAINTAINERCLEANFILES = INSTALL \
++			Makefile.in \
++			aclocal.m4 \
++			config.guess \
++			config.h.in \
++			config.h.in~ \
++			stamp-h.in \
++			config.sub \
++			configure \
++			install-sh \
++			missing \
++			mkinstalldirs \
++			ltmain.sh \
++			ltconfig \
++			compile \
++			depcomp
++
++AM_CXXFLAGS = -Wall
++
++lib_LTLIBRARIES = libziparch.la
++
++libziparch_la_LDFLAGS = -release $(VERSION)
++libziparch_la_LIBADD = -lz
++
++libziparch_la_SOURCES = \
++ZipArchive.cpp ZipAutoBuffer.cpp ZipCentralDir.cpp \
++ZipCompressor.cpp BaseLibCompressor.cpp Bzip2Compressor.cpp \
++DeflateCompressor.cpp ZipCompatibility.cpp ZipException.cpp ZipFile_stl.cpp ZipFileHeader.cpp \
++ZipMemFile.cpp ZipPathComponent_lnx.cpp ZipPlatformComm.cpp ZipPlatform_lnx.cpp \
++ZipStorage.cpp ZipString.cpp ZipExtraData.cpp ZipExtraField.cpp \
++DirEnumerator.cpp FileFilter.cpp Wildcard.cpp \
++ZipCryptograph.cpp ZipCrc32Cryptograph.cpp \
++Aes.cpp Hmac.cpp RandomPool.cpp ZipAesCryptograph.cpp Sha1.cpp
++
++libziparchdir = $(includedir)/ZipArchive
++
++libziparch_HEADERS = \
++BitFlag.h DirEnumerator.h _features.h FileFilter.h FileInfo.h _platform.h \
++stdafx.h std_stl.h Wildcard.h ZipAbstractFile.h ZipArchive.h ZipAutoBuffer.h \
++ZipBaseException.h ZipCallback.h ZipCallbackProvider.h ZipCentralDir.h \
++ZipCollections.h ZipCollections_stl.h ZipCompatibility.h ZipCompressor.h \
++ZipCryptograph.h ZipException.h ZipExport.h ZipExtraData.h ZipExtraField.h \
++ZipFile.h ZipFileHeader.h ZipFile_stl.h ZipMemFile.h ZipMutex.h ZipMutex_lnx.h \
++ZipPathComponent.h ZipPlatform.h ZipSplitNamesHandler.h ZipStorage.h \
++ZipString.h ZipString_stl.h ZipStringStoreSettings.h
+diff -up ZipArchive-4.1.1/ZipArchive/ZipArchive.pc.in.autotools ZipArchive-4.1.1/ZipArchive/ZipArchive.pc.in
+--- ZipArchive-4.1.1/ZipArchive/ZipArchive.pc.in.autotools	2011-12-23 14:49:38.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/ZipArchive.pc.in	2011-12-23 14:48:57.000000000 +0100
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@/ZipArchive
++
++Name: ZipArchive
++Description: ZipArchive library
++Version: @VERSION@
++
++Requires:
++Libs: -L${libdir} -lziparch
++Cflags: -I${includedir}
diff --git a/ZipArchive-gcc-4.7.patch b/ZipArchive-gcc-4.7.patch
new file mode 100644
index 0000000..80a4a5f
--- /dev/null
+++ b/ZipArchive-gcc-4.7.patch
@@ -0,0 +1,60 @@
+diff -up ZipArchive-4.1.1/ZipArchive/ZipCollections_stl.h.gcc47 ZipArchive-4.1.1/ZipArchive/ZipCollections_stl.h
+--- ZipArchive-4.1.1/ZipArchive/ZipCollections_stl.h.gcc47	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/ZipCollections_stl.h	2012-01-12 22:49:15.092984963 +0100
+@@ -88,10 +88,10 @@ public:
+ 	TYPE& GetAt(size_t uIndex) {return this->at(uIndex);}
+ 	const TYPE& GetAt(size_t uIndex) const {return this->at(uIndex);} 
+ 	void SetAt(size_t uIndex, TYPE value) {inherited::operator[](uIndex) = value; }
+-	size_t Add(const TYPE& x) {push_back(x);return GetUpperBound();}
++	size_t Add(const TYPE& x) {this->push_back(x);return GetUpperBound();}
+ 	void RemoveAll() {this->clear();}
+-	void RemoveAt(size_t uIndex) { erase(GetIterFromIndex(uIndex));}
+-	void InsertAt(size_t uIndex, const TYPE& x){insert(GetIterFromIndex(uIndex), x);}
++	void RemoveAt(size_t uIndex) { this->erase(GetIterFromIndex(uIndex));}
++	void InsertAt(size_t uIndex, const TYPE& x){this->insert(GetIterFromIndex(uIndex), x);}
+ 	TYPE& operator[](size_t uIndex)
+ 	{
+ 		return inherited::operator[](uIndex);
+@@ -115,7 +115,7 @@ public:
+ 	typedef typename std::list<TYPE>::iterator iterator;
+ 	typedef typename std::list<TYPE>::const_iterator const_iterator;
+ 	size_t GetCount() const {return this->size();}
+-	void AddTail(const TYPE& x){push_back(x);}
++	void AddTail(const TYPE& x){this->push_back(x);}
+ 	void AddHead(const TYPE& x){push_front(x);}
+ 	void RemoveHead() {this->pop_front();}
+ 	void RemoveTail() {this->pop_back();}
+@@ -132,7 +132,7 @@ public:
+ 	TYPE& GetPrev(iterator& pos) { return *pos--;}
+ 	TYPE GetPrev(iterator& pos) const{ return *pos--;}
+ 	iterator Find(TYPE& x) { return std::find(this->begin(), this->end(), x);}
+-	void RemoveAt(iterator& pos) { erase(pos);}
++	void RemoveAt(iterator& pos) { this->erase(pos);}
+ 	bool IteratorValid(const_iterator &iter) const
+ 	{
+ 		return iter != this->end();
+@@ -168,11 +168,11 @@ public:
+ 	typedef typename  std::map<KEY,VALUE, std::less<KEY>, std::allocator<std::pair<const KEY, VALUE> > >::value_type v_type;
+ 	void SetAt( KEY key, VALUE newValue)
+ 	{
+-		insert(v_type(key, newValue));
++		this->insert(v_type(key, newValue));
+ 	}
+ 	ZBOOL RemoveKey( KEY key )
+ 	{
+-		return erase(key) != 0;
++		return this->erase(key) != 0;
+ 	}
+ 	ZBOOL Lookup( KEY key, VALUE& rValue ) const
+ 	{
+diff -up ZipArchive-4.1.1/ZipArchive/ZipPlatform.h.gcc47 ZipArchive-4.1.1/ZipArchive/ZipPlatform.h
+--- ZipArchive-4.1.1/ZipArchive/ZipPlatform.h.gcc47	2012-01-12 22:49:43.750984616 +0100
++++ ZipArchive-4.1.1/ZipArchive/ZipPlatform.h	2012-01-12 22:49:59.620984395 +0100
+@@ -29,6 +29,7 @@ class CZipAutoBuffer;
+ 
+ #include "ZipString.h"
+ #include "ZipPathComponent.h"
++#include <stdint.h>
+ #include <sys/types.h>
+ #include "ZipExport.h"
+ 
diff --git a/ZipArchive-linux-enable.patch b/ZipArchive-linux-enable.patch
new file mode 100644
index 0000000..6cf6f57
--- /dev/null
+++ b/ZipArchive-linux-enable.patch
@@ -0,0 +1,11 @@
+--- ZipArchive-4.1.1.orig/ZipArchive/_platform.h	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/_platform.h	2011-12-11 22:10:53.000000000 +0100
+@@ -29,7 +29,7 @@
+ /************************************ BLOCK START ***********************************/
+ 
+ //#define _ZIP_IMPL_MFC
+-//#define _ZIP_SYSTEM_LINUX
++#define _ZIP_SYSTEM_LINUX
+ 
+ // simplified endianess detection
+ #ifdef __APPLE__
diff --git a/ZipArchive-system-zlib.patch b/ZipArchive-system-zlib.patch
new file mode 100644
index 0000000..bddddbd
--- /dev/null
+++ b/ZipArchive-system-zlib.patch
@@ -0,0 +1,83 @@
+diff -up ZipArchive-4.1.1/ZipArchive/DeflateCompressor.cpp.system-zlib ZipArchive-4.1.1/ZipArchive/DeflateCompressor.cpp
+--- ZipArchive-4.1.1/ZipArchive/DeflateCompressor.cpp.system-zlib	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/DeflateCompressor.cpp	2011-12-23 11:07:14.000000000 +0100
+@@ -14,7 +14,7 @@
+ 
+ #include "stdafx.h"
+ #include "DeflateCompressor.h"
+-#include "zlib/deflate.h"
++#include <zlib.h>
+ 
+ namespace ZipArchiveLib
+ {
+diff -up ZipArchive-4.1.1/ZipArchive/DeflateCompressor.h.system-zlib ZipArchive-4.1.1/ZipArchive/DeflateCompressor.h
+--- ZipArchive-4.1.1/ZipArchive/DeflateCompressor.h.system-zlib	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/DeflateCompressor.h	2011-12-23 11:07:14.000000000 +0100
+@@ -28,7 +28,7 @@
+ #include "ZipExport.h"
+ #include "BaseLibCompressor.h"
+ #include "ZipException.h"
+-#include "zlib/zlib.h"
++#include <zlib.h>
+ 
+ namespace ZipArchiveLib
+ {
+diff -up ZipArchive-4.1.1/ZipArchive/_platform.h.system-zlib ZipArchive-4.1.1/ZipArchive/_platform.h
+--- ZipArchive-4.1.1/ZipArchive/_platform.h.system-zlib	2011-12-23 11:07:14.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/_platform.h	2011-12-23 11:07:14.000000000 +0100
+@@ -63,4 +63,19 @@
+ 	#error Using MFC under a non-Windows platform is not supported
+ #endif
+ 
++// revert symbol names back to system zlib
++#define zarch_alloc_func alloc_func
++#define zarch_free_func free_func
++#define zarch_uInt uInt
++#define zarch_Bytef Bytef
++#define zarch_z_stream z_stream
++#define zarch_crc32 crc32
++#define zarch_deflateInit2_ deflateInit2_
++#define zarch_deflate deflate
++#define zarch_deflateEnd deflateEnd
++#define zarch_inflateInit2_ inflateInit2_
++#define zarch_inflate inflate
++#define zarch_inflateEnd inflateEnd
++#define zarch_get_crc_table get_crc_table
++
+ #endif // !defined(ZIPARCHIVE_PLATFORM_DOT_H)
+diff -up ZipArchive-4.1.1/ZipArchive/ZipCrc32Cryptograph.h.system-zlib ZipArchive-4.1.1/ZipArchive/ZipCrc32Cryptograph.h
+--- ZipArchive-4.1.1/ZipArchive/ZipCrc32Cryptograph.h.system-zlib	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/ZipCrc32Cryptograph.h	2011-12-23 11:07:14.000000000 +0100
+@@ -25,7 +25,7 @@
+ 	#pragma once
+ #endif
+ 
+-#include "zlib/zlib.h"
++#include <zlib.h>
+ 
+ #include "ZipCryptograph.h"
+ #include "ZipFileHeader.h"
+diff -up ZipArchive-4.1.1/ZipArchive/ZipException.cpp.system-zlib ZipArchive-4.1.1/ZipArchive/ZipException.cpp
+--- ZipArchive-4.1.1/ZipArchive/ZipException.cpp.system-zlib	2011-06-28 09:45:36.000000000 +0200
++++ ZipArchive-4.1.1/ZipArchive/ZipException.cpp	2011-12-23 11:07:14.000000000 +0100
+@@ -14,7 +14,7 @@
+ 
+ #include "stdafx.h"
+ #include "ZipException.h"
+-#include "zlib/zlib.h"
++#include <zlib.h>
+ #include <errno.h>
+ 
+ //////////////////////////////////////////////////////////////////////
+diff -up ZipArchive-4.1.1/ZipArchive/ZipFileHeader.cpp.system-zlib ZipArchive-4.1.1/ZipArchive/ZipFileHeader.cpp
+--- ZipArchive-4.1.1/ZipArchive/ZipFileHeader.cpp.system-zlib	2011-12-23 11:07:58.000000000 +0100
++++ ZipArchive-4.1.1/ZipArchive/ZipFileHeader.cpp	2011-12-23 11:08:07.000000000 +0100
+@@ -22,7 +22,7 @@
+ 
+ #include "ZipCrc32Cryptograph.h"
+ #include "BytesWriter.h"
+-#include "zlib/zlib.h"
++#include <zlib.h>
+ 
+ #define FILEHEADERSIZE	46
+ #define LOCALFILEHEADERSIZE	30
diff --git a/ZipArchive.spec b/ZipArchive.spec
new file mode 100644
index 0000000..68ced37
--- /dev/null
+++ b/ZipArchive.spec
@@ -0,0 +1,104 @@
+Name:           ZipArchive
+Version:        4.1.1
+Release:        5%{?dist}
+Summary:        Library for accessing zip files
+
+Group:          System Environment/Libraries
+License:        GPLv2+
+URL:            http://www.artpol-software.com/ZipArchive/
+Source0:        http://www.artpol-software.com/Downloads/ziparchive_src.zip
+# switch to Linux version
+Patch0:         %{name}-linux-enable.patch
+# add autotooled build system
+Patch1:         %{name}-autotools.patch
+# use system zlib
+Patch2:         %{name}-system-zlib.patch
+# Fix building with gcc-4.7
+Patch3:         %{name}-gcc-4.7.patch 
+
+BuildRequires:  libtool
+BuildRequires:  zlib-devel
+
+
+%description
+The ZipArchive library.
+
+
+%package        devel
+Summary:        Development files for %{name}
+Group:          Development/Libraries
+Requires:       %{name}%{?_isa} = %{version}-%{release}
+
+
+%description    devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%prep
+%setup -q -c
+%patch0 -p1 -b .linux-enable
+%patch1 -p1 -b .autotools
+%patch2 -p1 -b .system-zlib
+%patch3 -p1 -b .gcc47
+
+for i in ZipArchive/*.txt; do
+    sed -i.old 's/\r//' "$i"
+    touch -r "$i.old" "$i"
+done
+
+cd ZipArchive
+rm -rf zlib bzip2
+sh ./autogen.sh
+
+
+%build
+cd ZipArchive
+%configure --disable-static
+make %{?_smp_mflags}
+
+
+%install
+cd ZipArchive
+make install DESTDIR=$RPM_BUILD_ROOT
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+install -p -m 644 %{name}.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files
+%doc ZipArchive/License.txt
+%{_libdir}/libziparch-%{version}.so
+
+%files devel
+%doc ZipArchive/{Appnote.txt,_readme.txt}
+%{_includedir}/ZipArchive/
+%{_libdir}/libziparch.so
+%{_libdir}/pkgconfig/%{name}.pc
+
+
+%changelog
+* Thu Jan 19 2012 Hans de Goede <hdegoede at redhat.com> - 4.1.1-5
+- Drop custom cmake module, cmake using apps can use the .pc file
+- Fix the .pc file to properly return -lziparch for --libs
+
+* Thu Jan 12 2012 Hans de Goede <hdegoede at redhat.com> - 4.1.1-4
+- Make -devel package Requires on main package include isa
+- Drop buildroot and defattr boilerplate (no longer needed with recent rpm)
+- Fix building with gcc-4.7
+- Fix various rpmlint warnings
+
+* Fri Dec 23 2011 Dan Horák <dan[at]danny.cz> - 4.1.1-3
+- use system zlib
+
+* Tue Dec 13 2011 Dan Horák <dan[at]danny.cz> - 4.1.1-2
+- add missing *_lnx.cpp files to the library
+
+* Tue Dec 13 2011 Dan Horák <dan[at]danny.cz> - 4.1.1-1
+- initial Fedora version
diff --git a/sources b/sources
index e69de29..6a29099 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+3d2ec49638cfbc5d57cc43b0a894573d  ziparchive_src.zip


More information about the scm-commits mailing list