[qtwebkit] qtwebkit-2.3-beta2

Rex Dieter rdieter at fedoraproject.org
Sat Feb 23 15:04:08 UTC 2013


commit 8e4a591dae7216fbae05d89279aec870b953857b
Author: Rex Dieter <rdieter at math.unl.edu>
Date:   Sat Feb 23 09:03:48 2013 -0600

    qtwebkit-2.3-beta2

 .gitignore                                         |    1 +
 ...solveRope-should-report-extra-memory-cost.patch |   40 --
 0003-Fix-build-with-GLib-2.31.patch                |  429 --------------------
 ...n-linux-i386-where-gcc-would-produce-warn.patch |   33 --
 qtwebkit-2.3-debuginfo.patch                       |   80 ++++
 qtwebkit-2.3-fontconfig.patch                      |    9 +
 qtwebkit-2.3-save_memory.patch                     |   12 +
 qtwebkit-64k-pagesize.patch                        |   15 -
 qtwebkit-svg_infinite_loop.patch                   |   13 -
 qtwebkit-webkit72285.patch                         |   43 --
 qtwebkit.spec                                      |   86 ++--
 sources                                            |    2 +-
 webkit-qtwebkit-2.2-debuginfo.patch                |   43 --
 webkit-qtwebkit-2.2tp1-qt46.patch                  |  282 -------------
 webkit-qtwebkit-ld.gold.patch                      |   23 -
 15 files changed, 147 insertions(+), 964 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c1bbf14..f5f2689 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /qtwebkit-developers-qtwebkit-qtwebkit-2.1.1.tar.xz
 /qtwebkit-2.2.2-source.tar.xz
