[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