aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip A Reimer2015-06-12 22:00:33 -0600
committerPhilip A Reimer2015-06-12 22:00:33 -0600
commit43e7d7776de2566d6eaac9489063a0b0b9174e6f (patch)
treedd97d8c74d87851b870d7e8e074b50a5a7f70291
downloadaur-43e7d7776de2566d6eaac9489063a0b0b9174e6f.tar.gz
Initial import
-rw-r--r--.SRCINFO77
-rw-r--r--PKGBUILD354
-rw-r--r--angle-fix.patch19
-rw-r--r--fix-opengl-to-many-sections.patch10
-rw-r--r--fix-static-psql-mysql.patch15
-rw-r--r--qt-5.1.x-win_flex-replace.patch22
-rw-r--r--qt5-add-angle-support.patch44
-rw-r--r--qt5-add-compiled-shaders-remove-dxsdk.patch1664
-rw-r--r--qt5-dont-add-resource-files-to-qmake-libs.patch11
-rw-r--r--qt5-dont-build-host-libs-static.patch19
-rw-r--r--qt5-enable-rpath-for-host-tools.patch10
-rw-r--r--qt5-fix-static-dbus-detection.patch13
-rw-r--r--qt5-fix-static-harfbuzz-detection.patch7
-rw-r--r--qt5-merge-static-and-shared-library-trees.patch48
-rw-r--r--qt5-prevent-debug-library-names-in-pkgconfig-files.patch12
-rw-r--r--qt5-qmake-implib-dll-a.patch33
-rw-r--r--qt5-qtbase-fix-linking-against-static-pcre.patch13
-rw-r--r--qt5-rename-qtmain-to-qt5main.patch35
-rw-r--r--qt5-use-external-angle-library.patch113
-rw-r--r--qt5-use-system-zlib-in-host-libs.patch11
-rw-r--r--qt5-use-win32-g++-mkspecs-profile.patch63
-rw-r--r--qt5-workaround-pkgconfig-install-issue.patch46
22 files changed, 2639 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..64baefe1361c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,77 @@
+pkgbase = mingw-w64-qt5-base-static
+ pkgdesc = A cross-platform application and UI framework (mingw-w64)
+ pkgver = 5.4.1
+ pkgrel = 3
+ url = http://qt-project.org
+ arch = i686
+ arch = x86_64
+ groups = mingw-w64-qt
+ groups = mingw-w64-qt5
+ license = custom, FDL, GPL3, LGPL
+ makedepends = mingw-w64-gcc
+ makedepends = mingw-w64-postgresql-libs
+ makedepends = mingw-w64-mariadb-connector-c
+ makedepends = mingw-w64-pkg-config
+ depends = mingw-w64-crt
+ depends = mingw-w64-zlib
+ depends = mingw-w64-libjpeg-turbo
+ depends = mingw-w64-libiconv
+ depends = mingw-w64-sqlite
+ depends = mingw-w64-libpng
+ depends = mingw-w64-openssl
+ depends = mingw-w64-libdbus
+ depends = mingw-w64-pcre
+ depends = mingw-w64-harfbuzz
+ depends = mingw-w64-qt5-base
+ depends = mingw-w64-angleproject
+ optdepends = mingw-w64-postgresql-libs: PostgreSQL support
+ optdepends = mingw-w64-mariadb-connector-c: MySQL support
+ optdepends = qtchooser
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ source = http://download.qt-project.org/official_releases/qt/5.4/5.4.1/submodules/qtbase-opensource-src-5.4.1.tar.xz
+ source = qt5-merge-static-and-shared-library-trees.patch
+ source = qt5-add-angle-support.patch
+ source = angle-fix.patch
+ source = qt5-use-external-angle-library.patch
+ source = qt5-workaround-pkgconfig-install-issue.patch
+ source = qt5-qtbase-fix-linking-against-static-pcre.patch
+ source = qt5-rename-qtmain-to-qt5main.patch
+ source = qt5-dont-build-host-libs-static.patch
+ source = qt5-enable-rpath-for-host-tools.patch
+ source = qt5-add-compiled-shaders-remove-dxsdk.patch
+ source = qt5-dont-add-resource-files-to-qmake-libs.patch
+ source = qt5-prevent-debug-library-names-in-pkgconfig-files.patch
+ source = qt5-qmake-implib-dll-a.patch
+ source = qt5-fix-static-dbus-detection.patch
+ source = qt5-fix-static-harfbuzz-detection.patch
+ source = qt5-use-win32-g++-mkspecs-profile.patch
+ source = qt5-use-system-zlib-in-host-libs.patch
+ source = qt-5.1.x-win_flex-replace.patch
+ source = fix-opengl-to-many-sections.patch
+ source = fix-static-psql-mysql.patch
+ md5sums = 9507825e558c980fed602de1f16ec7ae
+ md5sums = f51eb2b176b10af943831d33925c1251
+ md5sums = 8c6bda3ce8aca368b1f50f57e5f25aa7
+ md5sums = af4ac76fb9d1ea383359ea881ffcd8e3
+ md5sums = 361e456685180a4004de6af76c58ddba
+ md5sums = 19debeaea610e70691fae3b2a0a94eaa
+ md5sums = 4fe6523dd1c34398df3aa5a8763530cc
+ md5sums = c4d4ca54a2e9096d2af13a266177f6d6
+ md5sums = 3bd322551924543553a2bf81b4419a09
+ md5sums = 15e8eaa4f0a9a9990277c79e243770be
+ md5sums = bd0ced78eafaf187197d64f9e381c6c5
+ md5sums = 47b2aa0c6251c24c3c36c86b86a99c4c
+ md5sums = 6a6bc88f35ac8080869de39bc128ce5b
+ md5sums = 474de0e31122ecd140ebc19fe3960057
+ md5sums = 40de3aaf7d713034e06f4eece665b1ba
+ md5sums = 1a7921cadeb5c3db383dea068519e8d3
+ md5sums = f0e068b82ca41ae32c0d72587f070dd8
+ md5sums = a265dea62755caf38187114143999224
+ md5sums = 852519f457e33e0d1e9d2a2df872967d
+ md5sums = 612a4dfb9f1a3898a1920c28bb999159
+ md5sums = d0eb81aef1a21c65813fe4ddabbc4206
+
+pkgname = mingw-w64-qt5-base-static
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9f29affca2d2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,354 @@
+# Maintainer: ant32 <antreimer@gmail.com>
+# Contributor: Filip Brcic <brcha@gna.org>
+# Contributor: jellysheep <max.mail@dameweb.de>
+pkgname=mingw-w64-qt5-base-static
+pkgver=5.4.1
+pkgrel=3
+pkgdesc="A cross-platform application and UI framework (mingw-w64)"
+arch=(i686 x86_64)
+url="http://qt-project.org"
+license=("custom, FDL, GPL3, LGPL")
+depends=(
+ mingw-w64-crt
+ mingw-w64-zlib
+ mingw-w64-libjpeg-turbo
+ mingw-w64-libiconv
+ mingw-w64-sqlite
+ mingw-w64-libpng
+ mingw-w64-openssl
+ mingw-w64-libdbus
+ mingw-w64-pcre
+ mingw-w64-harfbuzz
+)
+groups=(mingw-w64-qt mingw-w64-qt5)
+optdepends=(
+ "mingw-w64-postgresql-libs: PostgreSQL support"
+ "mingw-w64-mariadb-connector-c: MySQL support"
+ "qtchooser"
+)
+makedepends=(mingw-w64-gcc
+ mingw-w64-postgresql-libs
+ mingw-w64-mariadb-connector-c
+ mingw-w64-pkg-config)
+options=(!strip !buildflags staticlibs)
+_pkgfqn="qtbase-opensource-src-${pkgver}"
+source=("http://download.qt-project.org/official_releases/qt/5.4/${pkgver}/submodules/${_pkgfqn}.tar.xz"
+ "qt5-merge-static-and-shared-library-trees.patch"
+ "qt5-add-angle-support.patch"
+ "angle-fix.patch"
+ "qt5-use-external-angle-library.patch"
+ "qt5-workaround-pkgconfig-install-issue.patch"
+ "qt5-qtbase-fix-linking-against-static-pcre.patch"
+ "qt5-rename-qtmain-to-qt5main.patch"
+ "qt5-dont-build-host-libs-static.patch"
+ "qt5-enable-rpath-for-host-tools.patch"
+ "qt5-add-compiled-shaders-remove-dxsdk.patch"
+ "qt5-dont-add-resource-files-to-qmake-libs.patch"
+ "qt5-prevent-debug-library-names-in-pkgconfig-files.patch"
+ "qt5-qmake-implib-dll-a.patch"
+ "qt5-fix-static-dbus-detection.patch"
+ "qt5-fix-static-harfbuzz-detection.patch"
+ "qt5-use-win32-g++-mkspecs-profile.patch"
+ "qt5-use-system-zlib-in-host-libs.patch"
+ "qt-5.1.x-win_flex-replace.patch"
+ "fix-opengl-to-many-sections.patch"
+ "fix-static-psql-mysql.patch")
+md5sums=('9507825e558c980fed602de1f16ec7ae'
+ 'f51eb2b176b10af943831d33925c1251'
+ '8c6bda3ce8aca368b1f50f57e5f25aa7'
+ 'af4ac76fb9d1ea383359ea881ffcd8e3'
+ '361e456685180a4004de6af76c58ddba'
+ '19debeaea610e70691fae3b2a0a94eaa'
+ '4fe6523dd1c34398df3aa5a8763530cc'
+ 'c4d4ca54a2e9096d2af13a266177f6d6'
+ '3bd322551924543553a2bf81b4419a09'
+ '15e8eaa4f0a9a9990277c79e243770be'
+ 'bd0ced78eafaf187197d64f9e381c6c5'
+ '47b2aa0c6251c24c3c36c86b86a99c4c'
+ '6a6bc88f35ac8080869de39bc128ce5b'
+ '474de0e31122ecd140ebc19fe3960057'
+ '40de3aaf7d713034e06f4eece665b1ba'
+ '1a7921cadeb5c3db383dea068519e8d3'
+ 'f0e068b82ca41ae32c0d72587f070dd8'
+ 'a265dea62755caf38187114143999224'
+ '852519f457e33e0d1e9d2a2df872967d'
+ '612a4dfb9f1a3898a1920c28bb999159'
+ 'd0eb81aef1a21c65813fe4ddabbc4206')
+_architectures="x86_64-w64-mingw32 i686-w64-mingw32"
+
+# Helper functions for the split builds
+isStatic() {
+ [ $pkgname = "mingw-w64-qt5-base-static" ]
+}
+
+isOpenGL() {
+ [ $pkgname = "mingw-w64-qt5-base-opengl" ]
+}
+
+isInternalAngle() {
+ [ $pkgname = "mingw-w64-qt5-base-internal-angle" ]
+}
+
+isStatic && depends+=("mingw-w64-qt5-base")
+! isOpenGL && ! isInternalAngle && depends+=("mingw-w64-angleproject")
+isOpenGL || isInternalAngle && provides+=("mingw-w64-qt5-base")
+isOpenGL || isInternalAngle && conflicts+=("mingw-w64-qt5-base")
+isInternalAngle && conflicts+=("mingw-w64-angleproject")
+
+prepare() {
+ cd "${srcdir}/${_pkgfqn}"
+
+ # When building Qt as static library some files have a different content
+ # when compared to the static library. Merge those changes manually.
+ # This patch also applies some additional changes which are required to make
+ # linking against the static version of Qt work without any manual fiddling
+ patch -p0 -i "${srcdir}/qt5-merge-static-and-shared-library-trees.patch"
+
+ if ! isOpenGL; then
+ # Add support for Angle
+ patch -p0 -i "${srcdir}/qt5-add-angle-support.patch"
+ fi
+
+ if ! isOpenGL && ! isInternalAngle; then
+ # Make sure our external Angle package is used instead of the bundled one
+ patch -p0 -i "${srcdir}/qt5-use-external-angle-library.patch"
+ fi
+
+ # opengl to many sections error
+ isOpenGL && patch -p0 -i ../fix-opengl-to-many-sections.patch
+
+ # Make sure the .pc files of the Qt5 modules are installed correctly
+ patch -p0 -i "${srcdir}/qt5-workaround-pkgconfig-install-issue.patch"
+
+ # Prevents resource files from being added to the LIBS parameter
+ # This solves an issue where the generated pkg-config files contained
+ # invalid Libs.private references like .obj/debug/Qt5Cored_resource_res.o
+ patch -p1 -i "${srcdir}/qt5-dont-add-resource-files-to-qmake-libs.patch"
+
+ # qmake generates the pkgconfig .pc files two times, once for the
+ # release build and once for the debug build (which we're not actually
+ # building in this package). For both generations the exact same
+ # pkgconfig file name is used. This causes references to the debug
+ # build ending up in the .pc files which are unwanted
+ # Prevent this from happening by giving the pkgconfig .pc
+ # files for the debug build an unique file name
+ patch -p1 -i "${srcdir}/qt5-prevent-debug-library-names-in-pkgconfig-files.patch"
+
+ # Fix qmake to create implibs with .dll.a extension for MinGW
+ patch -p1 -i "${srcdir}/qt5-qmake-implib-dll-a.patch"
+
+ # As of Qt 5.4.1 the detection of the static DBus and Harfbuzz libraries got broken
+ patch -p1 -i ../qt5-fix-static-dbus-detection.patch
+ patch -p1 -i ../qt5-fix-static-harfbuzz-detection.patch
+
+ # Patch the win32-g++ mkspecs profile to match our environment
+ patch -p0 -i "${srcdir}/qt5-use-win32-g++-mkspecs-profile.patch"
+
+ # The bundled pcre is built as static library by default
+ # As we're not using the bundled copy but our own copy
+ # we need to do some fiddling to fix compilation issues
+ # when trying to build static qmake projects
+ patch -p1 -i "${srcdir}/qt5-qtbase-fix-linking-against-static-pcre.patch"
+
+ # Make sure the qtmain (static) library doesn't conflict with the one
+ # provided by the mingw-qt (qt4) package. The mkspecs profile is already
+ # updated by patch100 to reflect this change
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1092465
+ patch -p1 -i "${srcdir}/qt5-rename-qtmain-to-qt5main.patch"
+
+ # Upstream always wants the host libraries to be static instead of
+ # shared libraries. This causes issues and is against the Fedora
+ # packaging guidelines so disable this 'feature'
+ patch -p0 -i "${srcdir}/qt5-dont-build-host-libs-static.patch"
+
+ # Build host tools with rpath enabled
+ # We have to use rpath here as the library which the
+ # various tools depend on (libQt5Bootstrap.so) resides
+ # in the folder /usr/${_arch}/lib
+ # We can't use the regular %%_libdir for this as we
+ # want to avoid conflicts with the native qt5 packages
+ patch -p1 -i "${srcdir}/qt5-enable-rpath-for-host-tools.patch"
+
+ # Build host libs with system zlib. This patch cannot be upstreamed as-is
+ # due to the other host-libs patches.
+ patch -p1 -i "${srcdir}/qt5-use-system-zlib-in-host-libs.patch"
+
+ if ! isInternalAngle; then
+ # Make sure the Qt5 build system uses our external ANGLE library
+ rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR}
+ fi
+
+ # As well as our external PCRE library and zlib
+ rm -rf src/3rdparty/{pcre,zlib}
+
+ if isStatic; then
+ patch -p0 -i ../fix-static-psql-mysql.patch
+ fi
+
+ if isInternalAngle; then
+ # fix make[6]: win_flex: Command not found
+ patch -p2 -i "${srcdir}/qt-5.1.x-win_flex-replace.patch"
+ # Fix Angle. See https://code.google.com/p/angleproject/issues/detail?id=462
+ patch -p0 -i "${srcdir}/angle-fix.patch"
+ patch -p0 < "${srcdir}/qt5-add-compiled-shaders-remove-dxsdk.patch"
+ find ./src/3rdparty/angle -type f -and \( -name *.h -or -name *.cpp \) | xargs sed -i \
+ -e 's_#include <D3Dcompiler.h>_#include <d3dcompiler.h>_' \
+ -e 's_#include "libGLESv2/Constants.h"_#include "libGLESv2/constants.h"_'
+ fi
+}
+
+build() {
+ cd "${srcdir}/${_pkgfqn}"
+
+ # Setup flags
+ export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
+ export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
+ unset LDFLAGS
+
+ for _arch in ${_architectures}; do
+
+ # Phonon is disabled for now because we lack the directx headers
+ # The odd paths for the -hostbindir argument are on purpose
+ # The qtchooser tool assumes that the tools 'qmake', 'moc' and others
+ # are all available in the same folder with these exact file names
+ # To prevent conflicts with the mingw-qt (Qt4) package we have
+ # to put these tools in a dedicated folder
+ qt_configure_args="\
+ -xplatform win32-g++ \
+ -optimized-qmake \
+ -verbose \
+ -opensource \
+ -confirm-license \
+ -force-pkg-config \
+ -force-debug-info \
+ -audio-backend \
+ -system-zlib \
+ -system-libpng \
+ -system-libjpeg \
+ -system-sqlite \
+ -no-fontconfig \
+ -iconv \
+ -openssl \
+ -dbus-linked \
+ -no-glib \
+ -no-gtkstyle \
+ -no-icu \
+ -release \
+ -nomake examples \
+ -make tools \
+ -hostprefix /usr/${_arch} \
+ -hostdatadir /usr/${_arch}/lib/qt \
+ -hostbindir /usr/${_arch}/lib/qt/bin \
+ -prefix /usr/${_arch} \
+ -bindir /usr/${_arch}/bin \
+ -archdatadir /usr/${_arch}/lib/qt \
+ -datadir /usr/${_arch}/share/qt \
+ -docdir /usr/${_arch}/share/doc/qt \
+ -examplesdir /usr/${_arch}/share/qt/examples \
+ -headerdir /usr/${_arch}/include/qt \
+ -libdir /usr/${_arch}/lib \
+ -plugindir /usr/${_arch}/lib/qt/plugins \
+ -sysconfdir /usr/${_arch}/etc \
+ -translationdir /usr/${_arch}/share/qt/translations \
+ -device-option CROSS_COMPILE=${_arch}-"
+
+ isOpenGL && qt_configure_args+=' -opengl desktop'
+ isStatic && qt_configure_args+=' -opengl no'
+
+ unset PKG_CONFIG_PATH
+
+ if ! isStatic; then
+ export QT_LFLAGS_MYSQL="-L/usr/${_arch}/lib -lmysql"
+ fi
+ # Qt doesn't detect mysql correctly, so use this:
+ export QT_CFLAGS_MYSQL="-I/usr/${_arch}/include/mariadb"
+ #export QT_LFLAGS_MYSQL_R="-lmariadbclient -lws2_32 -lpthread -lz -lm -lssl -lcrypto"
+ # Hardcode MySQL flags into configure (really nice solution :( )
+ sed -e "s|^QT_CFLAGS_MYSQL=.*$|QT_CFLAGS_MYSQL=\"${QT_CFLAGS_MYSQL}\"|g" -i "${srcdir}/${_pkgfqn}/configure"
+ sed -e "s|^QT_LFLAGS_MYSQL=.*$|QT_LFLAGS_MYSQL=\"${QT_LFLAGS_MYSQL}\"|g" -i "${srcdir}/${_pkgfqn}/configure"
+ #sed -e "s|^QT_LFLAGS_MYSQL_R=.*$|QT_LFLAGS_MYSQL_R=\"${QT_LFLAGS_MYSQL_R}\"|g" -i "${srcdir}/${_pkgfqn}/configure"
+ qt_configure_args_mysql="-mysql_config /this/file/should/not/exist"
+
+ mkdir ../build-${_arch} && pushd ../build-${_arch}
+
+ if isStatic; then
+ ../${_pkgfqn}/configure -static $qt_configure_args $qt_configure_args_mysql
+ make
+ else
+ # The LD_LIBRARY_PATH override is needed because libQt5Bootstrap* are shared
+ # libraries which various compiled tools (like moc) use. As the libQt5Bootstrap*
+ # libraries aren't installed at this point yet, we have to workaround this
+ ../${_pkgfqn}/configure -shared $qt_configure_args $qt_configure_args_mysql
+ LD_LIBRARY_PATH=`pwd`/lib make
+ fi
+
+ popd
+ done
+}
+
+package() {
+ for _arch in ${_architectures}; do
+ cd "$srcdir/${_pkgfqn}"
+ make install -C ../build-${_arch} INSTALL_ROOT="${pkgdir}"
+
+ if isStatic; then
+ # Drop the qtmain and Qt5Bootstrap static libraries from the static tree as
+ # they are already part of the main tree
+ rm -f "${pkgdir}/usr/${_arch}/lib/libqt5main"*
+ rm -f "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"*
+ rm -f "${pkgdir}/usr/${_arch}/lib/libQt5OpenGLExtensions"*
+ rm -f "${pkgdir}/usr/${_arch}/lib/libQt5PlatformSupport"*
+
+ # we want to keep a couple pri files not found in base
+ mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
+
+ # Delete duplicate files that are in the base package
+ rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
+ rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs,pkgconfig,cmake}
+
+ # move pri files back
+ mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
+ mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
+ else # not static => shared release
+
+ # The .dll's are installed in both bindir and libdir
+ # One copy of the .dll's is sufficient
+ rm -f "${pkgdir}/usr/${_arch}/lib/"*.dll
+
+ # Add qtchooser support
+ [ "${_arch}" = "i686-w64-mingw32" ] && mingwn='mingw32' || mingwn='mingw64'
+ mkdir -p "${pkgdir}/etc/xdg/qtchooser"
+ echo "/usr/${_arch}/lib/qt/bin" > "${pkgdir}/etc/xdg/qtchooser/$mingwn-qt5.conf"
+ echo "/usr/${_arch}/lib" >> "${pkgdir}/etc/xdg/qtchooser/$mingwn-qt5.conf"
+
+ # Manually install qmake and other native tools so we don't depend anymore on
+ # the version of the native system Qt and also fix issues as illustrated at
+ # http://stackoverflow.com/questions/6592931/building-for-windows-under-linux-using-qt-creator
+ # Also make sure the tools can be found by CMake
+ mkdir -p "${pkgdir}/usr/bin"
+ for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do
+ ln -s ../${_arch}/lib/qt/bin/${tool} "${pkgdir}/usr/bin/${_arch}-${tool}-qt5"
+ done
+ fi
+
+ # The pkg-config files for Qt5Bootstrap aren't interesting as this particular
+ # library only contains native code and not cross-compiled code
+ rm -f "${pkgdir}/usr/${_arch}/lib/pkgconfig/Qt5Bootstrap.pc"
+
+ # remove doc
+ rm -rf "${pkgdir}/usr/${_arch}/share/doc"
+
+ # And finaly, strip the binaries
+ if ! isStatic; then
+ strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
+ fi
+
+ # keeping prl files for base build since qbs seems to need them.
+ if isStatic; then
+ rm -f "${pkgdir}/usr/${_arch}/lib"{,/qt/plugins/*}/*.prl
+ fi
+ find "${pkgdir}/usr/${_arch}" -name "*.exe" -o -name "*.bat" -o -name "*.def" -o -name "*.exp" | xargs -rtl1 rm
+ find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
+ find "${pkgdir}/usr/${_arch}" -name "*.a" -o -name "*.dll" | xargs -rtl1 ${_arch}-strip -g
+ done
+}
diff --git a/angle-fix.patch b/angle-fix.patch
new file mode 100644
index 000000000000..77374d1dcc2f
--- /dev/null
+++ b/angle-fix.patch
@@ -0,0 +1,19 @@
+--- src.orig/3rdparty/angle/src/compiler/glslang.y 2014-01-02 11:53:56.393615041 +0100
++++ src/3rdparty/angle/src/compiler/glslang.y 2014-01-02 12:06:10.904972303 +0100
+@@ -47,6 +47,7 @@ WHICH GENERATES THE GLSL ES PARSER (glsl
+ %pure-parser
+ %parse-param {TParseContext* context}
+ %locations
++%lex-param {YYLEX_PARAM}
+
+ %code requires {
+ #define YYLTYPE TSourceLoc
+@@ -90,7 +91,7 @@ extern void yyerror(YYLTYPE* yylloc, TPa
+
+ #define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do { \
+- if (YYID(N)) { \
++ if (N) { \
+ (Current).first_file = YYRHSLOC(Rhs, 1).first_file; \
+ (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
+ (Current).last_file = YYRHSLOC(Rhs, N).last_file; \
diff --git a/fix-opengl-to-many-sections.patch b/fix-opengl-to-many-sections.patch
new file mode 100644
index 000000000000..f83fc54368c5
--- /dev/null
+++ b/fix-opengl-to-many-sections.patch
@@ -0,0 +1,10 @@
+--- src/gui/opengl/opengl.pri.orig 2014-12-05 09:24:35.000000000 -0700
++++ src/gui/opengl/opengl.pri 2015-02-09 10:48:48.484071754 -0700
+@@ -4,6 +4,7 @@
+ contains(QT_CONFIG, opengles2):CONFIG += opengles2
+
+ contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles2) {
++ QMAKE_CXXFLAGS+="-Wa,-mbig-obj"
+
+ HEADERS += opengl/qopengl.h \
+ opengl/qopengl_p.h \
diff --git a/fix-static-psql-mysql.patch b/fix-static-psql-mysql.patch
new file mode 100644
index 000000000000..3c308c57805a
--- /dev/null
+++ b/fix-static-psql-mysql.patch
@@ -0,0 +1,15 @@
+--- config.tests/unix/psql/psql.pro.orig 2015-02-16 21:56:55.000000000 -0700
++++ config.tests/unix/psql/psql.pro 2015-03-09 21:45:44.746755052 -0600
+@@ -1,3 +1,3 @@
+ SOURCES = psql.cpp
+ CONFIG -= qt dylib
+-LIBS *= -lpq
++LIBS *= -lpq -lintl -liconv -lssl -lcrypto -lwldap32 -lshfolder -lwsock32 -lws2_32 -lsecur32 -lgdi32
+
+--- config.tests/unix/mysql/mysql.pro.orig 2015-02-16 21:56:55.000000000 -0700
++++ config.tests/unix/mysql/mysql.pro 2015-03-09 21:38:59.930405876 -0600
+@@ -1,3 +1,3 @@
+ SOURCES = mysql.cpp
+ CONFIG -= qt dylib
+-LIBS += -lmysqlclient
++LIBS += -lmariadbclient -lws2_32 -lpthread -lz -lm -lssl -lcrypto
diff --git a/qt-5.1.x-win_flex-replace.patch b/qt-5.1.x-win_flex-replace.patch
new file mode 100644
index 000000000000..0dd6a2cf4ff3
--- /dev/null
+++ b/qt-5.1.x-win_flex-replace.patch
@@ -0,0 +1,22 @@
+--- 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
+@@ -92,7 +92,7 @@
+ $$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp
+
+ # NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
+-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
++flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
+ flex.output = ${QMAKE_FILE_BASE}_lex.cpp
+ flex.input = FLEX_SOURCES
+ flex.dependency_type = TYPE_C
+--- qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro.orig 2013-06-18 08:50:54.314442500 +0000
++++ qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro 2013-06-18 08:51:52.606574000 +0000
+@@ -43,7 +43,7 @@
+ $$ANGLE_DIR/src/compiler/preprocessor/Token.cpp
+
+ # NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
+-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
++flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
+ flex.output = ${QMAKE_FILE_BASE}.cpp
+ flex.input = FLEX_SOURCES
+ flex.dependency_type = TYPE_C \ No newline at end of file
diff --git a/qt5-add-angle-support.patch b/qt5-add-angle-support.patch
new file mode 100644
index 000000000000..4eb5f872b028
--- /dev/null
+++ b/qt5-add-angle-support.patch
@@ -0,0 +1,44 @@
+--- configure.orig 2014-12-05 09:24:14.000000000 -0700
++++ configure 2014-12-11 09:24:32.545799224 -0700
+@@ -4765,7 +4765,7 @@
+ fi
+ if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
+ if compileTest x11/opengl "OpenGL"; then
+- CFG_OPENGL=desktop
++ CFG_OPENGL=angle
+ elif compileTest unix/opengles2 "OpenGL ES 2.0"; then
+ CFG_OPENGL=es2
+ else
+@@ -5632,6 +5632,11 @@
+ QT_CONFIG="$QT_CONFIG opengles2"
+ fi
+
++if [ "$CFG_OPENGL" = "angle" ]; then
++ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2"
++ QT_CONFIG="$QT_CONFIG opengles2 egl angle"
++fi
++
+ if [ "$CFG_SHARED" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG shared"
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG shared"
+@@ -6588,7 +6593,7 @@
+ report_support " NIS ...................." "$CFG_NIS"
+ report_support " OpenGL / OpenVG:"
+ report_support " EGL .................." "$CFG_EGL"
+-report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+"
++report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+" angle "ANGLE"
+ report_support " OpenVG ..............." "$CFG_OPENVG-$CFG_OPENVG_SHIVA" yes-yes "ShivaVG" yes-no "native"
+ report_support " PCRE ..................." "$CFG_PCRE" yes "system library" qt "bundled copy"
+ if [ -n "$PKG_CONFIG" ]; then
+--- src/plugins/platforms/windows/qwindowsglcontext.cpp.orig 2014-12-05 09:24:37.000000000 -0700
++++ src/plugins/platforms/windows/qwindowsglcontext.cpp 2014-12-11 09:27:37.364281924 -0700
+@@ -45,7 +45,9 @@
+ #include <algorithm>
+
+ #include <wingdi.h>
++#ifndef QT_OPENGL_ES_2
+ #include <GL/gl.h>
++#endif
+
+ // #define DEBUG_GL
+
diff --git a/qt5-add-compiled-shaders-remove-dxsdk.patch b/qt5-add-compiled-shaders-remove-dxsdk.patch
new file mode 100644
index 000000000000..b211b6d13de6
--- /dev/null
+++ b/qt5-add-compiled-shaders-remove-dxsdk.patch
@@ -0,0 +1,1664 @@
+--- src.orig/angle/src/common/common.pri 2014-01-07 17:51:49.359526202 +0100
++++ src/angle/src/common/common.pri 2014-01-07 17:52:54.280100599 +0100
+@@ -6,40 +6,6 @@ INCLUDEPATH += \
+
+ LIBS_PRIVATE = $$QMAKE_LIBS_CORE $$QMAKE_LIBS_GUI
+
+-# DirectX is included in the Windows 8 Kit, but everything else requires the DX SDK.
+-win32-msvc2012|win32-msvc2013 {
+- FXC = fxc.exe
+-} else {
+- DX_DIR = $$(DXSDK_DIR)
+- isEmpty(DX_DIR) {
+- error("Cannot determine DirectX SDK location. Please set DXSDK_DIR environment variable.")
+- }
+-
+- DXINC_DIR = $${DX_DIR}Include
+- contains(QT_ARCH, x86_64) {
+- DXLIB_DIR = $${DX_DIR}Lib\\x64
+- } else {
+- DXLIB_DIR = $${DX_DIR}Lib\\x86
+- }
+-
+- equals(QMAKE_TARGET.arch, x86_64) {
+- FXC = \"$${DX_DIR}Utilities\\bin\\x64\\fxc.exe\"
+- } else {
+- FXC = \"$${DX_DIR}Utilities\\bin\\x86\\fxc.exe\"
+- }
+-
+- msvc {
+- # Unfortunately MinGW cannot use the DirectX headers from the DX SDK because d3d11shader.h uses
+- # buffer annotation macros (eg: __out, __in) which are not defined in the MinGW copy of
+- # specstrings_strict.h
+- INCLUDEPATH += $$DXINC_DIR
+-
+- # Similarly we want the MinGW linker to use the import libraries shipped with the compiler
+- # instead of those from the SDK which cause a crash on startup.
+- LIBS_PRIVATE += -L\"$$DXLIB_DIR\"
+- }
+-}
+-
+ static: DEFINES *= QT_OPENGL_ES_2_ANGLE_STATIC
+
+ HEADERS += \
+--- src.orig/angle/src/libGLESv2/libGLESv2.pro 2014-01-07 17:51:49.359526202 +0100
++++ src/angle/src/libGLESv2/libGLESv2.pro 2014-01-07 17:52:42.293327835 +0100
+@@ -180,61 +180,6 @@ VERTEX_SHADERS_PASSTHROUGH = Passthrough
+ VERTEX_SHADERS_CLEAR = Clear
+ SHADER_DIR = $$OUT_PWD/renderer/shaders/compiled
+
+-for (ps, PIXEL_SHADERS_BLIT) {
+- fxc_ps_$${ps}.commands = $$FXC /nologo /E $$ps /T ps_2_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_ps_$${ps}.output = $$SHADER_DIR/$${ps}.h
+- fxc_ps_$${ps}.input = PS_BLIT_INPUT
+- fxc_ps_$${ps}.dependency_type = TYPE_C
+- fxc_ps_$${ps}.variable_out = HEADERS
+- fxc_ps_$${ps}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
+-}
+-for (ps, PIXEL_SHADERS_PASSTHROUGH) {
+- fxc_ps_$${ps}.commands = $$FXC /nologo /E PS_$$ps /T ps_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_ps_$${ps}.output = $$SHADER_DIR/$${ps}11ps.h
+- fxc_ps_$${ps}.input = PASSTHROUGH_INPUT
+- fxc_ps_$${ps}.dependency_type = TYPE_C
+- fxc_ps_$${ps}.variable_out = HEADERS
+- fxc_ps_$${ps}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
+-}
+-for (ps, PIXEL_SHADERS_CLEAR) {
+- fxc_ps_$${ps}.commands = $$FXC /nologo /E PS_$$ps /T ps_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_ps_$${ps}.output = $$SHADER_DIR/$${ps}11ps.h
+- fxc_ps_$${ps}.input = CLEAR_INPUT
+- fxc_ps_$${ps}.dependency_type = TYPE_C
+- fxc_ps_$${ps}.variable_out = HEADERS
+- fxc_ps_$${ps}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
+-}
+-for (vs, VERTEX_SHADERS_BLIT) {
+- fxc_vs_$${vs}.commands = $$FXC /nologo /E $$vs /T vs_2_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_vs_$${vs}.output = $$SHADER_DIR/$${vs}.h
+- fxc_vs_$${vs}.input = VS_BLIT_INPUT
+- fxc_vs_$${vs}.dependency_type = TYPE_C
+- fxc_vs_$${vs}.variable_out = HEADERS
+- fxc_vs_$${vs}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
+-}
+-for (vs, VERTEX_SHADERS_PASSTHROUGH) {
+- fxc_vs_$${vs}.commands = $$FXC /nologo /E VS_$$vs /T vs_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_vs_$${vs}.output = $$SHADER_DIR/$${vs}11vs.h
+- fxc_vs_$${vs}.input = PASSTHROUGH_INPUT
+- fxc_vs_$${vs}.dependency_type = TYPE_C
+- fxc_vs_$${vs}.variable_out = HEADERS
+- fxc_vs_$${vs}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
+-}
+-for (vs, VERTEX_SHADERS_CLEAR) {
+- fxc_vs_$${vs}.commands = $$FXC /nologo /E VS_$$vs /T vs_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+- fxc_vs_$${vs}.output = $$SHADER_DIR/$${vs}11vs.h
+- fxc_vs_$${vs}.input = CLEAR_INPUT
+- fxc_vs_$${vs}.dependency_type = TYPE_C
+- fxc_vs_$${vs}.variable_out = HEADERS
+- fxc_vs_$${vs}.CONFIG += target_predeps
+- QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
+-}
+-
+ load(qt_installs)
+
+ khr_headers.files = $$ANGLE_DIR/include/KHR/khrplatform.h
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clear11vs.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clear11vs.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,131 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// POSITION 0 xyz 0 NONE float xyz
++// COLOR 0 xyzw 1 NONE float xyzw
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float xyzw
++// COLOR 0 xyzw 1 NONE float xyzw
++//
++vs_4_0
++dcl_input v0.xyz
++dcl_input v1.xyzw
++dcl_output_siv o0.xyzw, position
++dcl_output o1.xyzw
++mov o0.xyz, v0.xyzx
++mov o0.w, l(1.000000)
++mov o1.xyzw, v1.xyzw
++ret
++// Approximately 4 instruction slots used
++#endif
++
++const BYTE g_VS_Clear[] =
++{
++ 68, 88, 66, 67, 97, 5,
++ 13, 163, 160, 254, 95, 127,
++ 30, 194, 121, 144, 236, 185,
++ 59, 29, 1, 0, 0, 0,
++ 48, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 140, 0, 0, 0, 220, 0,
++ 0, 0, 48, 1, 0, 0,
++ 180, 1, 0, 0, 82, 68,
++ 69, 70, 80, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 254, 255, 0, 1, 0, 0,
++ 28, 0, 0, 0, 77, 105,
++ 99, 114, 111, 115, 111, 102,
++ 116, 32, 40, 82, 41, 32,
++ 72, 76, 83, 76, 32, 83,
++ 104, 97, 100, 101, 114, 32,
++ 67, 111, 109, 112, 105, 108,
++ 101, 114, 32, 57, 46, 51,
++ 48, 46, 57, 50, 48, 48,
++ 46, 49, 54, 51, 56, 52,
++ 0, 171, 73, 83, 71, 78,
++ 72, 0, 0, 0, 2, 0,
++ 0, 0, 8, 0, 0, 0,
++ 56, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 7, 7, 0, 0,
++ 65, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 15, 15, 0, 0,
++ 80, 79, 83, 73, 84, 73,
++ 79, 78, 0, 67, 79, 76,
++ 79, 82, 0, 171, 79, 83,
++ 71, 78, 76, 0, 0, 0,
++ 2, 0, 0, 0, 8, 0,
++ 0, 0, 56, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 15, 0,
++ 0, 0, 68, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 15, 0,
++ 0, 0, 83, 86, 95, 80,
++ 79, 83, 73, 84, 73, 79,
++ 78, 0, 67, 79, 76, 79,
++ 82, 0, 171, 171, 83, 72,
++ 68, 82, 124, 0, 0, 0,
++ 64, 0, 1, 0, 31, 0,
++ 0, 0, 95, 0, 0, 3,
++ 114, 16, 16, 0, 0, 0,
++ 0, 0, 95, 0, 0, 3,
++ 242, 16, 16, 0, 1, 0,
++ 0, 0, 103, 0, 0, 4,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 1, 0, 0, 0,
++ 101, 0, 0, 3, 242, 32,
++ 16, 0, 1, 0, 0, 0,
++ 54, 0, 0, 5, 114, 32,
++ 16, 0, 0, 0, 0, 0,
++ 70, 18, 16, 0, 0, 0,
++ 0, 0, 54, 0, 0, 5,
++ 130, 32, 16, 0, 0, 0,
++ 0, 0, 1, 64, 0, 0,
++ 0, 0, 128, 63, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 1, 0, 0, 0, 70, 30,
++ 16, 0, 1, 0, 0, 0,
++ 62, 0, 0, 1, 83, 84,
++ 65, 84, 116, 0, 0, 0,
++ 4, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 4, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 4, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,196 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float
++// COLOR 0 xyzw 1 NONE float xyzw
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_TARGET 0 xyzw 0 TARGET float xyzw
++// SV_TARGET 1 xyzw 1 TARGET float xyzw
++// SV_TARGET 2 xyzw 2 TARGET float xyzw
++// SV_TARGET 3 xyzw 3 TARGET float xyzw
++// SV_TARGET 4 xyzw 4 TARGET float xyzw
++// SV_TARGET 5 xyzw 5 TARGET float xyzw
++// SV_TARGET 6 xyzw 6 TARGET float xyzw
++// SV_TARGET 7 xyzw 7 TARGET float xyzw
++//
++ps_4_0
++dcl_input_ps linear v1.xyzw
++dcl_output o0.xyzw
++dcl_output o1.xyzw
++dcl_output o2.xyzw
++dcl_output o3.xyzw
++dcl_output o4.xyzw
++dcl_output o5.xyzw
++dcl_output o6.xyzw
++dcl_output o7.xyzw
++mov o0.xyzw, v1.xyzw
++mov o1.xyzw, v1.xyzw
++mov o2.xyzw, v1.xyzw
++mov o3.xyzw, v1.xyzw
++mov o4.xyzw, v1.xyzw
++mov o5.xyzw, v1.xyzw
++mov o6.xyzw, v1.xyzw
++mov o7.xyzw, v1.xyzw
++ret
++// Approximately 9 instruction slots used
++#endif
++
++const BYTE g_PS_ClearMultiple[] =
++{
++ 68, 88, 66, 67, 92, 54,
++ 120, 105, 166, 196, 132, 158,
++ 209, 33, 185, 122, 8, 189,
++ 145, 114, 1, 0, 0, 0,
++ 88, 3, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 140, 0, 0, 0, 224, 0,
++ 0, 0, 188, 1, 0, 0,
++ 220, 2, 0, 0, 82, 68,
++ 69, 70, 80, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 28, 0, 0, 0, 77, 105,
++ 99, 114, 111, 115, 111, 102,
++ 116, 32, 40, 82, 41, 32,
++ 72, 76, 83, 76, 32, 83,
++ 104, 97, 100, 101, 114, 32,
++ 67, 111, 109, 112, 105, 108,
++ 101, 114, 32, 57, 46, 51,
++ 48, 46, 57, 50, 48, 48,
++ 46, 49, 54, 51, 56, 52,
++ 0, 171, 73, 83, 71, 78,
++ 76, 0, 0, 0, 2, 0,
++ 0, 0, 8, 0, 0, 0,
++ 56, 0, 0, 0, 0, 0,
++ 0, 0, 1, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 68, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 15, 15, 0, 0,
++ 83, 86, 95, 80, 79, 83,
++ 73, 84, 73, 79, 78, 0,
++ 67, 79, 76, 79, 82, 0,
++ 171, 171, 79, 83, 71, 78,
++ 212, 0, 0, 0, 8, 0,
++ 0, 0, 8, 0, 0, 0,
++ 200, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 2, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 2, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 3, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 3, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 4, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 4, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 5, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 5, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 6, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 6, 0,
++ 0, 0, 15, 0, 0, 0,
++ 200, 0, 0, 0, 7, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 7, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 65, 82,
++ 71, 69, 84, 0, 171, 171,
++ 83, 72, 68, 82, 24, 1,
++ 0, 0, 64, 0, 0, 0,
++ 70, 0, 0, 0, 98, 16,
++ 0, 3, 242, 16, 16, 0,
++ 1, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 0, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 1, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 2, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 3, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 4, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 5, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 6, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 7, 0, 0, 0, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 0, 0, 0, 0, 70, 30,
++ 16, 0, 1, 0, 0, 0,
++ 54, 0, 0, 5, 242, 32,
++ 16, 0, 1, 0, 0, 0,
++ 70, 30, 16, 0, 1, 0,
++ 0, 0, 54, 0, 0, 5,
++ 242, 32, 16, 0, 2, 0,
++ 0, 0, 70, 30, 16, 0,
++ 1, 0, 0, 0, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 3, 0, 0, 0, 70, 30,
++ 16, 0, 1, 0, 0, 0,
++ 54, 0, 0, 5, 242, 32,
++ 16, 0, 4, 0, 0, 0,
++ 70, 30, 16, 0, 1, 0,
++ 0, 0, 54, 0, 0, 5,
++ 242, 32, 16, 0, 5, 0,
++ 0, 0, 70, 30, 16, 0,
++ 1, 0, 0, 0, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 6, 0, 0, 0, 70, 30,
++ 16, 0, 1, 0, 0, 0,
++ 54, 0, 0, 5, 242, 32,
++ 16, 0, 7, 0, 0, 0,
++ 70, 30, 16, 0, 1, 0,
++ 0, 0, 62, 0, 0, 1,
++ 83, 84, 65, 84, 116, 0,
++ 0, 0, 9, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 9, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 9, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,110 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_Position 0 xyzw 0 POS float
++// COLOR 0 xyzw 1 NONE float xyzw
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_Target 0 xyzw 0 TARGET float xyzw
++//
++ps_4_0
++dcl_input_ps linear v1.xyzw
++dcl_output o0.xyzw
++mov o0.xyzw, v1.xyzw
++ret
++// Approximately 2 instruction slots used
++#endif
++
++const BYTE g_PS_ClearSingle[] =
++{
++ 68, 88, 66, 67, 13, 152,
++ 32, 49, 222, 236, 92, 20,
++ 188, 71, 88, 46, 163, 241,
++ 188, 238, 1, 0, 0, 0,
++ 208, 1, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 140, 0, 0, 0, 224, 0,
++ 0, 0, 20, 1, 0, 0,
++ 84, 1, 0, 0, 82, 68,
++ 69, 70, 80, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 28, 0, 0, 0, 77, 105,
++ 99, 114, 111, 115, 111, 102,
++ 116, 32, 40, 82, 41, 32,
++ 72, 76, 83, 76, 32, 83,
++ 104, 97, 100, 101, 114, 32,
++ 67, 111, 109, 112, 105, 108,
++ 101, 114, 32, 57, 46, 51,
++ 48, 46, 57, 50, 48, 48,
++ 46, 49, 54, 51, 56, 52,
++ 0, 171, 73, 83, 71, 78,
++ 76, 0, 0, 0, 2, 0,
++ 0, 0, 8, 0, 0, 0,
++ 56, 0, 0, 0, 0, 0,
++ 0, 0, 1, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 68, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 15, 15, 0, 0,
++ 83, 86, 95, 80, 111, 115,
++ 105, 116, 105, 111, 110, 0,
++ 67, 79, 76, 79, 82, 0,
++ 171, 171, 79, 83, 71, 78,
++ 44, 0, 0, 0, 1, 0,
++ 0, 0, 8, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 97, 114,
++ 103, 101, 116, 0, 171, 171,
++ 83, 72, 68, 82, 56, 0,
++ 0, 0, 64, 0, 0, 0,
++ 14, 0, 0, 0, 98, 16,
++ 0, 3, 242, 16, 16, 0,
++ 1, 0, 0, 0, 101, 0,
++ 0, 3, 242, 32, 16, 0,
++ 0, 0, 0, 0, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 0, 0, 0, 0, 70, 30,
++ 16, 0, 1, 0, 0, 0,
++ 62, 0, 0, 1, 83, 84,
++ 65, 84, 116, 0, 0, 0,
++ 2, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 2, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 2, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/componentmaskps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/componentmaskps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,79 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++///
++// Parameters:
++//
++// float4 mode;
++// sampler2D tex;
++//
++//
++// Registers:
++//
++// Name Reg Size
++// ------------ ----- ----
++// mode c0 1
++// tex s0 1
++//
++
++ ps_2_0
++ dcl t0.xy
++ dcl_2d s0
++ texld r0, t0, s0
++ mul r1.xyz, r0, c0.x
++ mad r1.w, r0.w, c0.z, c0.w
++ mov oC0, r1
++
++// approximately 4 instruction slots used (1 texture, 3 arithmetic)
++#endif
++
++const BYTE g_ps20_componentmaskps[] =
++{
++ 0, 2, 255, 255, 254, 255,
++ 44, 0, 67, 84, 65, 66,
++ 28, 0, 0, 0, 119, 0,
++ 0, 0, 0, 2, 255, 255,
++ 2, 0, 0, 0, 28, 0,
++ 0, 0, 0, 1, 0, 0,
++ 112, 0, 0, 0, 68, 0,
++ 0, 0, 2, 0, 0, 0,
++ 1, 0, 0, 0, 76, 0,
++ 0, 0, 0, 0, 0, 0,
++ 92, 0, 0, 0, 3, 0,
++ 0, 0, 1, 0, 0, 0,
++ 96, 0, 0, 0, 0, 0,
++ 0, 0, 109, 111, 100, 101,
++ 0, 171, 171, 171, 1, 0,
++ 3, 0, 1, 0, 4, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 116, 101, 120, 0,
++ 4, 0, 12, 0, 1, 0,
++ 1, 0, 1, 0, 0, 0,
++ 0, 0, 0, 0, 112, 115,
++ 95, 50, 95, 48, 0, 77,
++ 105, 99, 114, 111, 115, 111,
++ 102, 116, 32, 40, 82, 41,
++ 32, 72, 76, 83, 76, 32,
++ 83, 104, 97, 100, 101, 114,
++ 32, 67, 111, 109, 112, 105,
++ 108, 101, 114, 32, 57, 46,
++ 51, 48, 46, 57, 50, 48,
++ 48, 46, 49, 54, 51, 56,
++ 52, 0, 171, 171, 31, 0,
++ 0, 2, 0, 0, 0, 128,
++ 0, 0, 3, 176, 31, 0,
++ 0, 2, 0, 0, 0, 144,
++ 0, 8, 15, 160, 66, 0,
++ 0, 3, 0, 0, 15, 128,
++ 0, 0, 228, 176, 0, 8,
++ 228, 160, 5, 0, 0, 3,
++ 1, 0, 7, 128, 0, 0,
++ 228, 128, 0, 0, 0, 160,
++ 4, 0, 0, 4, 1, 0,
++ 8, 128, 0, 0, 255, 128,
++ 0, 0, 170, 160, 0, 0,
++ 255, 160, 1, 0, 0, 2,
++ 0, 8, 15, 128, 1, 0,
++ 228, 128, 255, 255, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/flipyvs.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/flipyvs.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,67 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++///
++// Parameters:
++//
++// float4 halfPixelSize;
++//
++//
++// Registers:
++//
++// Name Reg Size
++// ------------- ----- ----
++// halfPixelSize c0 1
++//
++
++ vs_2_0
++ def c1, 0.5, 1, 0, 0
++ dcl_position v0
++ add oPos, v0, c0
++ mad oT0, v0, c1.xxyy, c1.xxzz
++
++// approximately 2 instruction slots used
++#endif
++
++const BYTE g_vs20_flipyvs[] =
++{
++ 0, 2, 254, 255, 254, 255,
++ 36, 0, 67, 84, 65, 66,
++ 28, 0, 0, 0, 87, 0,
++ 0, 0, 0, 2, 254, 255,
++ 1, 0, 0, 0, 28, 0,
++ 0, 0, 0, 1, 0, 0,
++ 80, 0, 0, 0, 48, 0,
++ 0, 0, 2, 0, 0, 0,
++ 1, 0, 0, 0, 64, 0,
++ 0, 0, 0, 0, 0, 0,
++ 104, 97, 108, 102, 80, 105,
++ 120, 101, 108, 83, 105, 122,
++ 101, 0, 171, 171, 1, 0,
++ 3, 0, 1, 0, 4, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 118, 115, 95, 50,
++ 95, 48, 0, 77, 105, 99,
++ 114, 111, 115, 111, 102, 116,
++ 32, 40, 82, 41, 32, 72,
++ 76, 83, 76, 32, 83, 104,
++ 97, 100, 101, 114, 32, 67,
++ 111, 109, 112, 105, 108, 101,
++ 114, 32, 57, 46, 51, 48,
++ 46, 57, 50, 48, 48, 46,
++ 49, 54, 51, 56, 52, 0,
++ 171, 171, 81, 0, 0, 5,
++ 1, 0, 15, 160, 0, 0,
++ 0, 63, 0, 0, 128, 63,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 31, 0, 0, 2,
++ 0, 0, 0, 128, 0, 0,
++ 15, 144, 2, 0, 0, 3,
++ 0, 0, 15, 192, 0, 0,
++ 228, 144, 0, 0, 228, 160,
++ 4, 0, 0, 4, 0, 0,
++ 15, 224, 0, 0, 228, 144,
++ 1, 0, 80, 160, 1, 0,
++ 160, 160, 255, 255, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/luminanceps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/luminanceps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,79 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++///
++// Parameters:
++//
++// float4 mode;
++// sampler2D tex;
++//
++//
++// Registers:
++//
++// Name Reg Size
++// ------------ ----- ----
++// mode c0 1
++// tex s0 1
++//
++
++ ps_2_0
++ dcl t0.xy
++ dcl_2d s0
++ texld r0, t0, s0
++ mad r1.w, r0.w, c0.x, c0.y
++ mov r1.xyz, r0.x
++ mov oC0, r1
++
++// approximately 4 instruction slots used (1 texture, 3 arithmetic)
++#endif
++
++const BYTE g_ps20_luminanceps[] =
++{
++ 0, 2, 255, 255, 254, 255,
++ 44, 0, 67, 84, 65, 66,
++ 28, 0, 0, 0, 119, 0,
++ 0, 0, 0, 2, 255, 255,
++ 2, 0, 0, 0, 28, 0,
++ 0, 0, 0, 1, 0, 0,
++ 112, 0, 0, 0, 68, 0,
++ 0, 0, 2, 0, 0, 0,
++ 1, 0, 0, 0, 76, 0,
++ 0, 0, 0, 0, 0, 0,
++ 92, 0, 0, 0, 3, 0,
++ 0, 0, 1, 0, 0, 0,
++ 96, 0, 0, 0, 0, 0,
++ 0, 0, 109, 111, 100, 101,
++ 0, 171, 171, 171, 1, 0,
++ 3, 0, 1, 0, 4, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 116, 101, 120, 0,
++ 4, 0, 12, 0, 1, 0,
++ 1, 0, 1, 0, 0, 0,
++ 0, 0, 0, 0, 112, 115,
++ 95, 50, 95, 48, 0, 77,
++ 105, 99, 114, 111, 115, 111,
++ 102, 116, 32, 40, 82, 41,
++ 32, 72, 76, 83, 76, 32,
++ 83, 104, 97, 100, 101, 114,
++ 32, 67, 111, 109, 112, 105,
++ 108, 101, 114, 32, 57, 46,
++ 51, 48, 46, 57, 50, 48,
++ 48, 46, 49, 54, 51, 56,
++ 52, 0, 171, 171, 31, 0,
++ 0, 2, 0, 0, 0, 128,
++ 0, 0, 3, 176, 31, 0,
++ 0, 2, 0, 0, 0, 144,
++ 0, 8, 15, 160, 66, 0,
++ 0, 3, 0, 0, 15, 128,
++ 0, 0, 228, 176, 0, 8,
++ 228, 160, 4, 0, 0, 4,
++ 1, 0, 8, 128, 0, 0,
++ 255, 128, 0, 0, 0, 160,
++ 0, 0, 85, 160, 1, 0,
++ 0, 2, 1, 0, 7, 128,
++ 0, 0, 0, 128, 1, 0,
++ 0, 2, 0, 8, 15, 128,
++ 1, 0, 228, 128, 255, 255,
++ 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,134 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// POSITION 0 xy 0 NONE float xy
++// TEXCOORD 0 xy 1 NONE float xy
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float xyzw
++// TEXCOORD 0 xy 1 NONE float xy
++//
++vs_4_0
++dcl_input v0.xy
++dcl_input v1.xy
++dcl_output_siv o0.xyzw, position
++dcl_output o1.xy
++mov o0.xy, v0.xyxx
++mov o0.zw, l(0,0,0,1.000000)
++mov o1.xy, v1.xyxx
++ret
++// Approximately 4 instruction slots used
++#endif
++
++const BYTE g_VS_Passthrough[] =
++{
++ 68, 88, 66, 67, 197, 214,
++ 184, 85, 240, 94, 71, 48,
++ 165, 34, 142, 233, 0, 135,
++ 193, 178, 1, 0, 0, 0,
++ 68, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 140, 0, 0, 0, 224, 0,
++ 0, 0, 56, 1, 0, 0,
++ 200, 1, 0, 0, 82, 68,
++ 69, 70, 80, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 254, 255, 0, 1, 0, 0,
++ 28, 0, 0, 0, 77, 105,
++ 99, 114, 111, 115, 111, 102,
++ 116, 32, 40, 82, 41, 32,
++ 72, 76, 83, 76, 32, 83,
++ 104, 97, 100, 101, 114, 32,
++ 67, 111, 109, 112, 105, 108,
++ 101, 114, 32, 57, 46, 51,
++ 48, 46, 57, 50, 48, 48,
++ 46, 49, 54, 51, 56, 52,
++ 0, 171, 73, 83, 71, 78,
++ 76, 0, 0, 0, 2, 0,
++ 0, 0, 8, 0, 0, 0,
++ 56, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 3, 3, 0, 0,
++ 65, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 3, 3, 0, 0,
++ 80, 79, 83, 73, 84, 73,
++ 79, 78, 0, 84, 69, 88,
++ 67, 79, 79, 82, 68, 0,
++ 171, 171, 79, 83, 71, 78,
++ 80, 0, 0, 0, 2, 0,
++ 0, 0, 8, 0, 0, 0,
++ 56, 0, 0, 0, 0, 0,
++ 0, 0, 1, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 68, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 3, 12, 0, 0,
++ 83, 86, 95, 80, 79, 83,
++ 73, 84, 73, 79, 78, 0,
++ 84, 69, 88, 67, 79, 79,
++ 82, 68, 0, 171, 171, 171,
++ 83, 72, 68, 82, 136, 0,
++ 0, 0, 64, 0, 1, 0,
++ 34, 0, 0, 0, 95, 0,
++ 0, 3, 50, 16, 16, 0,
++ 0, 0, 0, 0, 95, 0,
++ 0, 3, 50, 16, 16, 0,
++ 1, 0, 0, 0, 103, 0,
++ 0, 4, 242, 32, 16, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 101, 0, 0, 3,
++ 50, 32, 16, 0, 1, 0,
++ 0, 0, 54, 0, 0, 5,
++ 50, 32, 16, 0, 0, 0,
++ 0, 0, 70, 16, 16, 0,
++ 0, 0, 0, 0, 54, 0,
++ 0, 8, 194, 32, 16, 0,
++ 0, 0, 0, 0, 2, 64,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 128, 63,
++ 54, 0, 0, 5, 50, 32,
++ 16, 0, 1, 0, 0, 0,
++ 70, 16, 16, 0, 1, 0,
++ 0, 0, 62, 0, 0, 1,
++ 83, 84, 65, 84, 116, 0,
++ 0, 0, 4, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 4, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 4, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,152 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++// Resource Bindings:
++//
++// Name Type Format Dim Slot Elements
++// ------------------------------ ---------- ------- ----------- ---- --------
++// Sampler sampler NA NA 0 1
++// Texture texture float4 2d 0 1
++//
++//
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float
++// TEXCOORD 0 xy 1 NONE float xy
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_TARGET 0 xyzw 0 TARGET float xyzw
++//
++ps_4_0
++dcl_sampler s0, mode_default
++dcl_resource_texture2d (float,float,float,float) t0
++dcl_input_ps linear v1.xy
++dcl_output o0.xyzw
++dcl_temps 1
++sample r0.xyzw, v1.xyxx, t0.xyzw, s0
++mov o0.xyz, r0.xxxx
++mov o0.w, l(1.000000)
++ret
++// Approximately 4 instruction slots used
++#endif
++
++const BYTE g_PS_PassthroughLum[] =
++{
++ 68, 88, 66, 67, 244, 9,
++ 213, 147, 19, 249, 70, 111,
++ 157, 92, 243, 160, 40, 144,
++ 238, 221, 1, 0, 0, 0,
++ 128, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 220, 0, 0, 0, 52, 1,
++ 0, 0, 104, 1, 0, 0,
++ 4, 2, 0, 0, 82, 68,
++ 69, 70, 160, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 108, 0, 0, 0, 92, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 1, 0, 0, 0,
++ 100, 0, 0, 0, 2, 0,
++ 0, 0, 5, 0, 0, 0,
++ 4, 0, 0, 0, 255, 255,
++ 255, 255, 0, 0, 0, 0,
++ 1, 0, 0, 0, 13, 0,
++ 0, 0, 83, 97, 109, 112,
++ 108, 101, 114, 0, 84, 101,
++ 120, 116, 117, 114, 101, 0,
++ 77, 105, 99, 114, 111, 115,
++ 111, 102, 116, 32, 40, 82,
++ 41, 32, 72, 76, 83, 76,
++ 32, 83, 104, 97, 100, 101,
++ 114, 32, 67, 111, 109, 112,
++ 105, 108, 101, 114, 32, 57,
++ 46, 51, 48, 46, 57, 50,
++ 48, 48, 46, 49, 54, 51,
++ 56, 52, 0, 171, 73, 83,
++ 71, 78, 80, 0, 0, 0,
++ 2, 0, 0, 0, 8, 0,
++ 0, 0, 56, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 15, 0,
++ 0, 0, 68, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 3, 3,
++ 0, 0, 83, 86, 95, 80,
++ 79, 83, 73, 84, 73, 79,
++ 78, 0, 84, 69, 88, 67,
++ 79, 79, 82, 68, 0, 171,
++ 171, 171, 79, 83, 71, 78,
++ 44, 0, 0, 0, 1, 0,
++ 0, 0, 8, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 65, 82,
++ 71, 69, 84, 0, 171, 171,
++ 83, 72, 68, 82, 148, 0,
++ 0, 0, 64, 0, 0, 0,
++ 37, 0, 0, 0, 90, 0,
++ 0, 3, 0, 96, 16, 0,
++ 0, 0, 0, 0, 88, 24,
++ 0, 4, 0, 112, 16, 0,
++ 0, 0, 0, 0, 85, 85,
++ 0, 0, 98, 16, 0, 3,
++ 50, 16, 16, 0, 1, 0,
++ 0, 0, 101, 0, 0, 3,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 104, 0, 0, 2,
++ 1, 0, 0, 0, 69, 0,
++ 0, 9, 242, 0, 16, 0,
++ 0, 0, 0, 0, 70, 16,
++ 16, 0, 1, 0, 0, 0,
++ 70, 126, 16, 0, 0, 0,
++ 0, 0, 0, 96, 16, 0,
++ 0, 0, 0, 0, 54, 0,
++ 0, 5, 114, 32, 16, 0,
++ 0, 0, 0, 0, 6, 0,
++ 16, 0, 0, 0, 0, 0,
++ 54, 0, 0, 5, 130, 32,
++ 16, 0, 0, 0, 0, 0,
++ 1, 64, 0, 0, 0, 0,
++ 128, 63, 62, 0, 0, 1,
++ 83, 84, 65, 84, 116, 0,
++ 0, 0, 4, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,148 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++// Resource Bindings:
++//
++// Name Type Format Dim Slot Elements
++// ------------------------------ ---------- ------- ----------- ---- --------
++// Sampler sampler NA NA 0 1
++// Texture texture float4 2d 0 1
++//
++//
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float
++// TEXCOORD 0 xy 1 NONE float xy
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_TARGET 0 xyzw 0 TARGET float xyzw
++//
++ps_4_0
++dcl_sampler s0, mode_default
++dcl_resource_texture2d (float,float,float,float) t0
++dcl_input_ps linear v1.xy
++dcl_output o0.xyzw
++dcl_temps 1
++sample r0.xyzw, v1.xyxx, t0.xyzw, s0
++mov o0.xyzw, r0.xxxw
++ret
++// Approximately 3 instruction slots used
++#endif
++
++const BYTE g_PS_PassthroughLumAlpha[] =
++{
++ 68, 88, 66, 67, 185, 14,
++ 84, 223, 192, 42, 16, 133,
++ 46, 100, 95, 221, 183, 97,
++ 192, 23, 1, 0, 0, 0,
++ 108, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 220, 0, 0, 0, 52, 1,
++ 0, 0, 104, 1, 0, 0,
++ 240, 1, 0, 0, 82, 68,
++ 69, 70, 160, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 108, 0, 0, 0, 92, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 1, 0, 0, 0,
++ 100, 0, 0, 0, 2, 0,
++ 0, 0, 5, 0, 0, 0,
++ 4, 0, 0, 0, 255, 255,
++ 255, 255, 0, 0, 0, 0,
++ 1, 0, 0, 0, 13, 0,
++ 0, 0, 83, 97, 109, 112,
++ 108, 101, 114, 0, 84, 101,
++ 120, 116, 117, 114, 101, 0,
++ 77, 105, 99, 114, 111, 115,
++ 111, 102, 116, 32, 40, 82,
++ 41, 32, 72, 76, 83, 76,
++ 32, 83, 104, 97, 100, 101,
++ 114, 32, 67, 111, 109, 112,
++ 105, 108, 101, 114, 32, 57,
++ 46, 51, 48, 46, 57, 50,
++ 48, 48, 46, 49, 54, 51,
++ 56, 52, 0, 171, 73, 83,
++ 71, 78, 80, 0, 0, 0,
++ 2, 0, 0, 0, 8, 0,
++ 0, 0, 56, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 15, 0,
++ 0, 0, 68, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 3, 3,
++ 0, 0, 83, 86, 95, 80,
++ 79, 83, 73, 84, 73, 79,
++ 78, 0, 84, 69, 88, 67,
++ 79, 79, 82, 68, 0, 171,
++ 171, 171, 79, 83, 71, 78,
++ 44, 0, 0, 0, 1, 0,
++ 0, 0, 8, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 65, 82,
++ 71, 69, 84, 0, 171, 171,
++ 83, 72, 68, 82, 128, 0,
++ 0, 0, 64, 0, 0, 0,
++ 32, 0, 0, 0, 90, 0,
++ 0, 3, 0, 96, 16, 0,
++ 0, 0, 0, 0, 88, 24,
++ 0, 4, 0, 112, 16, 0,
++ 0, 0, 0, 0, 85, 85,
++ 0, 0, 98, 16, 0, 3,
++ 50, 16, 16, 0, 1, 0,
++ 0, 0, 101, 0, 0, 3,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 104, 0, 0, 2,
++ 1, 0, 0, 0, 69, 0,
++ 0, 9, 242, 0, 16, 0,
++ 0, 0, 0, 0, 70, 16,
++ 16, 0, 1, 0, 0, 0,
++ 70, 126, 16, 0, 0, 0,
++ 0, 0, 0, 96, 16, 0,
++ 0, 0, 0, 0, 54, 0,
++ 0, 5, 242, 32, 16, 0,
++ 0, 0, 0, 0, 6, 12,
++ 16, 0, 0, 0, 0, 0,
++ 62, 0, 0, 1, 83, 84,
++ 65, 84, 116, 0, 0, 0,
++ 3, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 2, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 1, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 2, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,62 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++///
++// Parameters:
++//
++// sampler2D tex;
++//
++//
++// Registers:
++//
++// Name Reg Size
++// ------------ ----- ----
++// tex s0 1
++//
++
++ ps_2_0
++ dcl t0.xy
++ dcl_2d s0
++ texld r0, t0, s0
++ mov oC0, r0
++
++// approximately 2 instruction slots used (1 texture, 1 arithmetic)
++#endif
++
++const BYTE g_ps20_passthroughps[] =
++{
++ 0, 2, 255, 255, 254, 255,
++ 33, 0, 67, 84, 65, 66,
++ 28, 0, 0, 0, 75, 0,
++ 0, 0, 0, 2, 255, 255,
++ 1, 0, 0, 0, 28, 0,
++ 0, 0, 0, 1, 0, 0,
++ 68, 0, 0, 0, 48, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 52, 0,
++ 0, 0, 0, 0, 0, 0,
++ 116, 101, 120, 0, 4, 0,
++ 12, 0, 1, 0, 1, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 112, 115, 95, 50,
++ 95, 48, 0, 77, 105, 99,
++ 114, 111, 115, 111, 102, 116,
++ 32, 40, 82, 41, 32, 72,
++ 76, 83, 76, 32, 83, 104,
++ 97, 100, 101, 114, 32, 67,
++ 111, 109, 112, 105, 108, 101,
++ 114, 32, 57, 46, 51, 48,
++ 46, 57, 50, 48, 48, 46,
++ 49, 54, 51, 56, 52, 0,
++ 171, 171, 31, 0, 0, 2,
++ 0, 0, 0, 128, 0, 0,
++ 3, 176, 31, 0, 0, 2,
++ 0, 0, 0, 144, 0, 8,
++ 15, 160, 66, 0, 0, 3,
++ 0, 0, 15, 128, 0, 0,
++ 228, 176, 0, 8, 228, 160,
++ 1, 0, 0, 2, 0, 8,
++ 15, 128, 0, 0, 228, 128,
++ 255, 255, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,152 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++// Resource Bindings:
++//
++// Name Type Format Dim Slot Elements
++// ------------------------------ ---------- ------- ----------- ---- --------
++// Sampler sampler NA NA 0 1
++// Texture texture float4 2d 0 1
++//
++//
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float
++// TEXCOORD 0 xy 1 NONE float xy
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_TARGET 0 xyzw 0 TARGET float xyzw
++//
++ps_4_0
++dcl_sampler s0, mode_default
++dcl_resource_texture2d (float,float,float,float) t0
++dcl_input_ps linear v1.xy
++dcl_output o0.xyzw
++dcl_temps 1
++sample r0.xyzw, v1.xyxx, t0.xyzw, s0
++mov o0.xyz, r0.xyzx
++mov o0.w, l(1.000000)
++ret
++// Approximately 4 instruction slots used
++#endif
++
++const BYTE g_PS_PassthroughRGB[] =
++{
++ 68, 88, 66, 67, 125, 186,
++ 250, 242, 113, 255, 59, 239,
++ 119, 158, 237, 78, 220, 43,
++ 160, 46, 1, 0, 0, 0,
++ 128, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 220, 0, 0, 0, 52, 1,
++ 0, 0, 104, 1, 0, 0,
++ 4, 2, 0, 0, 82, 68,
++ 69, 70, 160, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 108, 0, 0, 0, 92, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 1, 0, 0, 0,
++ 100, 0, 0, 0, 2, 0,
++ 0, 0, 5, 0, 0, 0,
++ 4, 0, 0, 0, 255, 255,
++ 255, 255, 0, 0, 0, 0,
++ 1, 0, 0, 0, 13, 0,
++ 0, 0, 83, 97, 109, 112,
++ 108, 101, 114, 0, 84, 101,
++ 120, 116, 117, 114, 101, 0,
++ 77, 105, 99, 114, 111, 115,
++ 111, 102, 116, 32, 40, 82,
++ 41, 32, 72, 76, 83, 76,
++ 32, 83, 104, 97, 100, 101,
++ 114, 32, 67, 111, 109, 112,
++ 105, 108, 101, 114, 32, 57,
++ 46, 51, 48, 46, 57, 50,
++ 48, 48, 46, 49, 54, 51,
++ 56, 52, 0, 171, 73, 83,
++ 71, 78, 80, 0, 0, 0,
++ 2, 0, 0, 0, 8, 0,
++ 0, 0, 56, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 15, 0,
++ 0, 0, 68, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 3, 3,
++ 0, 0, 83, 86, 95, 80,
++ 79, 83, 73, 84, 73, 79,
++ 78, 0, 84, 69, 88, 67,
++ 79, 79, 82, 68, 0, 171,
++ 171, 171, 79, 83, 71, 78,
++ 44, 0, 0, 0, 1, 0,
++ 0, 0, 8, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 65, 82,
++ 71, 69, 84, 0, 171, 171,
++ 83, 72, 68, 82, 148, 0,
++ 0, 0, 64, 0, 0, 0,
++ 37, 0, 0, 0, 90, 0,
++ 0, 3, 0, 96, 16, 0,
++ 0, 0, 0, 0, 88, 24,
++ 0, 4, 0, 112, 16, 0,
++ 0, 0, 0, 0, 85, 85,
++ 0, 0, 98, 16, 0, 3,
++ 50, 16, 16, 0, 1, 0,
++ 0, 0, 101, 0, 0, 3,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 104, 0, 0, 2,
++ 1, 0, 0, 0, 69, 0,
++ 0, 9, 242, 0, 16, 0,
++ 0, 0, 0, 0, 70, 16,
++ 16, 0, 1, 0, 0, 0,
++ 70, 126, 16, 0, 0, 0,
++ 0, 0, 0, 96, 16, 0,
++ 0, 0, 0, 0, 54, 0,
++ 0, 5, 114, 32, 16, 0,
++ 0, 0, 0, 0, 70, 2,
++ 16, 0, 0, 0, 0, 0,
++ 54, 0, 0, 5, 130, 32,
++ 16, 0, 0, 0, 0, 0,
++ 1, 64, 0, 0, 0, 0,
++ 128, 63, 62, 0, 0, 1,
++ 83, 84, 65, 84, 116, 0,
++ 0, 0, 4, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,141 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++//
++///
++// Resource Bindings:
++//
++// Name Type Format Dim Slot Elements
++// ------------------------------ ---------- ------- ----------- ---- --------
++// Sampler sampler NA NA 0 1
++// Texture texture float4 2d 0 1
++//
++//
++//
++// Input signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_POSITION 0 xyzw 0 POS float
++// TEXCOORD 0 xy 1 NONE float xy
++//
++//
++// Output signature:
++//
++// Name Index Mask Register SysValue Format Used
++// -------------------- ----- ------ -------- -------- ------- ------
++// SV_TARGET 0 xyzw 0 TARGET float xyzw
++//
++ps_4_0
++dcl_sampler s0, mode_default
++dcl_resource_texture2d (float,float,float,float) t0
++dcl_input_ps linear v1.xy
++dcl_output o0.xyzw
++sample o0.xyzw, v1.xyxx, t0.xyzw, s0
++ret
++// Approximately 2 instruction slots used
++#endif
++
++const BYTE g_PS_PassthroughRGBA[] =
++{
++ 68, 88, 66, 67, 151, 152,
++ 8, 102, 174, 135, 76, 57,
++ 100, 146, 59, 74, 205, 35,
++ 206, 21, 1, 0, 0, 0,
++ 80, 2, 0, 0, 5, 0,
++ 0, 0, 52, 0, 0, 0,
++ 220, 0, 0, 0, 52, 1,
++ 0, 0, 104, 1, 0, 0,
++ 212, 1, 0, 0, 82, 68,
++ 69, 70, 160, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 28, 0, 0, 0, 0, 4,
++ 255, 255, 0, 1, 0, 0,
++ 108, 0, 0, 0, 92, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 1, 0, 0, 0,
++ 100, 0, 0, 0, 2, 0,
++ 0, 0, 5, 0, 0, 0,
++ 4, 0, 0, 0, 255, 255,
++ 255, 255, 0, 0, 0, 0,
++ 1, 0, 0, 0, 13, 0,
++ 0, 0, 83, 97, 109, 112,
++ 108, 101, 114, 0, 84, 101,
++ 120, 116, 117, 114, 101, 0,
++ 77, 105, 99, 114, 111, 115,
++ 111, 102, 116, 32, 40, 82,
++ 41, 32, 72, 76, 83, 76,
++ 32, 83, 104, 97, 100, 101,
++ 114, 32, 67, 111, 109, 112,
++ 105, 108, 101, 114, 32, 57,
++ 46, 51, 48, 46, 57, 50,
++ 48, 48, 46, 49, 54, 51,
++ 56, 52, 0, 171, 73, 83,
++ 71, 78, 80, 0, 0, 0,
++ 2, 0, 0, 0, 8, 0,
++ 0, 0, 56, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 3, 0, 0, 0,
++ 0, 0, 0, 0, 15, 0,
++ 0, 0, 68, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 3, 0, 0, 0,
++ 1, 0, 0, 0, 3, 3,
++ 0, 0, 83, 86, 95, 80,
++ 79, 83, 73, 84, 73, 79,
++ 78, 0, 84, 69, 88, 67,
++ 79, 79, 82, 68, 0, 171,
++ 171, 171, 79, 83, 71, 78,
++ 44, 0, 0, 0, 1, 0,
++ 0, 0, 8, 0, 0, 0,
++ 32, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 3, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0,
++ 83, 86, 95, 84, 65, 82,
++ 71, 69, 84, 0, 171, 171,
++ 83, 72, 68, 82, 100, 0,
++ 0, 0, 64, 0, 0, 0,
++ 25, 0, 0, 0, 90, 0,
++ 0, 3, 0, 96, 16, 0,
++ 0, 0, 0, 0, 88, 24,
++ 0, 4, 0, 112, 16, 0,
++ 0, 0, 0, 0, 85, 85,
++ 0, 0, 98, 16, 0, 3,
++ 50, 16, 16, 0, 1, 0,
++ 0, 0, 101, 0, 0, 3,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 69, 0, 0, 9,
++ 242, 32, 16, 0, 0, 0,
++ 0, 0, 70, 16, 16, 0,
++ 1, 0, 0, 0, 70, 126,
++ 16, 0, 0, 0, 0, 0,
++ 0, 96, 16, 0, 0, 0,
++ 0, 0, 62, 0, 0, 1,
++ 83, 84, 65, 84, 116, 0,
++ 0, 0, 2, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 2, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 1, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0
++};
+--- src.orig/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/standardvs.h 1970-01-01 01:00:00.000000000 +0100
++++ src/3rdparty/angle/src/libGLESv2/renderer/shaders/compiled/standardvs.h 2014-01-07 18:29:31.077509230 +0100
+@@ -0,0 +1,67 @@
++#if 0
++//
++// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.16384
++//
++///
++// Parameters:
++//
++// float4 halfPixelSize;
++//
++//
++// Registers:
++//
++// Name Reg Size
++// ------------- ----- ----
++// halfPixelSize c0 1
++//
++
++ vs_2_0
++ def c1, 0.5, -0.5, 1, 0
++ dcl_position v0
++ add oPos, v0, c0
++ mad oT0, v0, c1.xyzz, c1.xxww
++
++// approximately 2 instruction slots used
++#endif
++
++const BYTE g_vs20_standardvs[] =
++{
++ 0, 2, 254, 255, 254, 255,
++ 36, 0, 67, 84, 65, 66,
++ 28, 0, 0, 0, 87, 0,
++ 0, 0, 0, 2, 254, 255,
++ 1, 0, 0, 0, 28, 0,
++ 0, 0, 0, 1, 0, 0,
++ 80, 0, 0, 0, 48, 0,
++ 0, 0, 2, 0, 0, 0,
++ 1, 0, 0, 0, 64, 0,
++ 0, 0, 0, 0, 0, 0,
++ 104, 97, 108, 102, 80, 105,
++ 120, 101, 108, 83, 105, 122,
++ 101, 0, 171, 171, 1, 0,
++ 3, 0, 1, 0, 4, 0,
++ 1, 0, 0, 0, 0, 0,
++ 0, 0, 118, 115, 95, 50,
++ 95, 48, 0, 77, 105, 99,
++ 114, 111, 115, 111, 102, 116,
++ 32, 40, 82, 41, 32, 72,
++ 76, 83, 76, 32, 83, 104,
++ 97, 100, 101, 114, 32, 67,
++ 111, 109, 112, 105, 108, 101,
++ 114, 32, 57, 46, 51, 48,
++ 46, 57, 50, 48, 48, 46,
++ 49, 54, 51, 56, 52, 0,
++ 171, 171, 81, 0, 0, 5,
++ 1, 0, 15, 160, 0, 0,
++ 0, 63, 0, 0, 0, 191,
++ 0, 0, 128, 63, 0, 0,
++ 0, 0, 31, 0, 0, 2,
++ 0, 0, 0, 128, 0, 0,
++ 15, 144, 2, 0, 0, 3,
++ 0, 0, 15, 192, 0, 0,
++ 228, 144, 0, 0, 228, 160,
++ 4, 0, 0, 4, 0, 0,
++ 15, 224, 0, 0, 228, 144,
++ 1, 0, 164, 160, 1, 0,
++ 240, 160, 255, 255, 0, 0
++};
diff --git a/qt5-dont-add-resource-files-to-qmake-libs.patch b/qt5-dont-add-resource-files-to-qmake-libs.patch
new file mode 100644
index 000000000000..b348429551ff
--- /dev/null
+++ b/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/qt5-dont-build-host-libs-static.patch b/qt5-dont-build-host-libs-static.patch
new file mode 100644
index 000000000000..9e430e4ff71f
--- /dev/null
+++ b/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/qt5-enable-rpath-for-host-tools.patch b/qt5-enable-rpath-for-host-tools.patch
new file mode 100644
index 000000000000..55aaf448b7d9
--- /dev/null
+++ b/qt5-enable-rpath-for-host-tools.patch
@@ -0,0 +1,10 @@
+--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig 2013-08-01 01:21:52.461910182 +0200
++++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf 2013-08-01 01:22:46.777801052 +0200
+@@ -20,6 +20,7 @@
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
+
+ host_build: QT -= gui # no host tool will ever use gui
++host_build: QT_CONFIG += rpath
+ host_build:force_bootstrap {
+ !build_pass: CONFIG += release
+ contains(QT, core(-private)?|xml) {
diff --git a/qt5-fix-static-dbus-detection.patch b/qt5-fix-static-dbus-detection.patch
new file mode 100644
index 000000000000..e12f9e38fc1a
--- /dev/null
+++ b/qt5-fix-static-dbus-detection.patch
@@ -0,0 +1,13 @@
+--- qtbase-opensource-src-5.4.1/config.tests/unix/dbus/dbus.cpp.orig 2015-03-08 17:05:21.216593135 +0100
++++ qtbase-opensource-src-5.4.1/config.tests/unix/dbus/dbus.cpp 2015-03-08 17:06:35.276826201 +0100
+@@ -31,6 +31,10 @@
+ **
+ ****************************************************************************/
+
++#ifdef QT_STATIC
++#define DBUS_STATIC_BUILD
++#endif
++
+ #define DBUS_API_SUBJECT_TO_CHANGE
+ #include <dbus/dbus.h>
+
diff --git a/qt5-fix-static-harfbuzz-detection.patch b/qt5-fix-static-harfbuzz-detection.patch
new file mode 100644
index 000000000000..80dc3b29b20c
--- /dev/null
+++ b/qt5-fix-static-harfbuzz-detection.patch
@@ -0,0 +1,7 @@
+--- qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro.orig 2015-03-08 17:47:58.522991158 +0100
++++ qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro 2015-03-08 17:48:19.491340185 +0100
+@@ -1,3 +1,3 @@
+ SOURCES = harfbuzz.cpp
+ CONFIG -= qt dylib
+-LIBS += -lharfbuzz
++LIBS += -lharfbuzz -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lintl
diff --git a/qt5-merge-static-and-shared-library-trees.patch b/qt5-merge-static-and-shared-library-trees.patch
new file mode 100644
index 000000000000..130e6400fa79
--- /dev/null
+++ b/qt5-merge-static-and-shared-library-trees.patch
@@ -0,0 +1,48 @@
+--- mkspecs/features/qt_functions.prf.orig 2012-09-05 23:30:01.612735271 +0200
++++ mkspecs/features/qt_functions.prf 2012-09-05 23:32:40.030869399 +0200
+@@ -134,6 +134,19 @@
+ }
+
+ $$2 += $$LINKAGE
++
++ win32:CONFIG(static) {
++ isEqual(MODULE_NAME, Qt5Core) {
++ $$2 += $$QMAKE_LIBS_CORE
++ } else:isEqual(MODULE_NAME, Qt5Gui) {
++ $$2 += $$QMAKE_LIBS_GUI
++ } else:isEqual(MODULE_NAME, Qt5Network) {
++ $$2 += $$QMAKE_LIBS_NETWORK
++ } else:isEqual(MODULE_NAME, Qt5OpenGL) {
++ $$2 += $$QMAKE_LIBS_OPENGL
++ }
++ }
++
+ export($$2)
+
+ !isEmpty(QMAKE_LSB) {
+--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
++++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
+@@ -47,3 +50,8 @@
+
+ QMAKE_INCDIR += $$QMAKE_INCDIR_POST
+ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
++
++win32:contains(CONFIG, static) {
++ DEFINES += QT_STATIC
++ QMAKE_LFLAGS += -static
++}
+--- configure.orig 2012-12-10 23:51:02.920255366 +0100
++++ configure 2012-12-10 23:55:58.101753703 +0100
+@@ -6193,6 +6193,12 @@
+ }
+ QT_CONFIG += $QT_CONFIG
+
++contains(CONFIG, static) {
++ CONFIG -= shared
++ QT_CONFIG += static jpeg gif
++ QT_CONFIG -= shared
++}
++
+ #versioning
+ QT_VERSION = $QT_VERSION
+ QT_MAJOR_VERSION = $QT_MAJOR_VERSION
diff --git a/qt5-prevent-debug-library-names-in-pkgconfig-files.patch b/qt5-prevent-debug-library-names-in-pkgconfig-files.patch
new file mode 100644
index 000000000000..7d6836d5ab06
--- /dev/null
+++ b/qt5-prevent-debug-library-names-in-pkgconfig-files.patch
@@ -0,0 +1,12 @@
+--- qtbase-opensource-src-5.2.0/qmake/generators/makefile.cpp.orig 2014-01-03 01:30:23.631353708 +0100
++++ qtbase-opensource-src-5.2.0/qmake/generators/makefile.cpp 2014-01-03 01:32:37.888625966 +0100
+@@ -3168,6 +3168,9 @@
+ if (dot != -1)
+ ret = ret.left(dot);
+ }
++ if (project->isActiveConfig("debug")) {
++ ret += "d";
++ }
+ ret += Option::pkgcfg_ext;
+ QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
+ if(!subdir.isEmpty()) {
diff --git a/qt5-qmake-implib-dll-a.patch b/qt5-qmake-implib-dll-a.patch
new file mode 100644
index 000000000000..dbef279810a2
--- /dev/null
+++ b/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()
+@@ -268,7 +268,7 @@
+ 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/qt5-qtbase-fix-linking-against-static-pcre.patch b/qt5-qtbase-fix-linking-against-static-pcre.patch
new file mode 100644
index 000000000000..3dd77468ed37
--- /dev/null
+++ b/qt5-qtbase-fix-linking-against-static-pcre.patch
@@ -0,0 +1,13 @@
+--- qtbase-opensource-src-5.1.0/src/corelib/tools/qregularexpression.cpp.orig 2013-07-11 08:23:02.687691337 +0200
++++ qtbase-opensource-src-5.1.0/src/corelib/tools/qregularexpression.cpp 2013-07-11 08:23:27.231900674 +0200
+@@ -47,6 +47,10 @@
+ #include <QtCore/qatomic.h>
+ #include <QtCore/qdatastream.h>
+
++#ifdef QT_STATIC
++#define PCRE_STATIC
++#endif
++
+ #include <pcre.h>
+
+ QT_BEGIN_NAMESPACE
diff --git a/qt5-rename-qtmain-to-qt5main.patch b/qt5-rename-qtmain-to-qt5main.patch
new file mode 100644
index 000000000000..57c35da0f56f
--- /dev/null
+++ b/qt5-rename-qtmain-to-qt5main.patch
@@ -0,0 +1,35 @@
+--- qtbase-opensource-src-5.2.1/src/winmain/winmain.pro.orig 2014-04-29 18:51:05.206296152 +0200
++++ qtbase-opensource-src-5.2.1/src/winmain/winmain.pro 2014-04-29 18:51:18.737512221 +0200
+@@ -2,7 +2,7 @@
+ !win32:error("$$_FILE_ is intended only for Windows!")
+
+ TEMPLATE = lib
+-TARGET = qtmain
++TARGET = qt5main
+ DESTDIR = $$QT.core.libs
+
+ CONFIG += static
+--- qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf.orig 2014-04-29 18:53:49.511932034 +0200
++++ qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf 2014-04-29 18:54:44.515819011 +0200
+@@ -203,8 +203,8 @@
+ CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
+
+ mingw {
+- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}d.a
+- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
++ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
++ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
+
+ !isEmpty(CMAKE_STATIC_TYPE) {
+ CMAKE_STATIC_WINDOWS_BUILD = "true"
+--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.qtmain 2014-07-05 14:18:23.211155781 +0200
++++ qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf 2014-07-05 14:18:46.045390147 +0200
+@@ -6,7 +6,7 @@
+ mingw:DEFINES += QT_NEEDS_QMAIN
+
+ qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
+- isEqual(entryLib, -lqtmain): {
++ isEqual(entryLib, -lqt5main): {
+ !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
+ QMAKE_LIBS += -L$$QT.core.libs
+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
diff --git a/qt5-use-external-angle-library.patch b/qt5-use-external-angle-library.patch
new file mode 100644
index 000000000000..ee463e6c9c29
--- /dev/null
+++ b/qt5-use-external-angle-library.patch
@@ -0,0 +1,113 @@
+--- src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-05 09:24:36.000000000 -0700
++++ src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-11 10:19:51.599972209 -0700
+@@ -2,9 +2,9 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
+ !!ELSE
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
+ !!ENDIF
+
+ _qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
+--- src/gui/gui.pro 2014-12-05 09:24:35.000000000 -0700
++++ src/gui/gui.pro 2014-12-11 10:22:37.644366784 -0700
+@@ -15,12 +15,6 @@
+ iconengines \
+ imageformats
+
+-# This is here only because the platform plugin is no module, obviously.
+-win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
+- MODULE_AUX_INCLUDES = \
+- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
+-}
+-
+ load(qt_module)
+
+ # Code coverage with TestCocoon
+@@ -33,6 +27,10 @@
+
+ mac:!ios: LIBS_PRIVATE += -framework Cocoa
+
++win32:contains(QT_CONFIG, angle) {
++ LIBS_PRIVATE += -lGLESv2
++}
++
+ CONFIG += simd optimize_full
+
+ include(accessible/accessible.pri)
+@@ -55,13 +53,21 @@
+ contains(QT_CONFIG, angle) {
+ CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR
+ CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll
+- CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
+ CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll
+- CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
+ CMAKE_ANGLE_EGL_DLL_DEBUG = libEGLd.dll
+- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
+ CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2d.dll
+- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
++
++ win32-g++* {
++ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.dll.a
++ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.dll.a
++ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.dll.a
++ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.dll.a
++ } else {
++ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
++ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
++ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
++ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
++ }
+
+ CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
+ } else {
+--- src/opengl/opengl.pro 2014-12-05 09:24:31.000000000 -0700
++++ src/opengl/opengl.pro 2014-12-11 10:15:45.884805707 -0700
+@@ -13,6 +13,10 @@
+ contains(QT_CONFIG, opengl):CONFIG += opengl
+ contains(QT_CONFIG, opengles2):CONFIG += opengles2
+
++win32:contains(QT_CONFIG, angle) {
++ LIBS_PRIVATE += -lGLESv2
++}
++
+ HEADERS += qgl.h \
+ qgl_p.h \
+ qglcolormap.h \
+--- src/plugins/platforms/windows/windows.pri 2014-12-05 09:24:37.000000000 -0700
++++ src/plugins/platforms/windows/windows.pri 2014-12-11 10:13:45.228261276 -0700
+@@ -3,6 +3,7 @@
+ !wince*:LIBS *= -luser32 -lwinspool -limm32 -lwinmm -loleaut32
+
+ contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles2):!contains(QT_CONFIG, dynamicgl): LIBS *= -lopengl32
++contains(QT_CONFIG, angle):LIBS += -lGLESv2 -lEGL
+
+ mingw: LIBS *= -luuid
+ # For the dialog helpers:
+--- src/src.pro 2014-12-05 09:24:31.000000000 -0700
++++ src/src.pro 2014-12-11 10:06:14.882845813 -0700
+@@ -140,10 +140,6 @@
+ SUBDIRS += src_3rdparty_harfbuzzng
+ src_gui.depends += src_3rdparty_harfbuzzng
+ }
+- win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
+- SUBDIRS += src_angle
+- src_gui.depends += src_angle
+- }
+ SUBDIRS += src_gui src_platformsupport src_platformheaders
+ contains(QT_CONFIG, opengl(es2)?):SUBDIRS += src_openglextensions
+ src_plugins.depends += src_gui src_platformsupport src_platformheaders
+--- src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-05 09:24:37.000000000 -0700
++++ src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-11 20:07:27.099190408 -0700
+@@ -40,7 +40,7 @@
+
+ #if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
+ # define EGL_EGLEXT_PROTOTYPES
+-# include <QtANGLE/EGL/eglext.h>
++# include <EGL/eglext.h>
+ #endif
+
+ QT_BEGIN_NAMESPACE
diff --git a/qt5-use-system-zlib-in-host-libs.patch b/qt5-use-system-zlib-in-host-libs.patch
new file mode 100644
index 000000000000..a5046514062a
--- /dev/null
+++ b/qt5-use-system-zlib-in-host-libs.patch
@@ -0,0 +1,11 @@
+--- 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
+@@ -145,7 +145,7 @@
+ ../../corelib/io/qstandardpaths_win.cpp
+ }
+
+-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 -lshell32
diff --git a/qt5-use-win32-g++-mkspecs-profile.patch b/qt5-use-win32-g++-mkspecs-profile.patch
new file mode 100644
index 000000000000..bba98c32613e
--- /dev/null
+++ b/qt5-use-win32-g++-mkspecs-profile.patch
@@ -0,0 +1,63 @@
+--- mkspecs/win32-g++/qmake.conf.orig 2014-01-05 13:46:16.181559218 +0100
++++ mkspecs/win32-g++/qmake.conf 2014-01-05 13:52:31.176768097 +0100
+@@ -25,7 +25,7 @@
+ QMAKE_LEXFLAGS =
+ QMAKE_YACC = byacc
+ QMAKE_YACCFLAGS = -d
+-QMAKE_CFLAGS = -pipe -fno-keep-inline-dllexport
++QMAKE_CFLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -fno-keep-inline-dllexport
+ QMAKE_CFLAGS_DEPS = -M
+ QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
+ QMAKE_CFLAGS_WARN_OFF = -w
+@@ -66,10 +66,10 @@
+
+ QMAKE_LINK = $${CROSS_COMPILE}g++
+ QMAKE_LINK_C = $${CROSS_COMPILE}gcc
+-QMAKE_LFLAGS =
++QMAKE_LFLAGS = -g
+ QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
+ QMAKE_LFLAGS_EXCEPTIONS_OFF =
+-QMAKE_LFLAGS_RELEASE = -Wl,-s
++QMAKE_LFLAGS_RELEASE =
+ QMAKE_LFLAGS_DEBUG =
+ QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
+ QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
+@@ -81,14 +81,14 @@
+ QMAKE_EXTENSION_STATICLIB = a
+
+ QMAKE_LIBS =
+-QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
+-QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
+-QMAKE_LIBS_NETWORK = -lws2_32
++QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lpcre16
++QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng -lharfbuzz -lglib-2.0 -lintl -lwinmm
++QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi
+ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
+-QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32
+-QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
++QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -ld3d9 -ldxguid -lgdi32 -luser32
++QMAKE_LIBS_OPENGL_ES2_DEBUG = $(QMAKE_LIBS_OPENGL_ES2)
+ QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+-QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
++QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main
+
+ !isEmpty(QMAKE_SH) {
+ MINGW_IN_SHELL = 1
+@@ -102,12 +102,16 @@
+ 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
+ QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
+ QMAKE_NM = $${CROSS_COMPILE}nm -P
++
++PKG_CONFIG = $${CROSS_COMPILE}pkg-config
++
+ load(qt_config)
diff --git a/qt5-workaround-pkgconfig-install-issue.patch b/qt5-workaround-pkgconfig-install-issue.patch
new file mode 100644
index 000000000000..ef1037fa9aa6
--- /dev/null
+++ b/qt5-workaround-pkgconfig-install-issue.patch
@@ -0,0 +1,46 @@
+--- qmake/generators/makefile.cpp.pkgconfig 2013-01-29 20:03:12.000000000 +0100
++++ qmake/generators/makefile.cpp 2013-03-26 19:18:07.480722316 +0100
+@@ -3102,7 +3102,7 @@
+ }
+
+ QString
+-MakefileGenerator::pkgConfigFileName(bool fixify)
++MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
+ {
+ QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString();
+ if (ret.isEmpty()) {
+@@ -3130,7 +3130,11 @@
+ if(fixify) {
+ if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))
+ ret.prepend(project->first("DESTDIR").toQString());
+- ret = Option::fixPathToLocalOS(fileFixify(ret, qmake_getpwd(), Option::output_dir));
++ if (onlyPrependDestdir) {
++ ret = Option::fixPathToLocalOS(ret);
++ } else {
++ ret = Option::fixPathToLocalOS(fileFixify(ret, qmake_getpwd(), Option::output_dir));
++ }
+ }
+ return ret;
+ }
+--- qmake/generators/makefile.h.orig 2013-03-26 19:17:37.624199870 +0100
++++ qmake/generators/makefile.h 2013-03-26 19:17:56.327527157 +0100
+@@ -102,7 +102,7 @@
+ virtual void writeDefaultVariables(QTextStream &t);
+
+ QString pkgConfigPrefix() const;
+- QString pkgConfigFileName(bool fixify=true);
++ QString pkgConfigFileName(bool fixify=true, bool onlyPrependDestdir = false);
+ QString pkgConfigFixPath(QString) const;
+ void writePkgConfigFile(); // for pkg-config
+
+--- qmake/generators/win32/winmakefile.cpp.orig 2013-03-26 19:05:13.398183953 +0100
++++ qmake/generators/win32/winmakefile.cpp 2013-03-26 19:15:02.800490466 +0100
+@@ -851,7 +851,7 @@
+ }
+ if(!ret.isEmpty())
+ ret += "\n\t";
+- ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true), dst_pc);
++ ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true, true), dst_pc);
+ if(!uninst.isEmpty())
+ uninst.append("\n\t");
+ uninst.append("-$(DEL_FILE) \"" + dst_pc + "\"");