From 4113ec1f8899fa62d9c8f214eb12091b694668ad Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 5 Nov 2016 13:24:51 +0100 Subject: [PATCH] Link mingw-w64-qt5-webkit always against ANGLE Fix linker errors; not tested yet, will update ANGLE first --- .../mingw-w64/0001-Use-correct-ICU-libs.patch | 4 +- .../mingw-w64/0002-Use-pkg-config.patch | 4 +- ...em-ANGLE-rather-than-bundled-version.patch | 71 ++----------------- ...t5-base-to-be-built-with-ICU-support.patch | 6 +- ...f-QT4_UNICODE-and-related-code-paths.patch | 8 +-- ...-not-being-exported-in-Qt5WebKit.dll.patch | 6 +- .../0007-Build-with-smaller-debug-info.patch | 10 +-- ...-failure-due-to-building-without-ICU.patch | 6 +- ...lish-compatibility-with-latest-ANGLE.patch | 6 +- ...trin.h-for-declaration-of-_mm_mfence.patch | 6 +- ...LE-even-if-Qt-is-configured-for-dyna.patch | 26 +++++++ qt5-webkit/mingw-w64/PKGBUILD | 26 +++---- 12 files changed, 73 insertions(+), 106 deletions(-) create mode 100644 qt5-webkit/mingw-w64/0011-Link-against-ANGLE-even-if-Qt-is-configured-for-dyna.patch diff --git a/qt5-webkit/mingw-w64/0001-Use-correct-ICU-libs.patch b/qt5-webkit/mingw-w64/0001-Use-correct-ICU-libs.patch index 22bcbe84..41459b69 100644 --- a/qt5-webkit/mingw-w64/0001-Use-correct-ICU-libs.patch +++ b/qt5-webkit/mingw-w64/0001-Use-correct-ICU-libs.patch @@ -1,7 +1,7 @@ From 27c479ef693e765326b22d2f4cd1424593711f18 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 21:53:59 +0200 -Subject: [PATCH 01/10] Use correct ICU libs +Subject: [PATCH 01/11] Use correct ICU libs The ICU libraries used for cross-compilation are named exactly the same as their native Linux counterpart @@ -23,5 +23,5 @@ index b4f7765..e762387 100644 CONFIG(debug, debug|release) { LIBS += -lsicuind -lsicuucd -lsicudtd -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0002-Use-pkg-config.patch b/qt5-webkit/mingw-w64/0002-Use-pkg-config.patch index 78b5815b..5c951589 100644 --- a/qt5-webkit/mingw-w64/0002-Use-pkg-config.patch +++ b/qt5-webkit/mingw-w64/0002-Use-pkg-config.patch @@ -1,7 +1,7 @@ From f879e4f9efd0cca7acd1f09953bc645107a42d21 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 21:56:42 +0200 -Subject: [PATCH 02/10] Use pkg-config +Subject: [PATCH 02/11] Use pkg-config --- Tools/qmake/mkspecs/features/win32/default_pre.prf | 2 ++ @@ -21,5 +21,5 @@ index b306c3b..95592c2 100644 debug: CONFIG += use_all_in_one_files -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0003-Use-system-ANGLE-rather-than-bundled-version.patch b/qt5-webkit/mingw-w64/0003-Use-system-ANGLE-rather-than-bundled-version.patch index 0afecdbd..821d8c08 100644 --- a/qt5-webkit/mingw-w64/0003-Use-system-ANGLE-rather-than-bundled-version.patch +++ b/qt5-webkit/mingw-w64/0003-Use-system-ANGLE-rather-than-bundled-version.patch @@ -1,76 +1,15 @@ -From 1c26334f02f106babba2f0659f676d6c3af2dded Mon Sep 17 00:00:00 2001 +From b22f0368b4d4d167fcc342bffb602c9c41578233 Mon Sep 17 00:00:00 2001 From: Martchus -Date: Sun, 25 Sep 2016 21:57:57 +0200 -Subject: [PATCH 03/10] Use system ANGLE rather than bundled version +Date: Sat, 5 Nov 2016 12:14:01 +0100 +Subject: [PATCH 03/11] Use system ANGLE rather than bundled version --- - Source/WebCore/Target.pri | 2 +- - Source/WebCore/WebCore.pri | 1 + - Source/WebKit/WebKit1.pro | 5 ++++- - Source/WebKit2/Target.pri | 5 ++++- Source/api.pri | 1 - Tools/qmake/mkspecs/features/webkit_modules.prf | 2 +- Tools/qmake/mkspecs/modules/angle.prf | 3 --- WebKit.pro | 6 ------ - 8 files changed, 11 insertions(+), 14 deletions(-) + 4 files changed, 1 insertion(+), 11 deletions(-) -diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri -index e525aa1..26837c7 100644 ---- a/Source/WebCore/Target.pri -+++ b/Source/WebCore/Target.pri -@@ -4194,7 +4194,7 @@ use?(3D_GRAPHICS) { - platform/graphics/texmap/coordinated/CoordinatedTile.cpp \ - platform/graphics/texmap/coordinated/UpdateAtlas.cpp - -- INCLUDEPATH += $$PWD/platform/graphics/gpu -+ INCLUDEPATH += $$PWD/platform/graphics/gpu /usr/i686-w64-mingw32/sys-root/mingw/include/GLSLANG - - contains(QT_CONFIG, opengl) { - contains(QT_CONFIG, opengles2) { -diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri -index 37cde57..022f8da 100644 ---- a/Source/WebCore/WebCore.pri -+++ b/Source/WebCore/WebCore.pri -@@ -214,6 +214,7 @@ use?(3D_GRAPHICS) { - CONFIG(debug, debug|release):contains(QT_CONFIG, angle) { - LIBS += $$QMAKE_LIBS_OPENGL_ES2_DEBUG - } else { -+ INCLUDEPATH += /usr/i686-w64-mingw32/sys-root/mingw/include/GLSLANG - LIBS += $$QMAKE_LIBS_OPENGL_ES2 - } - } else { -diff --git a/Source/WebKit/WebKit1.pro b/Source/WebKit/WebKit1.pro -index 6dbb907..6f18db2 100644 ---- a/Source/WebKit/WebKit1.pro -+++ b/Source/WebKit/WebKit1.pro -@@ -96,7 +96,10 @@ HEADERS += \ - INCLUDEPATH += \ - $$PWD/qt/WebCoreSupport - --use?(3D_GRAPHICS): WEBKIT += angle -+use?(3D_GRAPHICS) { -+ WEBKIT += angle -+ INCLUDEPATH += /usr/i686-w64-mingw32/sys-root/mingw/include/GLSLANG -+} - - have?(qtpositioning):enable?(GEOLOCATION) { - HEADERS += \ -diff --git a/Source/WebKit2/Target.pri b/Source/WebKit2/Target.pri -index a9179d9..ac020a4 100644 ---- a/Source/WebKit2/Target.pri -+++ b/Source/WebKit2/Target.pri -@@ -949,7 +949,10 @@ enable?(TOUCH_EVENTS) { - - have?(qtpositioning):enable?(GEOLOCATION): QT += positioning - --use?(3D_GRAPHICS): WEBKIT += angle -+use?(3D_GRAPHICS) { -+ WEBKIT += angle -+ INCLUDEPATH += /usr/i686-w64-mingw32/sys-root/mingw/include/GLSLANG -+} - - use?(PLUGIN_BACKEND_XLIB) { - DEFINES += XP_UNIX diff --git a/Source/api.pri b/Source/api.pri index de04652..f972f67 100644 --- a/Source/api.pri @@ -125,5 +64,5 @@ index 11b59e5..e9709a2 100644 leveldb.file = Source/ThirdParty/leveldb/leveldb.pro leveldb.makefile = Makefile.leveldb -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0004-Don-t-require-qt5-base-to-be-built-with-ICU-support.patch b/qt5-webkit/mingw-w64/0004-Don-t-require-qt5-base-to-be-built-with-ICU-support.patch index 0fd053e1..41899b9c 100644 --- a/qt5-webkit/mingw-w64/0004-Don-t-require-qt5-base-to-be-built-with-ICU-support.patch +++ b/qt5-webkit/mingw-w64/0004-Don-t-require-qt5-base-to-be-built-with-ICU-support.patch @@ -1,7 +1,7 @@ -From 91ce805e848a10da974749969785b12e7ca9599f Mon Sep 17 00:00:00 2001 +From 0babda7ee8ffc48773162224eed9e2d0aa83b9ea Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 21:59:39 +0200 -Subject: [PATCH 04/10] Don't require qt5-base to be built with ICU support +Subject: [PATCH 04/11] Don't require qt5-base to be built with ICU support --- Source/WTF/wtf/Platform.h | 4 + @@ -269,5 +269,5 @@ index b5fb2ae..7da388a 100644 addReasonForSkippingBuild("Build not supported on BB10.") } -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0005-Revert-removal-of-QT4_UNICODE-and-related-code-paths.patch b/qt5-webkit/mingw-w64/0005-Revert-removal-of-QT4_UNICODE-and-related-code-paths.patch index 27412137..65459edf 100644 --- a/qt5-webkit/mingw-w64/0005-Revert-removal-of-QT4_UNICODE-and-related-code-paths.patch +++ b/qt5-webkit/mingw-w64/0005-Revert-removal-of-QT4_UNICODE-and-related-code-paths.patch @@ -1,7 +1,7 @@ -From ec4b0f51cdb558dcde0125efb89925fd72f13868 Mon Sep 17 00:00:00 2001 +From c3df414bd2bb18c21d8ff8ab1109d7a6463bf14f Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:03:05 +0200 -Subject: [PATCH 05/10] Revert removal of QT4_UNICODE and related code paths +Subject: [PATCH 05/11] Revert removal of QT4_UNICODE and related code paths --- Source/WTF/WTF.pro | 1 + @@ -428,7 +428,7 @@ index 0000000..a2d1ad4 + +#endif // WTF_UNICODE_QT4_H diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri -index 26837c7..b859699 100644 +index e525aa1..5d64b46 100644 --- a/Source/WebCore/Target.pri +++ b/Source/WebCore/Target.pri @@ -2358,6 +2358,7 @@ HEADERS += \ @@ -763,5 +763,5 @@ index 0000000..f28f0bb + +#endif // TextCodecICU_h -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0006-Prevent-symbols-not-being-exported-in-Qt5WebKit.dll.patch b/qt5-webkit/mingw-w64/0006-Prevent-symbols-not-being-exported-in-Qt5WebKit.dll.patch index c6f51926..c94cf2f6 100644 --- a/qt5-webkit/mingw-w64/0006-Prevent-symbols-not-being-exported-in-Qt5WebKit.dll.patch +++ b/qt5-webkit/mingw-w64/0006-Prevent-symbols-not-being-exported-in-Qt5WebKit.dll.patch @@ -1,7 +1,7 @@ -From 3b5ad515daa92d1470d6956f559a1934f421a975 Mon Sep 17 00:00:00 2001 +From abf76e8a2f6174832420bbbd981947c928a67e13 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:08:26 +0200 -Subject: [PATCH 06/10] Prevent symbols not being exported in Qt5WebKit.dll +Subject: [PATCH 06/11] Prevent symbols not being exported in Qt5WebKit.dll WebKit svn commit 136242 implemented a split into QtWebKit and QtWebKitWidgets. Due to this change a static library named WebKit1.a is created first. @@ -42,5 +42,5 @@ index fe222c2..46d629c 100644 QWEBKIT_EXPORT QString qWebKitVersion(); QWEBKIT_EXPORT int qWebKitMajorVersion(); -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0007-Build-with-smaller-debug-info.patch b/qt5-webkit/mingw-w64/0007-Build-with-smaller-debug-info.patch index eb508d29..a49cbc23 100644 --- a/qt5-webkit/mingw-w64/0007-Build-with-smaller-debug-info.patch +++ b/qt5-webkit/mingw-w64/0007-Build-with-smaller-debug-info.patch @@ -1,7 +1,7 @@ -From 9a9c89410307baa1165f8acb3dc4a79703fbf139 Mon Sep 17 00:00:00 2001 +From 421b2295a77918f111814e34ca54ba983dd1a87d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:13:44 +0200 -Subject: [PATCH 07/10] Build with smaller debug info +Subject: [PATCH 07/11] Build with smaller debug info Avoid exceeding 4 GB size limit --- @@ -47,7 +47,7 @@ index e762387..86900ce 100644 # Mac OS does ship libicu but not the associated header files. # Therefore WebKit provides adequate header files. diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri -index 022f8da..e84fa10 100644 +index 37cde57..ddad897 100644 --- a/Source/WebCore/WebCore.pri +++ b/Source/WebCore/WebCore.pri @@ -7,6 +7,12 @@ @@ -63,7 +63,7 @@ index 022f8da..e84fa10 100644 QT *= network sql core-private gui-private WEBCORE_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/WebCore/$${GENERATED_SOURCES_DESTDIR} -@@ -317,6 +323,7 @@ mac { +@@ -316,6 +322,7 @@ mac { unix:!mac:*-g++*:QMAKE_CXXFLAGS += -fdata-sections unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF @@ -106,5 +106,5 @@ index 3611524..f54b9ca 100644 $$SOURCE_DIR \ $$SOURCE_DIR/Platform \ -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0008-Fix-build-failure-due-to-building-without-ICU.patch b/qt5-webkit/mingw-w64/0008-Fix-build-failure-due-to-building-without-ICU.patch index a3031312..77f2491c 100644 --- a/qt5-webkit/mingw-w64/0008-Fix-build-failure-due-to-building-without-ICU.patch +++ b/qt5-webkit/mingw-w64/0008-Fix-build-failure-due-to-building-without-ICU.patch @@ -1,7 +1,7 @@ -From 1786c0bded47db3c7729a12df53d9134eddf5e83 Mon Sep 17 00:00:00 2001 +From ec65846e33b689741f896b63884b0f9eed0d413d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:17:41 +0200 -Subject: [PATCH 08/10] Fix build failure due to building without ICU +Subject: [PATCH 08/11] Fix build failure due to building without ICU Revert commit 151422 --- @@ -58,5 +58,5 @@ index cc7607f..eef4363 100644 RenderText::RenderText(Node* node, PassRefPtr str) -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0009-Establish-compatibility-with-latest-ANGLE.patch b/qt5-webkit/mingw-w64/0009-Establish-compatibility-with-latest-ANGLE.patch index 33703f4b..a53185c4 100644 --- a/qt5-webkit/mingw-w64/0009-Establish-compatibility-with-latest-ANGLE.patch +++ b/qt5-webkit/mingw-w64/0009-Establish-compatibility-with-latest-ANGLE.patch @@ -1,7 +1,7 @@ -From 7a3dd9192f8b86e9704226cb1cee509b5403788b Mon Sep 17 00:00:00 2001 +From ec2f7c510e98db427adef02879330a06daa7f3f7 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:19:57 +0200 -Subject: [PATCH 09/10] Establish compatibility with latest ANGLE +Subject: [PATCH 09/11] Establish compatibility with latest ANGLE --- .../platform/graphics/ANGLEWebKitBridge.cpp | 126 ++++----------------- @@ -237,5 +237,5 @@ index 29a13c8..9069957 100644 if (m_requiresBuiltInFunctionEmulation) extraCompileOptions |= SH_EMULATE_BUILT_IN_FUNCTIONS; -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch b/qt5-webkit/mingw-w64/0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch index e02d3bbc..40de3dea 100644 --- a/qt5-webkit/mingw-w64/0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch +++ b/qt5-webkit/mingw-w64/0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch @@ -1,7 +1,7 @@ -From 747482bfb5c4878e019982c7165627979de9b63d Mon Sep 17 00:00:00 2001 +From bfcd0b75a13d6ff4b277382ab4264919b27a08e5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 25 Sep 2016 22:21:54 +0200 -Subject: [PATCH 10/10] Include intrin.h for declaration of _mm_mfence +Subject: [PATCH 10/11] Include intrin.h for declaration of _mm_mfence --- Source/WTF/wtf/Atomics.h | 2 ++ @@ -21,5 +21,5 @@ index 8f950c7..142c0db 100644 #include #elif OS(QNX) -- -2.10.0 +2.10.2 diff --git a/qt5-webkit/mingw-w64/0011-Link-against-ANGLE-even-if-Qt-is-configured-for-dyna.patch b/qt5-webkit/mingw-w64/0011-Link-against-ANGLE-even-if-Qt-is-configured-for-dyna.patch new file mode 100644 index 00000000..53fb5d67 --- /dev/null +++ b/qt5-webkit/mingw-w64/0011-Link-against-ANGLE-even-if-Qt-is-configured-for-dyna.patch @@ -0,0 +1,26 @@ +From 8a3eff09ffc9f1c29abed87a36afffdf9d483345 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sat, 5 Nov 2016 12:46:27 +0100 +Subject: [PATCH 11/11] Link against ANGLE even if Qt is configured for dynamic + OpenGL + +--- + Source/WebCore/WebCore.pri | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri +index ddad897..998a914 100644 +--- a/Source/WebCore/WebCore.pri ++++ b/Source/WebCore/WebCore.pri +@@ -216,7 +216,7 @@ use?(3D_GRAPHICS) { + win32: { + mingw: { + # Make sure OpenGL libs are after the webcore lib so MinGW can resolve symbols +- contains(QT_CONFIG, opengles2) { ++ contains(QT_CONFIG, opengles2)|contains(QT_CONFIG, dynamicgl) { + CONFIG(debug, debug|release):contains(QT_CONFIG, angle) { + LIBS += $$QMAKE_LIBS_OPENGL_ES2_DEBUG + } else { +-- +2.10.2 + diff --git a/qt5-webkit/mingw-w64/PKGBUILD b/qt5-webkit/mingw-w64/PKGBUILD index 08ddb6dd..df9b3cc8 100644 --- a/qt5-webkit/mingw-w64/PKGBUILD +++ b/qt5-webkit/mingw-w64/PKGBUILD @@ -32,7 +32,7 @@ depends=('mingw-w64-qt5-declarative' 'mingw-w64-icu' 'mingw-w64-sqlite' 'mingw-w64-libwebp') -# these dependencies will enable further functionality +# These dependencies will enable further functionality #depends+=('mingw-w64-webchannel') #depends+=('mingw-w64-gst-plugins-base') #optdepends+=('mingw-w64-gst-plugins-good: Webm codec support') @@ -52,18 +52,20 @@ source=("https://download.qt.io/community_releases/${pkgver:0:3}/${pkgver}/${_pk '0007-Build-with-smaller-debug-info.patch' '0008-Fix-build-failure-due-to-building-without-ICU.patch' '0009-Establish-compatibility-with-latest-ANGLE.patch' - '0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch') + '0010-Include-intrin.h-for-declaration-of-_mm_mfence.patch' + '0011-Link-against-ANGLE-even-if-Qt-is-configured-for-dyna.patch') md5sums=('9379b8829639645c184fa63532035098' - '1dc972b810d5b0db2a06ae4fb9a04949' - '202eb07eec8f378d90b9c9d1c330223e' - 'cfa65552c15c768e4f44a78e8eaf7bd6' - '464e463e5c88329809b2615c3170cce0' - '306c56d68a2f17a9208d7423c2e02b7f' - 'a90c6a7b0b1cbf592ed6af969577fffc' - '385b803e7a28751a75b914187533bb95' - '00c239de9f06098d1410c8a9f57d01c6' - '29576167338936839f4b2f0f44318f1d' - '710d0631597b3fbb77246376f74fb2f9') + 'f6ddbf0e11d0eee39b50229a8afbd880' + '9305257168e259e7f94cd58393b9680c' + '41db74a7707fdd0aa9b7a61cf2bd2d96' + 'ca2377c17a1f70ba89c8ae76ebf78627' + '4427d61a4703048b11119f36d58738a8' + 'd6aeffcfc72397d85191bc19f464eb28' + 'cab7dbd33ff8a89b794275187e9e3ada' + 'f68edefadc250765c8f2b28b9e400e77' + '6216d2024eb88b5780d7a50793dfa996' + '5165c996fa761a5dc6de69e27246865c' + '09f63193a742155fa6747f1978d2a3a6') _architectures='i686-w64-mingw32 x86_64-w64-mingw32'