summaryrefslogtreecommitdiff
path: root/Tools/qt
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2017-01-27 08:36:56 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:31:42 +0000
commit6b406688a4020916ba2966e6e5252d9c1385970f (patch)
tree65af619b76adb44fee03f2e496a2e4dc5c455dd8 /Tools/qt
parent46167faa61861b01a0e4e8e774da9febc3c2956e (diff)
downloadqtwebkit-6b406688a4020916ba2966e6e5252d9c1385970f.tar.gz
Imported WebKit commit bdab88b903fe1a254c80af20161183976670cd3b
Change-Id: Idc1156f4a64df4e7d89e90d4e03451f004c8ae6d Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools/qt')
-rwxr-xr-xTools/qt/convert-prl-libs-to-cmake.pl39
-rw-r--r--Tools/qt/jhbuild-qt-5.4.modules59
-rw-r--r--Tools/qt/jhbuild.modules28
-rw-r--r--Tools/qt/jhbuildrc6
-rwxr-xr-xTools/qt/make-snapshot.pl22
-rw-r--r--Tools/qt/manifest.txt5
-rw-r--r--Tools/qt/patches/qtbase-5.4-fontconfig-fix.patch (renamed from Tools/qt/patches/qt-5.4-fontconfig-fix.patch)12
7 files changed, 124 insertions, 47 deletions
diff --git a/Tools/qt/convert-prl-libs-to-cmake.pl b/Tools/qt/convert-prl-libs-to-cmake.pl
index 1b304228c..40fab403c 100755
--- a/Tools/qt/convert-prl-libs-to-cmake.pl
+++ b/Tools/qt/convert-prl-libs-to-cmake.pl
@@ -4,26 +4,23 @@
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. Neither the name of Apple Inc. ("Apple") nor the names of
-# its contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGE.
use File::Basename;
use File::Spec;
@@ -58,7 +55,7 @@ my $prl_name = File::Spec->join($qt_lib_dir, "$qt_lib_base.prl");
my $qmake_prl_libs;
open(my $prl, '<', $prl_name) or die "Cannot open $prl_name: $!";
-while(<$prl>) {
+while (<$prl>) {
next unless /^QMAKE_PRL_LIBS/;
chomp;
if (/^QMAKE_PRL_LIBS\s+=\s+(.*)$/) {
@@ -68,7 +65,7 @@ while(<$prl>) {
}
close $prl;
-unless($qmake_prl_libs) {
+unless ($qmake_prl_libs) {
print "QMAKE_PRL_LIBS variable is undefined or empty\n";
exit;
}
diff --git a/Tools/qt/jhbuild-qt-5.4.modules b/Tools/qt/jhbuild-qt-5.4.modules
index 3e9c4f57c..924a19a6b 100644
--- a/Tools/qt/jhbuild-qt-5.4.modules
+++ b/Tools/qt/jhbuild-qt-5.4.modules
@@ -3,16 +3,28 @@
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
+ <metamodule id="qt">
+ <dependencies>
+ <dep package="qtbase"/>
+ <dep package="qtlocation"/>
+ <dep package="qtsensors"/>
+ </dependencies>
+ </metamodule>
+
<repository type="tarball" name="download.qt.io"
href="http://download.qt.io"/>
- <autotools id="qt"
+ <autotools id="qtbase"
+ supports-non-srcdir-builds="no"
makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
autogen-template="%(srcdir)s/%(autogen-sh)s -prefix %(prefix)s -I%(prefix)s/include -L%(prefix)s/lib -libdir %(prefix)s/lib"
autogen-sh="configure
-opensource
-confirm-license
+ -force-debug-info
+ -separate-debug-info
+
-icu
-openssl
-openssl-linked
@@ -21,22 +33,6 @@
-nomake tools
-nomake tests
- -skip connectivity
- -skip enginio
- -skip graphicaleffects
- -skip imageformats
- -skip multimedia
- -skip quickcontrols
- -skip script
- -skip serialport
- -skip svg
- -skip translations
- -skip wayland
- -skip webengine
- -skip webkit
- -skip x11extras
- -skip xmlpatterns
-
-system-harfbuzz
-system-freetype
-system-libjpeg
@@ -62,10 +58,10 @@
-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite2 -no-sql-tds
-plugin-sql-sqlite
">
- <branch module="archive/qt/5.4/${version}/single/qt-everywhere-opensource-src-${version}.tar.xz" version="5.4.0"
+ <branch module="archive/qt/5.4/${version}/submodules/qtbase-opensource-src-${version}.tar.xz" version="5.4.0"
repo="download.qt.io"
- hash="sha256:b2d9df47b9fd2fcfa5ebd162e1373b7eddf4759e6ba148c4589f3d8b6628c39c">
- <patch file="qt-5.4-fontconfig-fix.patch" strip="1"/>
+ hash="sha256:daea240ba5e77bc2d78ec21a2cb664eed83b3d4ad409b6277a6f7d4c0c8e91d1">
+ <patch file="qtbase-5.4-fontconfig-fix.patch" strip="1"/>
</branch>
<dependencies>
<dep package="fontconfig"/>
@@ -76,4 +72,27 @@
</dependencies>
</autotools>
+ <autotools id="qtlocation"
+ autogen-template="%(prefix)s/bin/qmake %(srcdir)s"
+ makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
+ supports-non-srcdir-builds="no">
+ <branch module="archive/qt/5.4/${version}/submodules/qtlocation-opensource-src-${version}.tar.xz" version="5.4.0"
+ repo="download.qt.io"
+ hash="sha256:e8420c1b5fdddbc44faa7aa1c653da91dc101055a869dcb518326188be81d456"/>
+ <dependencies>
+ <dep package="qtbase"/>
+ </dependencies>
+ </autotools>
+
+ <autotools id="qtsensors"
+ autogen-template="%(prefix)s/bin/qmake %(srcdir)s"
+ makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
+ supports-non-srcdir-builds="no">
+ <branch module="archive/qt/5.4/${version}/submodules/qtsensors-opensource-src-${version}.tar.xz" version="5.4.0"
+ repo="download.qt.io"
+ hash="sha256:8a0f33ccf572b9fbcdc46fca602d75270979a2f851b6a1f399d039b1f7aae159"/>
+ <dependencies>
+ <dep package="qtbase"/>
+ </dependencies>
+ </autotools>
</moduleset>
diff --git a/Tools/qt/jhbuild.modules b/Tools/qt/jhbuild.modules
index 3053b1d2c..9a10e9f39 100644
--- a/Tools/qt/jhbuild.modules
+++ b/Tools/qt/jhbuild.modules
@@ -19,6 +19,10 @@
<dep package="gst-libav"/>
<dep package="openwebrtc"/>
<dep package="qt"/>
+ <if condition-set="linux">
+ <dep package="llvm"/>
+ <dep package="mesa"/>
+ </if>
</dependencies>
</metamodule>
@@ -47,6 +51,10 @@
href="http://webkitgtk.org/jhbuild_mirror/"/>
<repository type="tarball" name="nice.freedesktop.org"
href="http://nice.freedesktop.org/"/>
+ <repository type="tarball" name="people.freedesktop.org"
+ href="http://people.freedesktop.org"/>
+ <repository type="tarball" name="llvm.org"
+ href="http://llvm.org"/>
<autotools id="fonts" supports-non-srcdir-builds="no"
skip-autogen="true">
@@ -258,4 +266,24 @@
</branch>
</autotools>
+ <autotools id="llvm"
+ autogenargs="--enable-optimized --disable-terminfo --disable-zlib --enable-targets=host --disable-backtraces --disable-crash-overrides --disable-expensive-checks --disable-debug-runtime --disable-assertions --enable-shared">
+ <branch repo="llvm.org"
+ module="/releases/3.7.0/llvm-3.7.0.src.tar.xz" version="3.7.0" checkoutdir="llvm-3.7.0"
+ hash="sha256:ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153"/>
+ </autotools>
+
+ <autotools id="mesa" autogenargs="--enable-xlib-glx --disable-dri --disable-egl --with-gallium-drivers=swrast" skip-install="true">
+ <!--- WARNING: At jhbuildrc, when we define the path to the Gallium llvmpipe software rasterizer (needed by XvfbDriver),
+ we assume that the directory is named "Mesa". So, don't change the checkoutdir name even if you update the version. -->
+ <branch module="/~brianp/mesa/11.0.6/mesa-11.0.6.tar.xz" version="11.0.6"
+ checkoutdir="Mesa"
+ repo="people.freedesktop.org"
+ hash="sha256:8340e64cdc91999840404c211496f3de38e7b4cb38db34e2f72f1642c5134760">
+ </branch>
+ <dependencies>
+ <dep package="llvm"/>
+ </dependencies>
+ </autotools>
+
</moduleset>
diff --git a/Tools/qt/jhbuildrc b/Tools/qt/jhbuildrc
index 58dea347f..d7f9b6f40 100644
--- a/Tools/qt/jhbuildrc
+++ b/Tools/qt/jhbuildrc
@@ -22,3 +22,9 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../jhbuild") )
import jhbuildrc_common
jhbuildrc_common.init(globals(), "qt")
+
+# LLVM requires that builddir != srcdir, and it's not possible to do that in jhbuild only
+# for a module, so we do it here globally since it's a good idea for all other modules as well.
+buildroot = os.path.join(os.path.dirname(checkoutroot), "Build")
+
+os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(buildroot, 'Mesa', 'lib', 'gallium'))
diff --git a/Tools/qt/make-snapshot.pl b/Tools/qt/make-snapshot.pl
index 27c5621d6..316fe7b35 100755
--- a/Tools/qt/make-snapshot.pl
+++ b/Tools/qt/make-snapshot.pl
@@ -1,4 +1,26 @@
#!/usr/bin/env perl
+# Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGE.
use Cwd;
use File::Basename;
diff --git a/Tools/qt/manifest.txt b/Tools/qt/manifest.txt
index 624fe3ba1..5d06c4530 100644
--- a/Tools/qt/manifest.txt
+++ b/Tools/qt/manifest.txt
@@ -80,6 +80,11 @@ file Source/WebCore/platform/win/SystemInfo.h
file Source/WebCore/platform/win/WebCoreInstanceHandle.cpp
file Source/WebCore/platform/win/WebCoreInstanceHandle.h
+# macOS-specific code
+file Source/WTF/wtf/cf
+file Source/WTF/wtf/text/cf
+file Source/WebCore/platform/cf/SharedBufferCF.cpp
+
# WK1 plugin code is in WebKit/win
file Source/WebKit/win/Plugins
diff --git a/Tools/qt/patches/qt-5.4-fontconfig-fix.patch b/Tools/qt/patches/qtbase-5.4-fontconfig-fix.patch
index 07395fe72..a6375fe28 100644
--- a/Tools/qt/patches/qt-5.4-fontconfig-fix.patch
+++ b/Tools/qt/patches/qtbase-5.4-fontconfig-fix.patch
@@ -13,10 +13,10 @@ Change-Id: If9ee3e185c42af10c05ae3852d088881da1d4f1a
.../fontdatabases/fontconfig/qfontconfigdatabase_p.h | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
-diff --git a/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
+diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
index 8ebabf3..194f66c 100644
---- a/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
-+++ b/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
+--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
++++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
@@ -471,7 +471,7 @@ static void populateFromPattern(FcPattern *pattern)
void QFontconfigDatabase::populateFontDatabase()
@@ -39,10 +39,10 @@ index 8ebabf3..194f66c 100644
QFontEngineMulti *QFontconfigDatabase::fontEngineMulti(QFontEngine *fontEngine, QChar::Script script)
{
return new QFontEngineMultiFontConfig(fontEngine, script);
-diff --git a/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
+diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
index 2199f39..ab77fab 100644
---- a/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
-+++ b/qtbase/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
+--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
++++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
@@ -56,6 +56,7 @@ class QFontconfigDatabase : public QBasicFontDatabase
{
public: