[mingw-qt5-qtwebkit] Update to 5.4.0

Erik van Pienbroek epienbro at fedoraproject.org
Thu Jan 1 20:32:42 UTC 2015


commit 73b22da4faa75c1be3efbae08ad90082ae234f03
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Thu Jan 1 21:32:49 2015 +0100

    Update to 5.4.0

 .gitignore                                         |    1 +
 changeset_150223.diff                              |   11 --
 mingw-qt5-qtwebkit.spec                            |   42 +++----
 qt5-qtwebkit-dont-depend-on-icu.patch              |   27 +++--
 ...ebkit-fix-compatibility-with-latest-angle.patch |  133 ++++++++++++++++++++
 qt5-qtwebkit-use-correct-icu-libs.patch            |   16 ++--
 qtwebkit-dont-use-bundled-angle-libraries.patch    |    6 +-
 sources                                            |    2 +-
 8 files changed, 184 insertions(+), 54 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 80792e0..80916d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 /qtwebkit-opensource-src-5.3.0.tar.xz
 /qtwebkit-opensource-src-5.3.1.tar.xz
 /qtwebkit-opensource-src-5.3.2.tar.xz
+/qtwebkit-opensource-src-5.4.0.tar.xz
diff --git a/mingw-qt5-qtwebkit.spec b/mingw-qt5-qtwebkit.spec
index fafdba1..8b0a3b0 100644
--- a/mingw-qt5-qtwebkit.spec
+++ b/mingw-qt5-qtwebkit.spec
@@ -17,7 +17,7 @@
 %global release_version %(echo %{version} | awk -F. '{print $1"."$2}')
 
 Name:           mingw-qt5-%{qt_module}
-Version:        5.3.2
+Version:        5.4.0
 Release:        1%{?pre:.%{pre}}%{?snapshot_date:.git%{snapshot_date}.%{snapshot_rev}}%{?dist}
 Summary:        Qt5 for Windows - QtWebKit component
 
@@ -40,12 +40,12 @@ Source0:        http://download.qt-project.org/official_releases/qt/%{release_ve
 BuildArch:      noarch
 
 BuildRequires:  mingw32-filesystem >= 96
-BuildRequires:  mingw32-qt5-qtbase >= 5.3.2
-BuildRequires:  mingw32-qt5-qtdeclarative >= 5.3.2
-BuildRequires:  mingw32-qt5-qtsensors >= 5.3.2
-BuildRequires:  mingw32-qt5-qtlocation >= 5.3.2
-BuildRequires:  mingw32-qt5-qtmultimedia >= 5.3.2
-BuildRequires:  mingw32-angleproject >= 0-0.5.svn2215.20130517
+BuildRequires:  mingw32-qt5-qtbase >= 5.4.0
+BuildRequires:  mingw32-qt5-qtdeclarative >= 5.4.0
+BuildRequires:  mingw32-qt5-qtsensors >= 5.4.0
+BuildRequires:  mingw32-qt5-qtlocation >= 5.4.0
+BuildRequires:  mingw32-qt5-qtmultimedia >= 5.4.0
+BuildRequires:  mingw32-angleproject >= 0-0.11.git.30d6c2.20141113
 BuildRequires:  mingw32-fontconfig
 BuildRequires:  mingw32-libpng
 BuildRequires:  mingw32-libjpeg-turbo
@@ -57,12 +57,12 @@ BuildRequires:  mingw32-sqlite
 BuildRequires:  mingw32-libwebp
 
 BuildRequires:  mingw64-filesystem >= 96
-BuildRequires:  mingw64-qt5-qtbase >= 5.3.2
-BuildRequires:  mingw64-qt5-qtdeclarative >= 5.3.2
-BuildRequires:  mingw64-qt5-qtsensors >= 5.3.2
-BuildRequires:  mingw64-qt5-qtlocation >= 5.3.2
-BuildRequires:  mingw64-qt5-qtmultimedia >= 5.3.2
-BuildRequires:  mingw64-angleproject >= 0-0.5.svn2215.20130517
+BuildRequires:  mingw64-qt5-qtbase >= 5.4.0
+BuildRequires:  mingw64-qt5-qtdeclarative >= 5.4.0
+BuildRequires:  mingw64-qt5-qtsensors >= 5.4.0
+BuildRequires:  mingw64-qt5-qtlocation >= 5.4.0
+BuildRequires:  mingw64-qt5-qtmultimedia >= 5.4.0
+BuildRequires:  mingw64-angleproject >= 0-0.11.git.30d6c2.20141113
 BuildRequires:  mingw64-fontconfig
 BuildRequires:  mingw64-libpng
 BuildRequires:  mingw64-libjpeg-turbo
