diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2017-01-27 08:36:56 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:31:42 +0000 |
commit | 6b406688a4020916ba2966e6e5252d9c1385970f (patch) | |
tree | 65af619b76adb44fee03f2e496a2e4dc5c455dd8 /Tools/qt | |
parent | 46167faa61861b01a0e4e8e774da9febc3c2956e (diff) | |
download | qtwebkit-6b406688a4020916ba2966e6e5252d9c1385970f.tar.gz |
Imported WebKit commit bdab88b903fe1a254c80af20161183976670cd3b
Change-Id: Idc1156f4a64df4e7d89e90d4e03451f004c8ae6d
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools/qt')
-rwxr-xr-x | Tools/qt/convert-prl-libs-to-cmake.pl | 39 | ||||
-rw-r--r-- | Tools/qt/jhbuild-qt-5.4.modules | 59 | ||||
-rw-r--r-- | Tools/qt/jhbuild.modules | 28 | ||||
-rw-r--r-- | Tools/qt/jhbuildrc | 6 | ||||
-rwxr-xr-x | Tools/qt/make-snapshot.pl | 22 | ||||
-rw-r--r-- | Tools/qt/manifest.txt | 5 | ||||
-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: |