Merge branch 'zgyarmati-quazip'

This commit is contained in:
Tony Theodore 2017-11-01 18:38:41 +11:00
commit 05739848e3
3 changed files with 170 additions and 0 deletions

121
src/quazip-1-fixes.patch Normal file
View File

@ -0,0 +1,121 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Date: Sun, 4 Jun 2017 03:19:59 +0200
Subject: [PATCH] add pkg-config generation to qmake build
Sent to upstream: https://sourceforge.net/p/quazip/patches/31/
Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
diff --git a/quazip/quazip.pro b/quazip/quazip.pro
index 1111111..2222222 100644
--- a/quazip/quazip.pro
+++ b/quazip/quazip.pro
@@ -2,6 +2,13 @@ TEMPLATE = lib
CONFIG += qt warn_on
QT -= gui
+# Creating pkgconfig .pc file
+CONFIG += create_prl no_install_prl create_pc
+
+QMAKE_PKGCONFIG_PREFIX = $$PREFIX
+QMAKE_PKGCONFIG_INCDIR = $$headers.path
+QMAKE_PKGCONFIG_REQUIRES = Qt5Core
+
# The ABI version.
!win32:VERSION = 1.0.0
@@ -43,6 +50,7 @@ unix:!symbian {
headers.path=$$PREFIX/include/quazip
headers.files=$$HEADERS
target.path=$$PREFIX/lib/$${LIB_ARCH}
+ QMAKE_PKGCONFIG_DESTDIR = pkgconfig
INSTALLS += headers target
OBJECTS_DIR=.obj
@@ -53,8 +61,21 @@ unix:!symbian {
win32 {
headers.path=$$PREFIX/include/quazip
headers.files=$$HEADERS
- target.path=$$PREFIX/lib
INSTALLS += headers target
+ CONFIG(staticlib){
+ target.path=$$PREFIX/lib
+ QMAKE_PKGCONFIG_LIBDIR = $$PREFIX/lib/
+ } else {
+ target.path=$$PREFIX/bin
+ QMAKE_PKGCONFIG_LIBDIR = $$PREFIX/bin/
+ }
+
+ ## odd, this path seems to be relative to the
+ ## target.path, so if we install the .dll into
+ ## the 'bin' dir, the .pc will go there as well,
+ ## unless have hack the needed path...
+ ## TODO any nicer solution?
+ QMAKE_PKGCONFIG_DESTDIR = ../lib/pkgconfig
# workaround for qdatetime.h macro bug
DEFINES += NOMINMAX
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Date: Sun, 4 Jun 2017 03:22:13 +0200
Subject: [PATCH] add -lz dir for win build
Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
diff --git a/quazip/quazip.pro b/quazip/quazip.pro
index 1111111..2222222 100644
--- a/quazip/quazip.pro
+++ b/quazip/quazip.pro
@@ -78,6 +78,8 @@ win32 {
QMAKE_PKGCONFIG_DESTDIR = ../lib/pkgconfig
# workaround for qdatetime.h macro bug
DEFINES += NOMINMAX
+
+ LIBS += -lz
}
diff --git a/qztest/qztest.pro b/qztest/qztest.pro
index 1111111..2222222 100644
--- a/qztest/qztest.pro
+++ b/qztest/qztest.pro
@@ -40,8 +40,8 @@ testquazipfile.cpp \
OBJECTS_DIR = .obj
MOC_DIR = .moc
-win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../quazip/release/ -lquazip
-else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../quazip/debug/ -lquazipd
+win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../quazip/release/ -lquazip -lz
+else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../quazip/debug/ -lquazipd -lz
else:mac:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../quazip/debug/ -lquazip_debug
else:unix: LIBS += -L$$OUT_PWD/../quazip/ -lquazip
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Date: Sat, 3 Jun 2017 11:24:17 +0200
Subject: [PATCH] use lowercase windows.h
Sent to upstream: https://sourceforge.net/p/quazip/patches/30/
Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
diff --git a/qztest/testjlcompress.cpp b/qztest/testjlcompress.cpp
index 1111111..2222222 100644
--- a/qztest/testjlcompress.cpp
+++ b/qztest/testjlcompress.cpp
@@ -34,7 +34,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license.
#include <quazip/JlCompress.h>
#ifdef Q_OS_WIN
-#include <Windows.h>
+#include <windows.h>
#endif
void TestJlCompress::compressFile_data()

11
src/quazip-test.cpp Normal file
View File

@ -0,0 +1,11 @@
// This file is part of MXE.
// See index.html for further information.
#include <QCoreApplication>
#include <quazip/JlCompress.h>
int main(int argc, char *argv[]){
QCoreApplication a(argc, argv);
printf ("%s\n", qPrintable(a.applicationFilePath()));
JlCompress::compressFile("quatest.zip", a.applicationFilePath());
}

38
src/quazip.mk Normal file
View File

@ -0,0 +1,38 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := quazip
$(PKG)_WEBSITE := https://sourceforge.net/projects/quazip/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.7.3
$(PKG)_CHECKSUM := 2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
$(PKG)_DEPS := gcc qtbase zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/quazip/files/quazip/' | \
$(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \
head -1
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(SOURCE_DIR)' \
$(if $(BUILD_STATIC), CONFIG\+=staticlib) \
PREFIX=$(PREFIX)/$(TARGET)
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(if $(BUILD_STATIC), \
echo 'Cflags.private: -DQUAZIP_STATIC' >> $(BUILD_DIR)/quazip/lib/pkgconfig/quazip.pc)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
# qmake misnames and installs import lib to bin
$(if $(BUILD_SHARED), \
mv -f $(PREFIX)/$(TARGET)/bin/libquazip.a \
$(PREFIX)/$(TARGET)/lib/libquazip.dll.a)
'$(TARGET)-g++' \
-W -Wall -Werror -std=c++11 -pedantic \
'$(TOP_DIR)/src/$(PKG)-test.cpp' \
-o '$(PREFIX)/$(TARGET)/bin/test-$(PKG)-pkgconfig.exe' \
`'$(TARGET)-pkg-config' quazip --cflags --libs`
endef