From cd30e253ea7b681ca5a492b6433b76feae3fbdb2 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sun, 9 Mar 2014 01:22:58 +0000 Subject: [PATCH] qt5-git: Add MSYS2 and static patches (WIP) --- mingw-w64-qt5-git/PKGBUILD | 15 +++--- .../qt-5.1.x-win_flex-replace.patch | 4 +- ...oolEnv-under-MSYS2-with-mingw32-make.patch | 47 +++++++++++++++++++ .../qt-5.2.1-static-qmake-conf.patch | 22 +++++++++ 4 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 mingw-w64-qt5-git/qt-5.2.1-fix-qtAddToolEnv-under-MSYS2-with-mingw32-make.patch create mode 100644 mingw-w64-qt5-git/qt-5.2.1-static-qmake-conf.patch diff --git a/mingw-w64-qt5-git/PKGBUILD b/mingw-w64-qt5-git/PKGBUILD index 6bccfcafcd..04164cdae3 100644 --- a/mingw-w64-qt5-git/PKGBUILD +++ b/mingw-w64-qt5-git/PKGBUILD @@ -4,7 +4,7 @@ _realname=qt5 _mingw_suff=mingw-w64-${CARCH} pkgname="${_mingw_suff}-${_realname}-git" _ver_base=5.3.0 -pkgver=5.3.0 +pkgver=5.3.0.890.e198c12 pkgrel=1 arch=('any') url='http://qt-project.org/' @@ -50,7 +50,6 @@ qt_modules=( qtdoc qtgraphicaleffects qtimageformats - qtjsbackend qtlocation qtmultimedia qtquick1 @@ -77,7 +76,9 @@ source=($( \ qt-5.1.0-win32-g++-mkspec-optimization.patch qt-5.1.x-fix-configure-tests.patch qt-5.1.x-syncqt-fix.patch - qt-5.1.x-win_flex-replace.patch) + qt-5.1.x-win_flex-replace.patch + qt-5.2.1-static-qmake-conf.patch + qt-5.2.1-fix-qtAddToolEnv-under-MSYS2-with-mingw32-make.patch) pkgver() { cd "$srcdir/$_realname" @@ -86,7 +87,7 @@ pkgver() { prepare() { cd ${srcdir} - local curmod in ${qt_modules[@]}; do + for curmod in ${qt_modules[@]}; do if [[ $curmod != ${_realname} ]]; then mv -f $curmod ${_realname} fi @@ -94,6 +95,7 @@ prepare() { cd ${_realname} + plain "" patch -p1 -i ${srcdir}/qt-5.0.0-oracle-driver-prompt.patch patch -p1 -i ${srcdir}/qt-5.0.0-use-fbclient-instead-of-gds32.patch patch -p1 -i ${srcdir}/qt-5.1.0-win32-g++-mkspec-optimization.patch @@ -238,10 +240,11 @@ md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'SKIP' '10790f1672b5f2b83e5473ad6cd48cd3' '86899e8f2858c48d4827282c04696b76' 'd675dbbe15d275c84f2792c75212ace0' '2488e70329d9bc71f8f4619ddfb8522a' '2235d876133956a788c393310fa8a526' - 'cc5fdd2eebc8d2d747271de091942336') + '608a30dbf8f5c2146d7285b551b03252' + '15bd4f83cf5a70377ea7e86c7505445b' + 'd9823799b2e960f0d204aa893056626a') diff --git a/mingw-w64-qt5-git/qt-5.1.x-win_flex-replace.patch b/mingw-w64-qt5-git/qt-5.1.x-win_flex-replace.patch index 24148757cb..ed94e5927c 100644 --- a/mingw-w64-qt5-git/qt-5.1.x-win_flex-replace.patch +++ b/mingw-w64-qt5-git/qt-5.1.x-win_flex-replace.patch @@ -1,5 +1,5 @@ ---- qt-stable/qtbase/src/angle/src/compiler/translator_common.pro.orig 2013-06-18 08:49:51.975288500 +0000 -+++ qt-stable/qtbase/src/angle/src/compiler/translator_common.pro 2013-06-18 08:50:06.047321000 +0000 +--- qt-stable/qtbase/src/angle/src/compiler/translator.pro.orig 2013-06-18 08:49:51.975288500 +0000 ++++ qt-stable/qtbase/src/angle/src/compiler/translator.pro 2013-06-18 08:50:06.047321000 +0000 @@ -92,7 +92,7 @@ $$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp diff --git a/mingw-w64-qt5-git/qt-5.2.1-fix-qtAddToolEnv-under-MSYS2-with-mingw32-make.patch b/mingw-w64-qt5-git/qt-5.2.1-fix-qtAddToolEnv-under-MSYS2-with-mingw32-make.patch new file mode 100644 index 0000000000..41b25668a9 --- /dev/null +++ b/mingw-w64-qt5-git/qt-5.2.1-fix-qtAddToolEnv-under-MSYS2-with-mingw32-make.patch @@ -0,0 +1,47 @@ +diff -urN qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt.prf.orig qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt.prf +--- qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt.prf.orig 2014-03-07 01:48:59.575901600 +0000 ++++ qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt.prf 2014-03-07 01:54:08.452568300 +0000 +@@ -80,7 +80,7 @@ + contains(qt_module_deps, qml): \ + contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan { + # run qmlimportscanner +- qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner) ++ qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, system) + for (MODULE, QT_MODULES) { + PATH = $$eval(QT.$${MODULE}.qml) + !isEmpty(PATH):exists($$PATH): QMLPATHS += $$PATH +@@ -89,8 +89,8 @@ + for (QMLPATH, QMLPATHS): \ + IMPORTPATHS += -importPath $$QMLPATH + +- #message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) +- JSON = $$system($$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) ++ #message(run $$QMLIMPORTSCANNERsystem $$_PRO_FILE_PWD_ $$IMPORTPATHS) ++ JSON = $$system($$QMLIMPORTSCANNERsystem $$_PRO_FILE_PWD_ $$IMPORTPATHS) + + parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.") + +diff -urN qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt_functions.prf.orig qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt_functions.prf +--- qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt_functions.prf.orig 2014-03-07 01:48:59.575901600 +0000 ++++ qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/qt_functions.prf 2014-03-07 01:54:08.452568300 +0000 +@@ -216,15 +216,17 @@ + + # target variable, list of env var names, [non-empty: prepare for system(), not make] + defineTest(qtAddToolEnv) { +- isEmpty(3): \ ++ isEmpty(3) { + ds = $$QMAKE_DIR_SEP +- else: \ ++ } else { + ds = $$DIR_SEPARATOR ++ equals(MAKEFILE_GENERATOR, MINGW): MINGW_AND_SYSTEM = true ++ } + for(env, 2) { + value = $$eval($${env}.value) + !isEmpty(value) { + name = $$eval($${env}.name) +- equals(ds, /) { ++ equals(ds, /):isEmpty(MINGW_AND_SYSTEM) { + contains($${env}.CONFIG, prepend): infix = \${$$name:+:\$$$name} + else: infix = + val = "$$name=$$join(value, :)$$infix" diff --git a/mingw-w64-qt5-git/qt-5.2.1-static-qmake-conf.patch b/mingw-w64-qt5-git/qt-5.2.1-static-qmake-conf.patch new file mode 100644 index 0000000000..0279579878 --- /dev/null +++ b/mingw-w64-qt5-git/qt-5.2.1-static-qmake-conf.patch @@ -0,0 +1,22 @@ +diff -urN qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/default_post.prf.orig qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/default_post.prf +--- qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/default_post.prf.orig 2014-02-01 20:37:37.000000000 +0000 ++++ qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/features/default_post.prf 2014-03-07 22:56:43.997614000 +0000 +@@ -53,6 +53,7 @@ + } + + dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL ++static:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB + static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB + staticlib:unix { + QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB +diff -urN qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/win32-g++/qmake.conf.orig qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/win32-g++/qmake.conf +--- qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/win32-g++/qmake.conf.orig 2014-02-01 20:37:37.000000000 +0000 ++++ qt-everywhere-opensource-src-5.2.1/qtbase/mkspecs/win32-g++/qmake.conf 2014-03-07 22:55:45.900291100 +0000 +@@ -74,6 +74,7 @@ + QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console + QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows + QMAKE_LFLAGS_DLL = -shared ++QMAKE_LFLAGS_STATIC_LIB += -static + QMAKE_LFLAGS_CXX11 = + QMAKE_LINK_OBJECT_MAX = 10 + QMAKE_LINK_OBJECT_SCRIPT = object_script