+/qtwebkit-2.3-beta2.tar.xz
diff --git a/qtwebkit-2.3-debuginfo.patch b/qtwebkit-2.3-debuginfo.patch
new file mode 100644
index 0000000..8014056
--- /dev/null
+++ b/qtwebkit-2.3-debuginfo.patch
@@ -0,0 +1,80 @@
+diff -up webkit-qtwebkit-23/Source/JavaScriptCore/JavaScriptCore.pri.debuginfo webkit-qtwebkit-23/Source/JavaScriptCore/JavaScriptCore.pri
+--- webkit-qtwebkit-23/Source/JavaScriptCore/JavaScriptCore.pri.debuginfo	2013-02-15 09:46:12.000000000 -0600
++++ webkit-qtwebkit-23/Source/JavaScriptCore/JavaScriptCore.pri	2013-02-21 22:28:57.786764106 -0600
+@@ -7,6 +7,12 @@
+ 
+ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/JavaScriptCore
+ 
++#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
++#    message("JavaScriptCore workaround for QtWebkit: do not build with -g, but with -g1")
++#    QMAKE_CXXFLAGS_RELEASE -= -g
++#    QMAKE_CXXFLAGS_RELEASE += -g1
++#}
++
+ JAVASCRIPTCORE_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/JavaScriptCore/$${GENERATED_SOURCES_DESTDIR}
+ 
+ INCLUDEPATH += \
+diff -up webkit-qtwebkit-23/Source/WebCore/WebCore.pri.debuginfo webkit-qtwebkit-23/Source/WebCore/WebCore.pri
+--- webkit-qtwebkit-23/Source/WebCore/WebCore.pri.debuginfo	2013-02-21 22:28:57.791764043 -0600
++++ webkit-qtwebkit-23/Source/WebCore/WebCore.pri	2013-02-21 22:31:02.994198797 -0600
+@@ -7,6 +7,12 @@
+ 
+ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebCore
+ 
++equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
++    message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
++    QMAKE_CXXFLAGS_RELEASE -= -g
++    QMAKE_CXXFLAGS_RELEASE += -g1
++}
++
+ QT *= network
+ haveQt(5): QT *= core-private gui-private
+ 
+diff -up webkit-qtwebkit-23/Source/WebKit2/WebKit2.pri.debuginfo webkit-qtwebkit-23/Source/WebKit2/WebKit2.pri
+--- webkit-qtwebkit-23/Source/WebKit2/WebKit2.pri.debuginfo	2013-02-15 09:46:12.000000000 -0600
++++ webkit-qtwebkit-23/Source/WebKit2/WebKit2.pri	2013-02-21 22:28:57.786764106 -0600
+@@ -9,6 +9,12 @@ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/
+ 
+ WEBKIT2_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/WebKit2/$${GENERATED_SOURCES_DESTDIR}
+ 
++#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
++#    message("WebKit2 workaround for QtWebkit: do not build with -g, but with -g1")
++#    QMAKE_CXXFLAGS_RELEASE -= -g
++#    QMAKE_CXXFLAGS_RELEASE += -g1
++#}
++
+ INCLUDEPATH += \
+     $$SOURCE_DIR \
+     $$SOURCE_DIR/Platform \
+diff -up webkit-qtwebkit-23/Source/WebKit/WebKit1.pri.debuginfo webkit-qtwebkit-23/Source/WebKit/WebKit1.pri
+--- webkit-qtwebkit-23/Source/WebKit/WebKit1.pri.debuginfo	2013-02-15 09:46:12.000000000 -0600
++++ webkit-qtwebkit-23/Source/WebKit/WebKit1.pri	2013-02-21 22:28:57.787764093 -0600
+@@ -7,6 +7,12 @@
+ 
+ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebKit
+ 
++#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
++#    message("WebKit workaround for QtWebkit: do not build with -g, but with -g1")
++#    QMAKE_CXXFLAGS_RELEASE -= -g
++#    QMAKE_CXXFLAGS_RELEASE += -g1
++#}
++
+ INCLUDEPATH += \
+     $$SOURCE_DIR/qt/Api \
+     $$SOURCE_DIR/qt/WebCoreSupport \
+diff -up webkit-qtwebkit-23/Source/WTF/WTF.pri.debuginfo webkit-qtwebkit-23/Source/WTF/WTF.pri
+--- webkit-qtwebkit-23/Source/WTF/WTF.pri.debuginfo	2013-02-15 09:46:12.000000000 -0600
++++ webkit-qtwebkit-23/Source/WTF/WTF.pri	2013-02-21 22:28:57.787764093 -0600
+@@ -8,6 +8,12 @@
+ # All external modules should include WTF headers by prefixing with "wtf" (#include <wtf/some/thing.h>).
+ INCLUDEPATH += $$PWD
+ 
++#equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64) {
++#    message("WTF workaround for QtWebkit: do not build with -g, but with -g1")
++#    QMAKE_CXXFLAGS_RELEASE -= -g
++#    QMAKE_CXXFLAGS_RELEASE += -g1
++#}
++
+ haveQt(5) {
+     mac {
+         # Mac OS does ship libicu but not the associated header files.
diff --git a/qtwebkit-2.3-fontconfig.patch b/qtwebkit-2.3-fontconfig.patch
new file mode 100644
index 0000000..13ca3a4
--- /dev/null
+++ b/qtwebkit-2.3-fontconfig.patch
@@ -0,0 +1,9 @@
+diff -up webkit-qtwebkit-23/Source/WebCore/WebCore.pri.fontconfig webkit-qtwebkit-23/Source/WebCore/WebCore.pri
+--- webkit-qtwebkit-23/Source/WebCore/WebCore.pri.fontconfig	2013-02-21 22:28:57.789764068 -0600
++++ webkit-qtwebkit-23/Source/WebCore/WebCore.pri	2013-02-21 22:31:02.994198797 -0600
+@@ -356,4 +362,4 @@ contains(DEFINES, ENABLE_OPENCL=1) {
+ 
+ enable_fast_mobile_scrolling: DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
+ 
+-!production_build:contains(DEFINES, HAVE_FONTCONFIG=1): PKGCONFIG += fontconfig
++contains(DEFINES, HAVE_FONTCONFIG=1): PKGCONFIG += fontconfig
diff --git a/qtwebkit-2.3-save_memory.patch b/qtwebkit-2.3-save_memory.patch
new file mode 100644
index 0000000..6ccb158
--- /dev/null
+++ b/qtwebkit-2.3-save_memory.patch
@@ -0,0 +1,12 @@
+diff -up webkit-qtwebkit-23/Source/WebCore/WebCore.pri.save_memory webkit-qtwebkit-23/Source/WebCore/WebCore.pri
+--- webkit-qtwebkit-23/Source/WebCore/WebCore.pri.save_memory	2013-02-15 09:46:12.000000000 -0600
++++ webkit-qtwebkit-23/Source/WebCore/WebCore.pri	2013-02-21 16:42:30.996634743 -0600
+@@ -336,6 +336,8 @@ mac {
+ }
+ unix:!mac:*-g++*:QMAKE_CXXFLAGS += -fdata-sections
+ unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
++unix:!mac:*-g++*:!equals(QT_ARCH, powerpc):!equals(QT_ARCH, s390):!equals(QT_ARCH, mips):!equals(QT_ARCH, arm):QMAKE_LFLAGS += -Wl,--no-keep-memory
++unix:!mac:*-g++*:!equals(QT_ARCH, powerpc):!equals(QT_ARCH, s390):!equals(QT_ARCH, mips):!equals(QT_ARCH, arm):QMAKE_LFLAGS += -Wl,--reduce-memory-overheads
+ linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+ 
+ unix|win32-g++* {
diff --git a/qtwebkit.spec b/qtwebkit.spec
index 60c92aa..4781157 100644
--- a/qtwebkit.spec
+++ b/qtwebkit.spec
@@ -1,11 +1,12 @@
 
 Name: qtwebkit
-Version: 2.2.2
-Release: 9%{?dist}
+Version: 2.3
+Release: 0.1.beta2%{?dist}
 Summary: Qt WebKit bindings
 Group: System Environment/Libraries
 License: LGPLv2 with exceptions or GPLv3 with exceptions
 URL: http://trac.webkit.org/wiki/QtWebKit
+## This was how qtwebkit-2.2 did it (no longer works for 2.3)
 # get make-package.py:
 # $ git clone git://qt.gitorious.org/qtwebkit/tools.git
 # get Qt WebKit source code:
@@ -18,44 +19,37 @@ URL: http://trac.webkit.org/wiki/QtWebKit
 # $ tar xzf qtwebkit-2.2.2-source.tar.gz
 # $ mv qtwebkit-2.2.2-source/include qtwebkit-2.2.2-source/Source/
 # $ tar cJf qtwebkit-2.2.2-source.tar.xz qtwebkit-2.2.2-source/
-Source0: qtwebkit-%{version}-source.tar.xz
+##
+# download from https://gitorious.org/webkit/qtwebkit-23/archive-tarball/qtwebkit-2.3-beta2b
+# repack as .xz
+Source0:  qtwebkit-2.3-beta2.tar.xz
 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
 # search /usr/lib{,64}/mozilla/plugins-wrapped for browser plugins too
 Patch1: webkit-qtwebkit-2.2-tp1-pluginpath.patch
 
-# include -debuginfo except on s390(x) during linking of libQtWebKit
-Patch3: webkit-qtwebkit-2.2-debuginfo.patch
+# smaller debuginfo s/-g/-g1/ (debian uses -gstabs) to avoid 4gb size limit
+Patch3: qtwebkit-2.3-debuginfo.patch
 
-# fix for qt-4.6.x 
-Patch5: webkit-qtwebkit-2.2tp1-qt46.patch
+# tweak linker flags to minimize memory usage on "small" platforms
+Patch4: qtwebkit-2.3-save_memory.patch
 
-# gcc doesn't support flag -fuse-ld=gold
-Patch7: webkit-qtwebkit-ld.gold.patch
-
-# svg infinite loop 
-# https://projects.kde.org/news/177
-# https://bugs.webkit.org/show_bug.cgi?id=97258
-Patch8: qtwebkit-svg_infinite_loop.patch
-
-# fix 64k pagesize issue
-Patch9: qtwebkit-64k-pagesize.patch
+# don't disable fontconfig on production_build (linking fails)
+Patch5: qtwebkit-2.3-fontconfig.patch
 
 # use SYSTEM_MALLOC on ppc/ppc64
 Patch10: qtwebkit-ppc.patch
 
 ## upstream patches
-# https://bugzilla.redhat.com/891464
-# https://bugs.webkit.org/show_bug.cgi?id=72285
-Patch100: qtwebkit-webkit72285.patch
-Patch102: 0002-JSString-resolveRope-should-report-extra-memory-cost.patch
-Patch103: 0003-Fix-build-with-GLib-2.31.patch
-Patch105: 0005-Fix-build-on-linux-i386-where-gcc-would-produce-warn.patch
 
+BuildRequires: bison
 BuildRequires: chrpath
+BuildRequires: flex
+BuildRequires: gperf
 BuildRequires: libicu-devel
 BuildRequires: libjpeg-devel
 BuildRequires: pkgconfig(gio-2.0) pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(fontconfig)
 # gstreamer media support
 BuildRequires: pkgconfig(gstreamer-0.10) pkgconfig(gstreamer-app-0.10)
 BuildRequires: pkgconfig(libpcre)
@@ -64,6 +58,9 @@ BuildRequires: pkgconfig(QtCore) pkgconfig(QtNetwork)
 BuildRequires: pkgconfig(sqlite3)
 BuildRequires: pkgconfig(xext)
 BuildRequires: pkgconfig(xrender)
+BuildRequires: perl(version)
+BuildRequires: perl(Digest::MD5)
+BuildRequires: ruby
 %if 0%{?fedora}
 # for QtLocation, QtSensors 
 BuildRequires: qt-mobility-devel >= 1.2
@@ -94,45 +91,48 @@ Provides:  qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
 
 
 %prep
-%setup -q -n qtwebkit-%{version}-source
+%setup -q -n webkit-qtwebkit-23
 
 %patch1 -p1 -b .pluginpath
 %patch3 -p1 -b .debuginfo
-## don't unconditionally apply this anymore
-## it has side-effects ( like http://bugzilla.redhat.com/761337 )
-#patch5 -p1 -b .qt46
-%patch7 -p1 -b .ld.gold
-%patch8 -p1 -b .svn_infinite_loop
-%patch9 -p1 -b .64kpagesize
+%patch4 -p1 -b .save_memory
+%patch5 -p1 -b .fontconfig
 %ifarch ppc ppc64
 %patch10 -p1 -b .system-malloc
 %endif
-%patch100 -p1 -b .webkit72285
-%patch102 -p1 -b .0002
-%patch103 -p1 -b .0003
-%patch105 -p1 -b .0005
 
 
 %build 
 
 PATH=%{_qt4_bindir}:$PATH; export PATH
+QMAKEPATH=`pwd`/Tools/qmake; export QMAKEPATH
 QTDIR=%{_qt4_prefix}; export QTDIR
 
-pushd Source
-%{_qt4_qmake} 
-popd
+# production_build is *supposed* to be default, but apparently not?
+# production_build drops -Werror compile flag
 
-make %{?_smp_mflags} -C Source
+./Tools/Scripts/build-webkit \
+  --qt \
+  --qmakearg="CONFIG+=production_build" \
+  --makeargs=-j1
 
   
 %install
 rm -rf %{buildroot} 
 
-make install INSTALL_ROOT=%{buildroot} -C Source 
+make install INSTALL_ROOT=%{buildroot} -C WebKitBuild/Release
 
 ## HACK, there has to be a better way
-chrpath --list   %{buildroot}%{_qt4_libdir}/libQtWebKit.so.4.9.?
-chrpath --delete %{buildroot}%{_qt4_libdir}/libQtWebKit.so.4.9.? ||:
+chrpath --list   %{buildroot}%{_qt4_libdir}/libQtWebKit.so.4.10.?
+chrpath --delete %{buildroot}%{_qt4_libdir}/libQtWebKit.so.4.10.? ||:
+
+## pkgconfig love
+# drop Libs.private, it contains buildroot references, and
+# we don't support static linking libQtWebKit anyway
+pushd %{buildroot}%{_libdir}/pkgconfig
+grep -v "^Libs.private:" QtWebKit.pc > QtWebKit.pc.new && \
+mv QtWebKit.pc.new QtWebKit.pc
+popd
 
 
 %clean
@@ -151,7 +151,6 @@ rm -rf %{buildroot}
 
 %files devel
 %defattr(-,root,root,-)
-%{_qt4_datadir}/mkspecs/modules/qt_webkit_version.pri
 %{_qt4_headerdir}/QtWebKit/
 %{_qt4_libdir}/libQtWebKit.prl
 %{_qt4_libdir}/libQtWebKit.so
@@ -159,6 +158,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Thu Feb 21 2013 Rex Dieter <rdieter at fedoraproject.org> 2.3-0.1.beta2
+- qtwebkit-2.3-beta2
+
 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.2-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 
diff --git a/sources b/sources
index 0a70500..6b7c619 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-750055355d11dd37984bfbe4d02b2225  qtwebkit-2.2.2-source.tar.xz
+e0a8e6dddc3f0f771432e54a5f3f2124  qtwebkit-2.3-beta2.tar.xz


More information about the scm-commits mailing list