summaryrefslogtreecommitdiffstats
path: root/l/qt
diff options
context:
space:
mode:
Diffstat (limited to 'l/qt')
-rw-r--r--l/qt/0001-QCoreApplication-ibraryPaths-discovers-plugpath-rela.patch38
-rw-r--r--l/qt/0001-configure-use-pkg-config-for-libpng.patch53
-rw-r--r--l/qt/0002-Use-widl-instead-of-midl.-Also-set-QMAKE_DLLTOOL-to-.patch29
-rw-r--r--l/qt/0003-Tell-qmake-to-use-pkg-config.patch24
-rw-r--r--l/qt/config-native53
-rw-r--r--l/qt/config-regular14
-rwxr-xr-xl/qt/qt.SlackBuild396
-rw-r--r--l/qt/qt.fix.broken.gif.crash.diff.gzbin328 -> 362 bytes
-rw-r--r--l/qt/qt.yypkg.script6
-rw-r--r--l/qt/qt5-dont-add-resource-files-to-qmake-libs.patch11
-rw-r--r--l/qt/qt5-dont-build-host-libs-static.patch19
-rw-r--r--l/qt/qt5-qmake-implib-dll-a.patch33
-rw-r--r--l/qt/qt5-use-system-zlib-in-host-libs.patch66
-rw-r--r--l/qt/qt5-workaround-qtbug-29426.patch12
14 files changed, 614 insertions, 140 deletions
diff --git a/l/qt/0001-QCoreApplication-ibraryPaths-discovers-plugpath-rela.patch b/l/qt/0001-QCoreApplication-ibraryPaths-discovers-plugpath-rela.patch
new file mode 100644
index 0000000..cef9b8f
--- /dev/null
+++ b/l/qt/0001-QCoreApplication-ibraryPaths-discovers-plugpath-rela.patch
@@ -0,0 +1,38 @@
+From 62403408303a6055a9563b34c973d4fd20994d37 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien@notk.org>
+Date: Wed, 14 Jan 2015 23:16:55 +0100
+Subject: [PATCH] QCoreApplication: ibraryPaths() discovers plugpath relative
+ to Qt5Core.dll.
+
+---
+ qtbase/src/corelib/kernel/qcoreapplication.cpp | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/qtbase/src/corelib/kernel/qcoreapplication.cpp b/qtbase/src/corelib/kernel/qcoreapplication.cpp
+index 6868eb6..952c6ab 100644
+--- a/qtbase/src/corelib/kernel/qcoreapplication.cpp
++++ b/qtbase/src/corelib/kernel/qcoreapplication.cpp
+@@ -2408,6 +2408,20 @@ QStringList QCoreApplication::libraryPaths()
+ if (!app_libpaths->contains(installPathPlugins))
+ app_libpaths->append(installPathPlugins);
+ }
++#ifdef _WIN32
++ HMODULE phModule;
++ QString installPathQtCoreDll;
++ if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (LPCTSTR) QCoreApplication::libraryPaths, &phModule)) {
++ char qt_core_path[512];
++ DWORD ret = GetModuleFileNameA(phModule, qt_core_path, sizeof(qt_core_path));
++ if (ret > 0 && ret < sizeof(qt_core_path)) {
++ QString p = QString(qt_core_path);
++ QString pp = QFileInfo(p).dir().filePath(QString("../plugins"));
++ QString ppp = QDir(pp).canonicalPath();
++ app_libpaths->append(ppp);
++ }
++ }
++#endif
+
+ // If QCoreApplication is not yet instantiated,
+ // make sure we add the application path when we construct the QCoreApplication
+--
+1.8.4
+
diff --git a/l/qt/0001-configure-use-pkg-config-for-libpng.patch b/l/qt/0001-configure-use-pkg-config-for-libpng.patch
new file mode 100644
index 0000000..7d0bfa9
--- /dev/null
+++ b/l/qt/0001-configure-use-pkg-config-for-libpng.patch
@@ -0,0 +1,53 @@
+From a20597023b3d7cf39a48634917edcf2fe30ac41e Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien@notk.org>
+Date: Thu, 6 Feb 2014 23:14:11 +0100
+Subject: [PATCH 1/3] configure: use pkg-config for libpng.
+
+---
+ qtbase/configure | 16 +++++++++++++---
+ qtbase/src/gui/image/qpnghandler.pri | 1 +
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/qtbase/configure b/qtbase/configure
+index a330dd6..272dbda 100755
+--- a/qtbase/configure
++++ b/qtbase/configure
+@@ -4411,10 +4411,20 @@ fi
+
+ # detect png
+ if [ "$CFG_LIBPNG" = "auto" ]; then
+- if compileTest unix/libpng "libpng"; then
+- CFG_LIBPNG=system
++ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libpng 2>/dev/null; then
++ QT_CFLAGS_LIBPNG=`$PKG_CONFIG --cflags libpng 2>/dev/null`
++ QT_LIBS_LIBPNG=`$PKG_CONFIG --libs libpng 2>/dev/null`
+ else
+- CFG_LIBPNG=qt
++ QT_CFLAGS_LIBPNG=
++ QT_LIBS_LIBPNG="-lpng"
++ fi
++ if compileTest unix/libpng "libpng" $QT_CFLAGS_LIBPNG; then
++ QT_CONFIG="$QT_CONFIG libpng"
++ QMakeVar set QMAKE_CFLAGS_LIBPNG "$QT_CFLAGS_LIBPNG"
++ QMakeVar set QMAKE_LIBS_LIBPNG "$QT_LIBS_LIBPNG"
++ CFG_LIBPNG=system
++ else
++ CFG_LIBPNG=qt
+ fi
+ fi
+
+diff --git a/qtbase/src/gui/image/qpnghandler.pri b/qtbase/src/gui/image/qpnghandler.pri
+index bedf23f..bcc8f62 100644
+--- a/qtbase/src/gui/image/qpnghandler.pri
++++ b/qtbase/src/gui/image/qpnghandler.pri
+@@ -2,6 +2,7 @@ INCLUDEPATH *= $$PWD
+ HEADERS += $$PWD/qpnghandler_p.h
+ SOURCES += $$PWD/qpnghandler.cpp
+ contains(QT_CONFIG, system-png) {
++ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_LIBPNG
+ if(unix|mingw): LIBS_PRIVATE += -lpng
+ else:win32: LIBS += libpng.lib
+
+--
+1.8.4
+
diff --git a/l/qt/0002-Use-widl-instead-of-midl.-Also-set-QMAKE_DLLTOOL-to-.patch b/l/qt/0002-Use-widl-instead-of-midl.-Also-set-QMAKE_DLLTOOL-to-.patch
new file mode 100644
index 0000000..8cfcb11
--- /dev/null
+++ b/l/qt/0002-Use-widl-instead-of-midl.-Also-set-QMAKE_DLLTOOL-to-.patch
@@ -0,0 +1,29 @@
+From 2112fbba9efb67caadf7064e44f68ac98ee89843 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien@notk.org>
+Date: Sat, 8 Feb 2014 00:31:41 +0100
+Subject: [PATCH 2/3] Use widl instead of midl. Also set QMAKE_DLLTOOL to
+ dlltool.
+
+---
+ qtbase/mkspecs/win32-g++/qmake.conf | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/qtbase/mkspecs/win32-g++/qmake.conf b/qtbase/mkspecs/win32-g++/qmake.conf
+index d514b6d..73bc91f 100644
+--- a/qtbase/mkspecs/win32-g++/qmake.conf
++++ b/qtbase/mkspecs/win32-g++/qmake.conf
+@@ -102,9 +102,10 @@ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
+ include(../common/shell-win32.conf)
+ }
+
+-QMAKE_IDL = midl
++QMAKE_IDL = $${CROSS_COMPILE}widl
+ QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+ QMAKE_RC = $${CROSS_COMPILE}windres
++QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
+
+ QMAKE_STRIP = $${CROSS_COMPILE}strip
+ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+--
+1.8.4
+
diff --git a/l/qt/0003-Tell-qmake-to-use-pkg-config.patch b/l/qt/0003-Tell-qmake-to-use-pkg-config.patch
new file mode 100644
index 0000000..1ea51e6
--- /dev/null
+++ b/l/qt/0003-Tell-qmake-to-use-pkg-config.patch
@@ -0,0 +1,24 @@
+From 7041ac8be4245debc4af462dfe2fbd0da0e5ba60 Mon Sep 17 00:00:00 2001
+From: Adrien Nader <adrien@notk.org>
+Date: Sun, 9 Feb 2014 23:53:41 +0100
+Subject: [PATCH 3/3] Tell qmake to use pkg-config.
+
+---
+ qtbase/mkspecs/win32-g++/qmake.conf | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/qtbase/mkspecs/win32-g++/qmake.conf b/qtbase/mkspecs/win32-g++/qmake.conf
+index 73bc91f..a8a0066 100644
+--- a/qtbase/mkspecs/win32-g++/qmake.conf
++++ b/qtbase/mkspecs/win32-g++/qmake.conf
+@@ -111,4 +111,7 @@ QMAKE_STRIP = $${CROSS_COMPILE}strip
+ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+ QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
+ QMAKE_NM = $${CROSS_COMPILE}nm -P
++
++PKG_CONFIG = pkg-config
++
+ load(qt_config)
+--
+1.8.4
+
diff --git a/l/qt/config-native b/l/qt/config-native
new file mode 100644
index 0000000..291313c
--- /dev/null
+++ b/l/qt/config-native
@@ -0,0 +1,53 @@
+export CONFIGURE_OPTIONS=" \
+ -no-sql-sqlite \
+ -no-sql-mysql \
+ -no-sql-psql \
+ -no-qml-debug \
+ -no-mtdev \
+ -no-journald \
+ -no-gif \
+ -no-libpng \
+ -no-libjpeg \
+ -no-harfbuzz \
+ -no-openssl \
+ -no-xinput2 \
+ -no-xcb-xlib \
+ -no-iconv \
+ -no-evdev \
+ -no-icu \
+ -no-xcb \
+ -no-opengl \
+ -no-accessibility \
+ -no-pulseaudio \
+ -no-alsa \
+ -no-dbus \
+ -no-egl \
+ -no-linuxfb \
+ -no-qpa-platform-guard \
+ -no-sm \
+ -no-libudev \
+ -skip qtactiveqt \
+ -skip qtconnectivity \
+ -skip qtdeclarative \
+ -skip qtdoc \
+ -skip qtenginio \
+ -skip qtgraphicaleffects \
+ -skip qtimageformats \
+ -skip qtlocation \
+ -skip qtmultimedia \
+ -skip qtquick1 \
+ -skip qtquickcontrols \
+ -skip qtscript \
+ -skip qtsensors \
+ -skip qtserialport \
+ -skip qtsvg \
+ -skip qttranslations \
+ -skip qtwebkit \
+ -skip qtwebkit-examples \
+ -skip qtwebsockets \
+ -skip qtxmlpatterns \
+"
+
+export YYLOWCOMPRESS="1"
+
+export HACKY_DISABLES="widgets gui printsupport platformsupport plugins network testlib sql concurrent"
diff --git a/l/qt/config-regular b/l/qt/config-regular
new file mode 100644
index 0000000..692c730
--- /dev/null
+++ b/l/qt/config-regular
@@ -0,0 +1,14 @@
+export CONFIGURE_OPTIONS=" \
+ -system-libjpeg \
+ -system-zlib \
+ -system-sqlite \
+ -system-pcre \
+ -system-harfbuzz \
+ -plugin-sql-sqlite \
+ -dbus \
+ -force-pkg-config \
+ -xplatform win32-g++ \
+ -device-option CROSS_COMPILE="${HOST_TRIPLET}-" \
+"
+
+export HACKY_DISABLES=""
diff --git a/l/qt/qt.SlackBuild b/l/qt/qt.SlackBuild
index abc3e79..69d676b 100755
--- a/l/qt/qt.SlackBuild
+++ b/l/qt/qt.SlackBuild
@@ -40,59 +40,25 @@
# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4 are built from original nokia sources.
PKGNAM=qt
-VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+VERSION=${VERSION:-$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i486 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- # To prevent "qatomic_armv6.h error: output number 2 not directly addressable"
- # More permanent solution is to patch gcc:
- # http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/revision/106731
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -fno-strict-volatile-bitfields"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
+set -e
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf qt-everywhere-opensource-src-$VERSION
tar xvf $CWD/qt-everywhere-opensource-src-$VERSION.tar.xz # For qt releases
-cd qt-everywhere-opensource-src-$VERSION || exit 1
-
+cd qt-everywhere-opensource-src-$VERSION
+# We have to use rpath here as the library which the
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -100,64 +66,213 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-if [ $ARCH = "i486" ]; then
- sed -i -e "s/QMAKE_CFLAGS_RELEASE += -O2/QMAKE_CFLAGS_RELEASE += $SLKCFLAGS/" mkspecs/common/gcc-base.conf || exit 1
-fi
-
# Fix path to mysql header
-zcat $CWD/qt.mysql.h.diff.gz | patch -p1 --verbose || exit 1
+# zcat $CWD/qt.mysql.h.diff.gz | patch -p1 --verbose || exit 1
# Stupid idea - remove it:
-zcat $CWD/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1
+# zcat $CWD/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1
+
+#! PATCH
+sed -i 's/Shlwapi.h/shlwapi.h/' qttools/src/windeployqt/utils.cpp
+
+#! PATCH
+case "${HOST_TRIPLET}" in
+ *-*-mingw*)
+ cat $CWD/0001-configure-use-pkg-config-for-libpng.patch \
+ | patch -p1 --verbose
+ cat $CWD/0002-Use-widl-instead-of-midl.-Also-set-QMAKE_DLLTOOL-to-.patch \
+ | patch -p1 --verbose
+
+ cat $CWD/qt5-dont-add-resource-files-to-qmake-libs.patch \
+ | ( cd qtbase && patch -p1 --verbose )
+ cat $CWD/qt5-qmake-implib-dll-a.patch \
+ | ( cd qtbase && patch -p1 --verbose )
+
+ sed -i '/option.host_build./ d' qtactiveqt/src/tools/idc/idc.pro
+
+ cat $CWD/0001-QCoreApplication-ibraryPaths-discovers-plugpath-rela.patch \
+ | patch -p1 --verbose
+
+ EXEEXT=".exe"
+ ;;
+ *)
+ EXEEXT=""
+ ;;
+esac
# Fix crash on malformed GIF images (CVE-2014-0190):
-zcat $CWD/qt.fix.broken.gif.crash.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/qt.fix.broken.gif.crash.diff.gz | patch -p1 --verbose
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
-export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
-./configure \
+export CFLAGS="-O2"
+export CXXFLAGS="-O2"
+export OPENSOURCE_CXXFLAGS="-O2"
+
+MAKEFLAGS="${NUMJOBS}" ./configure \
-confirm-license \
-opensource \
- -prefix /usr/lib${LIBDIRSUFFIX}/qt \
- -fast \
- -system-libpng \
- -system-libjpeg \
- -system-zlib \
- -system-sqlite \
- -plugin-sql-sqlite \
- -dbus \
- -webkit \
- -no-phonon \
+ -prefix /${PREFIX} \
+ -headerdir /${PREFIX}/include/qt5 \
+ -libdir /${PREFIX}/lib${LIBDIRSUFFIX} \
+ -no-compile-examples \
-nomake examples \
- -nomake demos \
- -nomake docs \
+ -nomake tests \
+ -no-kms \
+ -no-cups \
+ -no-gtkstyle \
+ -no-glib \
+ -no-fontconfig \
+ ${CONFIGURE_OPTIONS} \
+ -release \
+ -optimized-qmake \
-no-separate-debug-info \
-no-pch
# No-precompiled-headers is ccache-friendly.
+# Kill building of some sub-modules that cannot be disabled through configure.
+# In particular this makes it possible to not build GUI and widgets code while
+# still having 'uic' built.
+# 70% reduction in build time for tools-only builds in addition to the gains
+# through the various -skip configure parameters (which cut the build times in
+# half).
+for p in ${HACKY_DISABLES}; do
+ printf 'all:\n\ttrue\n\ninstall:\n\ttrue\n' > "qtbase/src/${p}/Makefile"
+done
+
# Sometimes a failure happens when parallelizing make. Try again if make fails,
# but make a failure the second time around (single threaded) a fatal error:
-make $NUMJOBS || make || exit 1
-make install INSTALL_ROOT=$PKG || exit 1
+make $NUMJOBS || make
+make install INSTALL_ROOT=$PKG
+
+case "${HOST_TRIPLET}" in
+ *-*-mingw*)
+ if [ x"${HOST_TRIPLET}" != x"${BUILD_TRIPLET}" ]; then
+ (cd qtbase/qmake
+ make clean
+ make \
+ CC=${HOST_TRIPLET}-gcc \
+ CXX=${HOST_TRIPLET}-g++ \
+ QMAKESPEC=${PWD}/../mkspecs/win32-g++ \
+ EXTRA_CPPFLAGS=-DUNICODE \
+ QMAKE_LFLAGS="-lole32 -luuid -ladvapi32 -lkernel32" \
+ EXEEXT="${EXEEXT}" \
+ QTOBJS='qfilesystemengine_win.o qfilesystemiterator_win.o qfsfileengine_win.o qlocale_win.o registry.o qsettings_win.o qsystemlibrary.o' \
+ $NUMJOBS
+ install -m 755 ../bin/qmake${EXEEXT} $PKG/${PREFIX}/bin
+ )
+
+ tool() {
+ local TOOL_PATH="${1}"
+ local TOOL="${2:-""}"
+ if [ -n "${TOOL}" ]; then
+ local TARGET="${TOOL}${EXEEXT}"
+ local WITH_TARGET="TARGET=${TARGET}"
+ else
+ local TARGET=""
+ local WITH_TARGET=""
+ fi
+
+ make -C ${TOOL_PATH}/${TOOL} clean
+
+ sed -i '/INCPATH \+=/ s/linux-g++/win32-g++/g' ${TOOL_PATH}/${TOOL}/Makefile
+
+ make -C ${TOOL_PATH}/${TOOL} \
+ CC="${HOST_TRIPLET}-gcc" \
+ CXX="${HOST_TRIPLET}-g++" \
+ LINK='$(CXX)' \
+ AR="${HOST_TRIPLET}-ar cqs" \
+ ${WITH_TARGET} \
+ LIBS="-L${PWD}/qtbase/lib ${EXTRA_LIBS} -lQt5Core" \
+ LFLAGS="-Wl,-O1" \
+ CFLAGS="-O2 -fno-exceptions -Wall -W -D_REENTRANT "'$(DEFINES)'" -DUNICODE ${EXTRA_CPPFLAGS}" \
+ CXXFLAGS="-O2 -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT "'$(DEFINES)'" -DUNICODE ${EXTRA_CPPFLAGS}" \
+ $NUMJOBS
+
+ if [ -n "${TARGET}" ]; then
+ install -m 755 "${TOOL_PATH}/${TOOL}/${TARGET}" "$PKG/${PREFIX}/bin"
+ fi
+ }
+
+ tool "qtbase/src/tools" moc
+ tool "qtbase/src/tools" rcc
+ tool "qtbase/src/tools" qlalr
+ EXTRA_LIBS="-lQt5Xml" \
+ tool "qtbase/src/tools" qdoc
+ tool "qtbase/src/tools" uic
+ EXTRA_LIBS="-lQt5DBus" \
+ tool "qtbase/src/tools" qdbusxml2cpp
+ EXTRA_LIBS="-lQt5DBus" EXTRA_CPPFLAGS="$(pkg-config --cflags dbus-1)" \
+ tool "qtbase/src/tools" qdbuscpp2xml
+
+ EXTRA_LIBS="-lshlwapi" \
+ tool "qttools/src" windeployqt
+ EXTRA_LIBS="-lQt5Xml" \
+ tool "qttools/src/linguist" lconvert
+ EXTRA_LIBS="-lQt5Xml" \
+ tool "qttools/src/linguist" lrelease
+ EXTRA_LIBS="-L../../../../qtdeclarative/lib -lQt5Qml -lQt5Xml" \
+ tool "qttools/src/linguist" lupdate
+
+ EXTRA_LIBS="-L../../lib -lQt5Qml" \
+ tool "qtdeclarative/tools" qmlimportscanner
+ EXTRA_LIBS="-L../../lib -lQt5Qml" \
+ tool "qtdeclarative/src/qmldevtools" ""
+ EXTRA_LIBS="-L../../lib -lQt5QmlDevTools -lQt5Qml" \
+ tool "qtdeclarative/tools" qmlmin
+
+ (cd $PKG/${PREFIX}/bin
+ rm -f lconvert lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qdoc qlalr
+ rm -f qmake qmlimportscanner qmlmin rcc uic windeployqt
+ )
+ fi
+ ;;
+esac
+
+# Qt isn't redeployable by default: it is full of hardcoded paths and values.
+# We need to create a file named "qt.conf" for it not to look into
+# "/opt/windows_??" when running on Windows.
+# Credits to Cristian Adams at
+# http://cristianadam.blogspot.fr/2012/06/portable-qmake.html with the change
+# that qmake will look for "qt.conf" and not "qmake.conf" (probably a
+# difference in Qt5; spotted through ProcessMonitor).
+cat > $PKG/${PREFIX}/bin/qt.conf << EOF
+[Paths]
+ Prefix=..
+ Headers=include/qt5
+EOF
+
+# qmake is a pile of assumptions written in stone during its compilation. For
+# cross-compile, we will have to put a "qt.conf" file next to it, telling it
+# not to look in the current installation prefix (and provide env vars for the
+# specs file lookup but that doesn't matter here).
+# Since the configuration we want is for cross-toolchain, we can only add it
+# during the cross_toolchain series. The issue is that qt.conf is searched for
+# at basically "$(dirname argv[1])/qt.conf", i.e. it will be
+# ${YYPREFIX_NATIVE}/bin/qt.conf. Fortunately for us it doesn't do any check
+# related to symlinks so we add a symlink from ${YYPREFIX_CROSS}/bin/qmake to
+# the binary in the native prefix. This however requires the cross prefix to
+# always be before the native one in ${PATH} and this is simply too risky so in
+# addition to that, we rename the qmake binary in native_toolchain in order to
+# "poison" it. This is fine since it is only to be used for win-builds.
+if [ x"${TARGET_TRIPLET}" = x"${HOST_TRIPLET}" ] && [ x"${TARGET_TRIPLET}" = x"${BUILD_TRIPLET}" ]; then
+ mv ${PKG}/${PREFIX}/bin/qmake ${PKG}/${PREFIX}/bin/qmake-poisoned
+fi
# The infamous qt -> qt-${VERSION} link that keeps the full path out of .la files:
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf qt qt-${VERSION} )
+( cd $PKG/${PREFIX}/lib${LIBDIRSUFFIX} ; ln -sf qt qt-${VERSION} )
# Add a missing Qt.pc which is needed by KDE applications:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
-cat <<EOF > $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/Qt.pc
-prefix=/usr/lib${LIBDIRSUFFIX}/qt
+mkdir -p $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/pkgconfig
+cat <<EOF > $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/pkgconfig/Qt.pc
+prefix=/${PREFIX}
bindir=\${prefix}/bin
datadir=\${prefix}
docdir=\${prefix}/doc
headerdir=\${prefix}/include
importdir=\${prefix}/imports
-libdir=\${prefix}/lib
-moc=\${bindir}/moc
+libdir=\${prefix}/lib${LIBDIRSUFFIX}
+moc=\${bindir}/moc${EXEEXT}
plugindir=\${prefix}/plugins
-qmake=\${bindir}/qmake
-sysconfdir=\${prefix}/etc/settings
+qmake=\${bindir}/qmake${EXEEXT}
translationdir=\${prefix}/translations
Name: Qt
@@ -166,76 +281,76 @@ Version: $VERSION
EOF
# libjscore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
+# sed -i "s,-ljscore,,g" $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
+# sed -i "s,-L../JavaScriptCore/release,,g" $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
# libwebcore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
- -e "s# -lwebcore##g" \
- $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
-
-# Link the shared libraries into /usr/lib:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in qt/lib/*.so* ; do
- ln -sf $file .
- done
-)
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# sed -i \
+# -e "s#-L/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/${PREFIX}/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
+# -e "s#-L/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/${PREFIX}/X11R6/lib -lwebcore##g" \
+# -e "s# -lwebcore##g" \
+# $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
+
+# Link the shared libraries into /${PREFIX}/lib:
+# ( cd $PKG/${PREFIX}/lib${LIBDIRSUFFIX}
+# for file in qt/lib/*.so* ; do
+# ln -sf $file .
+# done
+# )
+
+find $PKG -size +4k -type f | xargs file | egrep -e "executable|shared object" \
+ | grep ${HOST_EXE_FORMAT} | cut -f 1 -d : \
+ | xargs ${HOST_STRIP} --strip-unneeded 2> /dev/null
# Add profile scripts
-mkdir -p $PKG/etc/profile.d
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.sh \
- > $PKG/etc/profile.d/qt4.sh
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.csh \
- > $PKG/etc/profile.d/qt4.csh
-chmod 0755 $PKG/etc/profile.d/*
-
-# Put a ton of links to more "normal" places. I'd just use a prefix of /usr, but it
-# creates a ton of new (and ambiguously named) /usr directories...
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin
- for file in * ; do
- ( cd $PKG/usr/bin ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/bin/$file . )
- done
-)
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
- for file in *.pc ; do
- ( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
- done
-)
+# mkdir -p $PKG/etc/profile.d
+# sed -e "s#${PREFIX}/lib/#${PREFIX}/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.sh \
+# > $PKG/etc/profile.d/qt4.sh
+# sed -e "s#${PREFIX}/lib/#${PREFIX}/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.csh \
+# > $PKG/etc/profile.d/qt4.csh
+# chmod 0755 $PKG/etc/profile.d/*
+
+# Put a ton of links to more "normal" places. I'd just use a prefix of /${PREFIX}, but it
+# creates a ton of new (and ambiguously named) /${PREFIX} directories...
+# mkdir -p $PKG/${PREFIX}/bin
+# ( cd $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/bin
+# for file in * ; do
+# ( cd $PKG/${PREFIX}/bin ; ln -sf /${PREFIX}/lib${LIBDIRSUFFIX}/qt/bin/$file . )
+# done
+# )
+
+# mkdir -p $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/pkgconfig
+# ( cd $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
+# for file in *.pc ; do
+# ( cd $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /${PREFIX}/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
+# done
+# )
# Install Qt's private headers - at least Gentoo and Fedora are adding these
# and some software has (inevitably) started depending on them:
# We're using `rsync -R` as easy way to preserve relative path names:
-rsync -aR \
- include/Qt{Core,Declarative,Gui,Script}/private \
- src/{corelib,declarative,gui,script}/*/*_p.h \
- ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
+
+ln -s 5.3.1/QtCore/private qtbase/include/QtCore/private
+ln -s 5.3.1/QtGui/private qtbase/include/QtGui/private
# Add menu entries for all those hidden but great Qt applications:
# Qt logo:
-convert $PKG/usr/lib$LIBDIRSUFFIX/qt/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
-convert $PKG/usr/lib$LIBDIRSUFFIX/qt/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
+mkdir -p $PKG/${PREFIX}/share/icons/hicolor/48x48/apps/
+convert qtdoc/doc/src/images/qt-logo.png -resize 48x48 $PKG/${PREFIX}/share/icons/hicolor/48x48/apps/qt-logo.png
# Assistant icons
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant.png $PKG/usr/share/icons/hicolor/32x32/apps/assistant.png
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant-128.png $PKG/usr/share/icons/hicolor/128x128/apps/assistant.png
+install -p -m644 -D qttools/src/assistant/assistant/images/assistant.png $PKG/${PREFIX}/share/icons/hicolor/32x32/apps/assistant.png
+install -p -m644 -D qttools/src/assistant/assistant/images/assistant-128.png $PKG/${PREFIX}/share/icons/hicolor/128x128/apps/assistant.png
# Designer icon
-install -p -m644 -D tools/designer/src/designer/images/designer.png $PKG/usr/share/icons/hicolor/128x128/apps/designer.png
+install -p -m644 -D qttools/src/designer/src/designer/images/designer.png $PKG/${PREFIX}/share/icons/hicolor/128x128/apps/designer.png
# Linguist icons
-for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
+for icon in qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
size=$(echo $(basename ${icon}) | cut -d- -f2)
- install -p -m644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
+ install -p -m644 -D ${icon} $PKG/${PREFIX}/share/icons/hicolor/${size}x${size}/apps/linguist.png
done
# And the .desktop files
-mkdir -p $PKG/usr/share/applications
-cat <<EOF > $PKG/usr/share/applications/designer.desktop
+mkdir -p $PKG/${PREFIX}/share/applications
+cat <<EOF > $PKG/${PREFIX}/share/applications/designer.desktop
[Desktop Entry]
Name=Qt4 Designer
GenericName=Interface Designer
@@ -248,7 +363,7 @@ Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
-cat <<EOF > $PKG/usr/share/applications/assistant.desktop
+cat <<EOF > $PKG/${PREFIX}/share/applications/assistant.desktop
[Desktop Entry]
Name=Qt4 Assistant
Comment=Shows Qt4 documentation and examples
@@ -259,7 +374,7 @@ Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF
-cat <<EOF > $PKG/usr/share/applications/linguist.desktop
+cat <<EOF > $PKG/${PREFIX}/share/applications/linguist.desktop
[Desktop Entry]
Name=Qt4 Linguist
Comment=Add translations to Qt4 applications
@@ -271,7 +386,7 @@ Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
-cat <<EOF > $PKG/usr/share/applications/qtconfig.desktop
+cat <<EOF > $PKG/${PREFIX}/share/applications/qtconfig.desktop
[Desktop Entry]
Name=Qt4 Config
Comment=Configure Qt4 behavior, styles, fonts
@@ -284,19 +399,20 @@ Categories=Qt;Settings;
EOF
# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
- ( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
+mkdir -p $PKG/${PREFIX}/doc/$PKGNAM-$VERSION
+cp -a *GPL_EXCEPTION* LICENSE* README* \
+ $PKG/${PREFIX}/doc/$PKGNAM-$VERSION
+if [ -d $PKG/${PREFIX}/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
+ ( cd $PKG/${PREFIX}/doc/$PKGNAM-$VERSION
+ ln -sf /${PREFIX}/lib${LIBDIRSUFFIX}/qt/doc/html .
)
fi
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
+cat ${CWD}/${PKGNAM}.yypkg.script | sed \
+ -e "s/%{PKG}/${PKGNAM}/" \
+ -e "s/%{HST}/${HOST_TRIPLET}/" \
+ -e "s/%{TGT}//" \
+ -e "s/%{VER}/${VERSION}/" \
+ -e "s/%{BUILD}/${BUILD}/" \
+ -e "s/%{DESCR}/${DESCR:-"No description"}/" \
+ | yypkg --makepkg --output ${YYOUTPUT} --script - --directory "${PKG}/${PREFIX}"
diff --git a/l/qt/qt.fix.broken.gif.crash.diff.gz b/l/qt/qt.fix.broken.gif.crash.diff.gz
index 0f77b80..f900310 100644
--- a/l/qt/qt.fix.broken.gif.crash.diff.gz
+++ b/l/qt/qt.fix.broken.gif.crash.diff.gz
Binary files differ
diff --git a/l/qt/qt.yypkg.script b/l/qt/qt.yypkg.script
new file mode 100644
index 0000000..96b5f52
--- /dev/null
+++ b/l/qt/qt.yypkg.script
@@ -0,0 +1,6 @@
+(((name %{PKG}) (size_expanded (TB 42))
+ (version (%{VER} %{BUILD}))
+ (packager_email adrien@notk.org) (packager_name "Adrien Nader")
+ (description "%{DESCR}") (host %{HST}) (target (%{TGT})) (predicates ())
+ (comments ()))
+ () ())
diff --git a/l/qt/qt5-dont-add-resource-files-to-qmake-libs.patch b/l/qt/qt5-dont-add-resource-files-to-qmake-libs.patch
new file mode 100644
index 0000000..b348429
--- /dev/null
+++ b/l/qt/qt5-dont-add-resource-files-to-qmake-libs.patch
@@ -0,0 +1,11 @@
+--- qtbase-opensource-src-5.2.0/qmake/generators/win32/mingw_make.cpp.orig 2014-01-04 21:18:07.413328813 +0100
++++ qtbase-opensource-src-5.2.0/qmake/generators/win32/mingw_make.cpp 2014-01-04 21:18:55.740126515 +0100
+@@ -254,7 +254,7 @@
+ processVars();
+
+ if (!project->values("RES_FILE").isEmpty()) {
+- project->values("QMAKE_LIBS") += escapeFilePaths(project->values("RES_FILE"));
++ project->values("OBJECTS") += escapeFilePaths(project->values("RES_FILE"));
+ }
+
+ ProStringList &configs = project->values("CONFIG");
diff --git a/l/qt/qt5-dont-build-host-libs-static.patch b/l/qt/qt5-dont-build-host-libs-static.patch
new file mode 100644
index 0000000..9e430e4
--- /dev/null
+++ b/l/qt/qt5-dont-build-host-libs-static.patch
@@ -0,0 +1,19 @@
+--- mkspecs/features/qt_module.prf.orig 2013-07-31 20:37:56.789883201 +0200
++++ mkspecs/features/qt_module.prf 2013-07-31 20:38:06.013034478 +0200
+@@ -25,7 +25,7 @@
+
+ # Compile as shared/DLL or static according to the option given to configure
+ # unless overridden. Host builds are always static
+-host_build|staticlib: CONFIG += static
++staticlib: CONFIG += static
+
+ host_build {
+ QT -= gui # no host module will ever use gui
+--- src/tools/bootstrap-dbus/bootstrap-dbus.pro.orig 2013-12-08 11:09:47.000000000 -0600
++++ src/tools/bootstrap-dbus/bootstrap-dbus.pro 2014-01-05 23:06:13.575543400 -0600
+@@ -30,4 +30,4 @@
+ ../../dbus/qdbusunixfiledescriptor.cpp
+
+ lib.CONFIG = dummy_install
+-INSTALLS = lib
++INSTALLS += lib
diff --git a/l/qt/qt5-qmake-implib-dll-a.patch b/l/qt/qt5-qmake-implib-dll-a.patch
new file mode 100644
index 0000000..5947656
--- /dev/null
+++ b/l/qt/qt5-qmake-implib-dll-a.patch
@@ -0,0 +1,33 @@
+--- a/qmake/generators/win32/mingw_make.cpp 2013-08-25 13:04:06.000000000 -0500
++++ b/qmake/generators/win32/mingw_make.cpp 2014-01-02 01:24:31.640046700 -0600
+@@ -71,7 +71,7 @@ QString MingwMakefileGenerator::escapeDe
+
+ QString MingwMakefileGenerator::getLibTarget()
+ {
+- return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".a");
++ return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".dll.a");
+ }
+
+ bool MingwMakefileGenerator::findLibraries()
+@@ -274,7 +274,7 @@ void MingwMakefileGenerator::init()
+ if(!project->first("DESTDIR").isEmpty())
+ destDir = Option::fixPathToTargetOS(project->first("DESTDIR") + Option::dir_sep, false, false);
+ project->values("MINGW_IMPORT_LIB").prepend(destDir + "lib" + project->first("TARGET")
+- + project->first("TARGET_VERSION_EXT") + ".a");
++ + project->first("TARGET_VERSION_EXT") + ".dll.a");
+ project->values("QMAKE_LFLAGS").append(QString("-Wl,--out-implib,") + project->first("MINGW_IMPORT_LIB"));
+ }
+
+--- a/mkspecs/features/create_cmake.prf.cmake 2013-10-22 10:49:28.000000000 +0200
++++ b/mkspecs/features/create_cmake.prf 2013-10-23 21:38:02.959762089 +0200
+@@ -207,8 +207,8 @@
+ CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
+ } else {
+- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
+- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.dll.a
++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll.a
+ }
+ } else {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib
diff --git a/l/qt/qt5-use-system-zlib-in-host-libs.patch b/l/qt/qt5-use-system-zlib-in-host-libs.patch
new file mode 100644
index 0000000..2ea9a5e
--- /dev/null
+++ b/l/qt/qt5-use-system-zlib-in-host-libs.patch
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+<title>mingw-qt5-qtbase.git - mingw-qt5-qtbase</title>
+<meta name='generator' content='cgit v0.9.2'/>
+<meta name='robots' content='index, nofollow'/>
+<link rel='stylesheet' type='text/css' href='/cgit-data/cgit.css'/>
+<link rel='alternate' title='Atom feed' href='http://pkgs.fedoraproject.org/cgit/mingw-qt5-qtbase.git/atom/qt5-use-system-zlib-in-host-libs.patch?h=master' type='application/atom+xml'/>
+</head>
+<body>
+<div id='cgit'><table id='header'>
+<tr>
+<td class='logo' rowspan='2'><a href='/cgit/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td>
+<td class='main'><a href='/cgit/'>index</a> : <a title='mingw-qt5-qtbase.git' href='/cgit/mingw-qt5-qtbase.git/'>mingw-qt5-qtbase.git</a></td><td class='form'><form method='get' action=''>
+<select name='h' onchange='this.form.submit();'>
+<option value='f17'>f17</option>
+<option value='f18'>f18</option>
+<option value='f19'>f19</option>
+<option value='f20'>f20</option>
+<option value='master' selected='selected'>master</option>
+</select> <input type='submit' name='' value='switch'/></form></td></tr>
+<tr><td class='sub'>mingw-qt5-qtbase</td><td class='sub right'>Jon Ciesla</td></tr></table>
+<table class='tabs'><tr><td>
+<a href='/cgit/mingw-qt5-qtbase.git/'>summary</a><a href='/cgit/mingw-qt5-qtbase.git/refs/'>refs</a><a href='/cgit/mingw-qt5-qtbase.git/log/qt5-use-system-zlib-in-host-libs.patch'>log</a><a class='active' href='/cgit/mingw-qt5-qtbase.git/tree/qt5-use-system-zlib-in-host-libs.patch'>tree</a><a href='/cgit/mingw-qt5-qtbase.git/commit/qt5-use-system-zlib-in-host-libs.patch'>commit</a><a href='/cgit/mingw-qt5-qtbase.git/diff/qt5-use-system-zlib-in-host-libs.patch'>diff</a><a href='/cgit/mingw-qt5-qtbase.git/stats/qt5-use-system-zlib-in-host-libs.patch'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit/mingw-qt5-qtbase.git/log/qt5-use-system-zlib-in-host-libs.patch'>
+<select name='qt'>
+<option value='grep'>log msg</option>
+<option value='author'>author</option>
+<option value='committer'>committer</option>
+<option value='range'>range</option>
+</select>
+<input class='txt' type='text' size='10' name='q' value=''/>
+<input type='submit' value='search'/>
+</form>
+</td></tr></table>
+<div class='path'>path: <a href='/cgit/mingw-qt5-qtbase.git/tree/'>root</a>/<a href='/cgit/mingw-qt5-qtbase.git/tree/qt5-use-system-zlib-in-host-libs.patch'>qt5-use-system-zlib-in-host-libs.patch</a></div><div class='content'>blob: eccd9e490d61c059b797010a14f30c7fefc57db4 (<a href='/cgit/mingw-qt5-qtbase.git/plain/qt5-use-system-zlib-in-host-libs.patch'>plain</a>)
+<table summary='blob content' class='blob'>
+<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
+<a class='no' id='n2' name='n2' href='#n2'>2</a>
+<a class='no' id='n3' name='n3' href='#n3'>3</a>
+<a class='no' id='n4' name='n4' href='#n4'>4</a>
+<a class='no' id='n5' name='n5' href='#n5'>5</a>
+<a class='no' id='n6' name='n6' href='#n6'>6</a>
+<a class='no' id='n7' name='n7' href='#n7'>7</a>
+<a class='no' id='n8' name='n8' href='#n8'>8</a>
+<a class='no' id='n9' name='n9' href='#n9'>9</a>
+<a class='no' id='n10' name='n10' href='#n10'>10</a>
+<a class='no' id='n11' name='n11' href='#n11'>11</a>
+</pre></td>
+<td class='lines'><pre><code>--- a/src/tools/bootstrap/bootstrap.pro 2014-01-01 13:22:42.367935800 -0600
++++ b/src/tools/bootstrap/bootstrap.pro 2014-01-02 23:38:20.707687700 -0600
+@@ -148,7 +148,7 @@ macx {
+
+ *-g++*: QMAKE_CXXFLAGS += -ffunction-sections
+
+-if(contains(QT_CONFIG, zlib)|cross_compile):include(../../3rdparty/zlib.pri)
++if(contains(QT_CONFIG, zlib)):include(../../3rdparty/zlib.pri)
+ else:include(../../3rdparty/zlib_dependency.pri)
+
+ win32:LIBS += -luser32 -lole32 -ladvapi32
+</code></pre></td></tr></table>
+</div> <!-- class=content -->
+<div class='footer'>generated by cgit v0.9.2 at 2014-02-04 19:42:00 (GMT)</div>
+</div> <!-- id=cgit -->
+</body>
+</html>
diff --git a/l/qt/qt5-workaround-qtbug-29426.patch b/l/qt/qt5-workaround-qtbug-29426.patch
new file mode 100644
index 0000000..0422571
--- /dev/null
+++ b/l/qt/qt5-workaround-qtbug-29426.patch
@@ -0,0 +1,12 @@
+--- src/corelib/tools/qsimd_p.h.orig 2013-02-07 20:31:43.010726116 +0100
++++ src/corelib/tools/qsimd_p.h 2013-02-07 20:35:14.324371318 +0100
+@@ -142,7 +142,8 @@
+
+ // other x86 intrinsics
+ #if defined(QT_COMPILER_SUPPORTS_AVX) && defined(Q_CC_GNU) && \
+- (!defined(Q_CC_INTEL)|| __INTEL_COMPILER >= 1310 || (__GNUC__ * 100 + __GNUC_MINOR__ < 407))
++ (!defined(Q_CC_INTEL)|| __INTEL_COMPILER >= 1310 || (__GNUC__ * 100 + __GNUC_MINOR__ < 407)) && \
++ (defined(__i386__) || defined(__x86_64__))
+ #define QT_COMPILER_SUPPORTS_X86INTRIN
+ #include <x86intrin.h>
+ #endif