@@ -114,16 +114,14 @@ Patch5:         revert-qt4-unicode-removal.patch
 # in the Qt5WebKit.dll shared library)
 Patch6:         qt5-qtwebkit-workaround-build-breakage-after-svn-commit-136242.patch
 
-# Fix detection of native tools which started to fail as of QtWebkit 5.1.0
-# Caused by upstream commit 150223, so revert it for now
-Patch9:         changeset_150223.diff
-
 # smaller debuginfo s/-g/-g1/ (debian uses -gstabs) to avoid 4gb size limit
 Patch10:        qtwebkit-opensource-src-5.0.1-debuginfo.patch 
 
 # Revert commit 151422 to fix a build failure which happens because we're not using ICU
 Patch11:        webkit-commit-151422.patch
 
+# Fix compatibility issue when using the latest ANGLE
+Patch12:        qt5-qtwebkit-fix-compatibility-with-latest-angle.patch
 
 
 %description
@@ -169,9 +167,9 @@ Fedora Windows cross-compiler.
 %patch4 -p1 -b .no_icu
 %patch5 -p1 -b .qt4_unicode -R
 %patch6 -p0 -b .export
-%patch9 -p1 -b .tools -R
 %patch10 -p1 -b .debuginfo
 %patch11 -p1 -b .no_icu -R
+%patch12 -p1 -b .angle_git
 
 # Make sure the bundled copy of the ANGLE libraries isn't used
 rm -rf Source/ThirdParty/ANGLE
@@ -193,11 +191,6 @@ unset PKG_CONFIG_PATH
 # .prl files aren't interesting for us
 find $RPM_BUILD_ROOT -name "*.prl" -delete
 
-# The .dll's are installed in both %%{mingw32_bindir} and %%{mingw32_libdir}
-# One copy of the .dll's is sufficient
-rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.dll
-rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.dll
-
 # The QtWebProcess executable is placed in the wrong folder, move it manually
 mv $RPM_BUILD_ROOT%{mingw32_datadir}/qt5/bin/QtWebProcess.exe $RPM_BUILD_ROOT%{mingw32_bindir}/
 mv $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/bin/QtWebProcess.exe $RPM_BUILD_ROOT%{mingw64_bindir}/
@@ -247,6 +240,9 @@ mv $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/bin/QtWebProcess.exe $RPM_BUILD_ROOT%{m
 
 
 %changelog
+* Mon Dec 29 2014 Erik van Pienbroek <epienbro at fedoraproject.org> - 5.4.0-1
+- Update to 5.4.0
+
 * Sat Sep 20 2014 Erik van Pienbroek <epienbro at fedoraproject.org> - 5.3.2-1
 - Update to 5.3.2
 
diff --git a/qt5-qtwebkit-dont-depend-on-icu.patch b/qt5-qtwebkit-dont-depend-on-icu.patch
index 9364b81..1226704 100644
--- a/qt5-qtwebkit-dont-depend-on-icu.patch
+++ b/qt5-qtwebkit-dont-depend-on-icu.patch
@@ -1,23 +1,23 @@
 --- qtwebkit-opensource-src-5.0.0/Tools/qmake/mkspecs/features/configure.prf.orig	2013-01-04 18:56:36.785550268 +0100
 +++ qtwebkit-opensource-src-5.0.0/Tools/qmake/mkspecs/features/configure.prf	2013-01-04 18:58:20.047373664 +0100
-@@ -110,9 +110,9 @@
+@@ -115,9 +115,9 @@
      }
  
      # Sanity checks that would prevent us from building the whole project altogether.
--    !mac:!contains(QT_CONFIG,icu) {
--        addReasonForSkippingBuild("ICU is required. To build QtWebKit with Qt 5 you need to build Qt 5 with libICU support. Check for ICU support being mentioned in qtbase/config.summary.")
+-    !android:!mac:!config_icu {
+-       addReasonForSkippingBuild("ICU is required.")
 -    }
-+#    !mac:!contains(QT_CONFIG,icu) {
-+#        addReasonForSkippingBuild("ICU is required. To build QtWebKit with Qt 5 you need to build Qt 5 with libICU support. Check for ICU support being mentioned in qtbase/config.summary.")
++#    !android:!mac:!config_icu {
++#       addReasonForSkippingBuild("ICU is required.")
 +#    }
      production_build:blackberry|qnx {
          addReasonForSkippingBuild("Build not supported on BB10/QNX yet.")
      }
 --- qtwebkit-opensource-src-5.0.0/Source/WTF/wtf/Platform.h.orig	2013-01-04 19:28:53.735934784 +0100
 +++ qtwebkit-opensource-src-5.0.0/Source/WTF/wtf/Platform.h	2013-01-04 19:28:13.856641177 +0100
-@@ -545,9 +545,13 @@
- 
- #endif  /* OS(WINCE) && !PLATFORM(QT) */
+@@ -580,9 +580,13 @@
+ # define WTF_USE_WCHAR_UNICODE 1
+ #endif
  
 +#if OS(WINDOWS) && PLATFORM(QT)
 +#define WTF_USE_QT4_UNICODE 1
@@ -254,3 +254,14 @@
      {
          TextBreakIterator* lineBreakIterator = 0;
          if (staticLineBreakIterator) {
+--- qtwebkit-opensource-src-5.4.0/Tools/qmake/mkspecs/features/features.prf.orig	2014-12-29 23:30:47.372582743 +0100
++++ qtwebkit-opensource-src-5.4.0/Tools/qmake/mkspecs/features/features.prf	2014-12-29 23:31:08.021797817 +0100
+@@ -142,7 +142,7 @@
+     # IndexedDB requires leveldb
+     enable?(indexed_database): WEBKIT_CONFIG += use_leveldb
+ 
+-    !config_icu:!mac: WEBKIT_CONFIG += use_wchar_unicode
++#    !config_icu:!mac: WEBKIT_CONFIG += use_wchar_unicode
+ 
+     export(WEBKIT_CONFIG)
+     export(CONFIGURE_WARNINGS)
diff --git a/qt5-qtwebkit-fix-compatibility-with-latest-angle.patch b/qt5-qtwebkit-fix-compatibility-with-latest-angle.patch
new file mode 100644
index 0000000..2330ee5
--- /dev/null
+++ b/qt5-qtwebkit-fix-compatibility-with-latest-angle.patch
@@ -0,0 +1,133 @@
+--- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h.orig	2014-12-29 22:48:34.532357391 +0100
++++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h	2014-12-29 23:01:26.254334924 +0100
+@@ -35,13 +35,14 @@
+ #include "GLSLANG/ShaderLang.h"
+ #else
+ #include "ShaderLang.h"
++#include "angle_gl.h"
+ #endif
+ 
+ namespace WebCore {
+ 
+ enum ANGLEShaderType {
+-    SHADER_TYPE_VERTEX = SH_VERTEX_SHADER,
+-    SHADER_TYPE_FRAGMENT = SH_FRAGMENT_SHADER,
++    SHADER_TYPE_VERTEX = GL_VERTEX_SHADER,
++    SHADER_TYPE_FRAGMENT = GL_FRAGMENT_SHADER,
+ };
+ 
+ enum ANGLEShaderSymbolType {
+@@ -53,17 +54,17 @@
+     ANGLEShaderSymbolType symbolType;
+     String name;
+     String mappedName;
+-    ShDataType dataType;
++    sh::GLenum dataType;
+     int size;
+     bool isArray;
+ 
+     bool isSampler() const
+     {
+         return symbolType == SHADER_SYMBOL_TYPE_UNIFORM
+-            && (dataType == SH_SAMPLER_2D
+-            || dataType == SH_SAMPLER_CUBE
+-            || dataType == SH_SAMPLER_2D_RECT_ARB
+-            || dataType == SH_SAMPLER_EXTERNAL_OES);
++            && (dataType == GL_SAMPLER_2D
++            || dataType == GL_SAMPLER_CUBE
++            || dataType == GL_SAMPLER_2D_RECT_ARB
++            || dataType == GL_SAMPLER_EXTERNAL_OES);
+     }
+ };
+ 
+--- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp.orig	2014-12-29 23:37:30.636783007 +0100
++++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp	2014-12-30 12:00:39.524299653 +0100
+@@ -42,7 +42,7 @@
+ inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
+ {
+     ANGLEGetInfoType value = 0;
+-    ShGetInfo(compiler, shaderInfo, &value);
++    ShGetInfo(compiler, (ShShaderInfo) shaderInfo, &value);
+     return value;
+ }
+ 
+@@ -51,11 +51,11 @@
+     ShShaderInfo symbolMaxNameLengthType;
+ 
+     switch (symbolType) {
+-    case SH_ACTIVE_ATTRIBUTES:
+-        symbolMaxNameLengthType = SH_ACTIVE_ATTRIBUTE_MAX_LENGTH;
++    case GL_ACTIVE_ATTRIBUTES:
++        symbolMaxNameLengthType = (ShShaderInfo) GL_ACTIVE_ATTRIBUTE_MAX_LENGTH;
+         break;
+-    case SH_ACTIVE_UNIFORMS:
+-        symbolMaxNameLengthType = SH_ACTIVE_UNIFORM_MAX_LENGTH;
++    case GL_ACTIVE_UNIFORMS:
++        symbolMaxNameLengthType = (ShShaderInfo) GL_ACTIVE_UNIFORM_MAX_LENGTH;
+         break;
+     default:
+         ASSERT_NOT_REACHED();
+@@ -79,14 +79,16 @@
+     for (ANGLEGetInfoType i = 0; i < numSymbols; ++i) {
+         ANGLEShaderSymbol symbol;
+         ANGLEGetInfoType nameLength = 0;
++        ShPrecisionType precision = SH_PRECISION_UNDEFINED;
++        int staticUse = 0;
+         switch (symbolType) {
+-        case SH_ACTIVE_ATTRIBUTES:
++        case GL_ACTIVE_ATTRIBUTES:
+             symbol.symbolType = SHADER_SYMBOL_TYPE_ATTRIBUTE;
+-            ShGetActiveAttrib(compiler, i, &nameLength, &symbol.size, &symbol.dataType, nameBuffer.data(), mappedNameBuffer.data());
++            ShGetVariableInfo(compiler, SH_ACTIVE_ATTRIBUTES, i, &nameLength, &symbol.size, &symbol.dataType, &precision, &staticUse, nameBuffer.data(), mappedNameBuffer.data());
+             break;
+-        case SH_ACTIVE_UNIFORMS:
++        case GL_ACTIVE_UNIFORMS:
+             symbol.symbolType = SHADER_SYMBOL_TYPE_UNIFORM;
+-            ShGetActiveUniform(compiler, i, &nameLength, &symbol.size, &symbol.dataType, nameBuffer.data(), mappedNameBuffer.data());
++            ShGetVariableInfo(compiler, SH_ACTIVE_UNIFORMS, i, &nameLength, &symbol.size, &symbol.dataType, &precision, &staticUse, nameBuffer.data(), mappedNameBuffer.data());
+             break;
+         default:
+             ASSERT_NOT_REACHED();
+@@ -170,8 +172,8 @@
+ bool ANGLEWebKitBridge::compileShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog, Vector<ANGLEShaderSymbol>& symbols, int extraCompileOptions)
+ {
+     if (!builtCompilers) {
+-        m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
+-        m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
++        m_fragmentCompiler = ShConstructCompiler(GL_FRAGMENT_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
++        m_vertexCompiler = ShConstructCompiler(GL_VERTEX_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
+         if (!m_fragmentCompiler || !m_vertexCompiler) {
+             cleanupCompilers();
+             return false;
+@@ -189,7 +191,7 @@
+ 
+     const char* const shaderSourceStrings[] = { shaderSource };
+ 
+-    bool validateSuccess = ShCompile(compiler, shaderSourceStrings, 1, SH_OBJECT_CODE | SH_ATTRIBUTES_UNIFORMS | extraCompileOptions);
++    bool validateSuccess = ShCompile(compiler, shaderSourceStrings, 1, SH_OBJECT_CODE | SH_VARIABLES | extraCompileOptions);
+     if (!validateSuccess) {
+         int logSize = getValidationResultValue(compiler, SH_INFO_LOG_LENGTH);
+         if (logSize > 1) {
+@@ -211,9 +213,9 @@
+         translatedShaderSource = translationBuffer.get();
+     }
+     
+-    if (!getSymbolInfo(compiler, SH_ACTIVE_ATTRIBUTES, symbols))
++    if (!getSymbolInfo(compiler, (ShShaderInfo) GL_ACTIVE_ATTRIBUTES, symbols))
+         return false;
+-    if (!getSymbolInfo(compiler, SH_ACTIVE_UNIFORMS, symbols))
++    if (!getSymbolInfo(compiler, (ShShaderInfo) GL_ACTIVE_UNIFORMS, symbols))
+         return false;
+ 
+     return true;
+--- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp.orig	2014-12-30 12:11:43.450097601 +0100
++++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp	2014-12-30 12:13:46.812361166 +0100
+@@ -172,7 +172,7 @@
+ 
+     String translatedShaderSource;
+     String shaderInfoLog;
+-    int extraCompileOptions = SH_MAP_LONG_VARIABLE_NAMES | SH_CLAMP_INDIRECT_ARRAY_BOUNDS;
++    int extraCompileOptions = SH_CLAMP_INDIRECT_ARRAY_BOUNDS;
+ 
+     if (m_requiresBuiltInFunctionEmulation)
+         extraCompileOptions |= SH_EMULATE_BUILT_IN_FUNCTIONS;
diff --git a/qt5-qtwebkit-use-correct-icu-libs.patch b/qt5-qtwebkit-use-correct-icu-libs.patch
index c39e2c4..f350ed2 100644
--- a/qt5-qtwebkit-use-correct-icu-libs.patch
+++ b/qt5-qtwebkit-use-correct-icu-libs.patch
@@ -1,11 +1,11 @@
 --- Source/WTF/WTF.pri.orig	2012-09-13 20:58:45.888254227 +0200
 +++ Source/WTF/WTF.pri	2012-09-13 20:59:01.874364654 +0200
-@@ -15,7 +15,7 @@
+@@ -14,7 +14,7 @@
+     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
      LIBS += -licucore
- } else {
-     contains(QT_CONFIG,icu) {
--        win32: LIBS += -licuin -licuuc -licudt
-+        win32:!mingw: LIBS += -licuin -licuuc -licudt
-         else:!contains(QT_CONFIG,no-pkg-config):packagesExist("icu-i18n"): PKGCONFIG *= icu-i18n
-         else:android: LIBS += -licui18n -licuuc
-         else: LIBS += -licui18n -licuuc -licudata
+ } else:!use?(wchar_unicode): {
+-    win32: LIBS += -licuin -licuuc -licudt
++    win32:!mingw: LIBS += -licuin -licuuc -licudt
+     else:!contains(QT_CONFIG,no-pkg-config):packagesExist("icu-i18n"): PKGCONFIG *= icu-i18n
+     else:android: LIBS += -licui18n -licuuc
+     else: LIBS += -licui18n -licuuc -licudata
diff --git a/qtwebkit-dont-use-bundled-angle-libraries.patch b/qtwebkit-dont-use-bundled-angle-libraries.patch
index 0e41f19..2743132 100644
--- a/qtwebkit-dont-use-bundled-angle-libraries.patch
+++ b/qtwebkit-dont-use-bundled-angle-libraries.patch
@@ -15,15 +15,15 @@
      leveldb.makefile = Makefile.leveldb
 --- qtwebkit-opensource-src-5.0.0/Source/WebCore/Target.pri.orig	2013-01-04 01:58:25.145960916 +0100
 +++ qtwebkit-opensource-src-5.0.0/Source/WebCore/Target.pri	2013-01-04 01:58:53.245166218 +0100
-@@ -4160,7 +4160,7 @@
+@@ -4194,7 +4194,7 @@
          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) {
-         !contains(QT_CONFIG, opengles2) {
+     contains(QT_CONFIG, opengl) {
+         contains(QT_CONFIG, opengles2) {
 --- qtwebkit-opensource-src-5.0.0/Tools/qmake/mkspecs/modules/angle.prf.orig	2013-01-04 02:25:16.357429590 +0100
 +++ qtwebkit-opensource-src-5.0.0/Tools/qmake/mkspecs/modules/angle.prf	2013-01-04 02:25:29.383533741 +0100
 @@ -4,6 +4,3 @@
diff --git a/sources b/sources
index 83a6c7d..68f48db 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0497b5b46540848e0db6a9e219d756fb  qtwebkit-opensource-src-5.3.2.tar.xz
+e62d72c410dffe5129043f80f624c896  qtwebkit-opensource-src-5.4.0.tar.xz


More information about the scm-commits mailing list