[webkitgtk/f19] Update to 2.0.0, update BR versions, drop unused patches, change spec structure to webkitgtk3 spec f
Tomas Popela
tpopela at fedoraproject.org
Tue Apr 2 09:30:06 UTC 2013
commit 9179f8d256f57c5f8af93ed2cc406e2456d3bdc4
Author: Tomas Popela <tpopela at redhat.com>
Date: Tue Apr 2 11:29:38 2013 +0200
Update to 2.0.0, update BR versions, drop unused patches, change spec structure to webkitgtk3 spec file
.gitignore | 1 +
sources | 2 +-
webkit-1.11.2-Double2Ints.patch | 21 +++++
webkit-1.11.2-yarr.patch | 12 +++
webkit-1.11.90-double2intsPPC32.patch | 40 ++++++++++
webkitgtk-1.11.4-icu-cppflags.patch | 26 ------
webkitgtk-1.11.5-libatomic.patch | 63 +++++++++++++++
webkitgtk-librt.patch | 62 ---------------
webkitgtk.spec | 138 +++++++++++++--------------------
9 files changed, 192 insertions(+), 173 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0da968e..0d55700 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ webkit-1.3.2.tar.gz
/webkitgtk-1.10.0.tar.xz
/webkitgtk-1.10.1.tar.xz
/webkitgtk-1.10.2.tar.xz
+/webkitgtk-2.0.0.tar.xz
diff --git a/sources b/sources
index 9c1ffda..a104b6a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7b1a652af1eb11bee5bf7209e9ff67e6 webkitgtk-1.10.2.tar.xz
+fa231ba8c9cd33575b9692614324be21 webkitgtk-2.0.0.tar.xz
diff --git a/webkit-1.11.2-Double2Ints.patch b/webkit-1.11.2-Double2Ints.patch
new file mode 100644
index 0000000..3371964
--- /dev/null
+++ b/webkit-1.11.2-Double2Ints.patch
@@ -0,0 +1,21 @@
+diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.double2ints webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.double2ints 2013-02-12 17:22:38.000000000 +0100
++++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 2013-03-07 18:04:39.778807991 +0100
+@@ -117,6 +118,17 @@ static double Ints2Double(uint32_t lo, u
+ u.ival64 = (static_cast<uint64_t>(hi) << 32) | lo;
+ return u.dval;
+ }
++
++static void Double2Ints(double input, intptr_t& lo, intptr_t& hi)
++{
++ union {
++ double dval;
++ int64_t ival64;
++ } u;
++ u.dval = input;
++ hi = static_cast<intptr_t>(u.ival64 >> 32);
++ lo = static_cast<intptr_t>(u.ival64);
++}
+ #endif // USE(JSVALUE32_64)
+
+ } // namespace LLint
diff --git a/webkit-1.11.2-yarr.patch b/webkit-1.11.2-yarr.patch
new file mode 100644
index 0000000..494e5a8
--- /dev/null
+++ b/webkit-1.11.2-yarr.patch
@@ -0,0 +1,12 @@
+diff -up webkitgtk-1.11.2/Source/WTF/wtf/Platform.h.orig webkitgtk-1.11.2/Source/WTF/wtf/Platform.h
+--- webkitgtk-1.11.2/Source/WTF/wtf/Platform.h.orig 2012-12-16 21:27:29.000000000 +0100
++++ webkitgtk-1.11.2/Source/WTF/wtf/Platform.h 2012-12-16 23:16:19.000000000 +0100
+@@ -1001,7 +1001,7 @@
+ #define ENABLE_REGEXP_TRACING 0
+
+ /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
+-#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !PLATFORM(CHROMIUM) && !(OS(QNX) && PLATFORM(QT))
++#if !defined(ENABLE_YARR_JIT) && ENABLE(JIT) && !PLATFORM(CHROMIUM) && !(OS(QNX) && PLATFORM(QT))
+ #define ENABLE_YARR_JIT 1
+
+ /* Setting this flag compares JIT results with interpreter results. */
diff --git a/webkit-1.11.90-double2intsPPC32.patch b/webkit-1.11.90-double2intsPPC32.patch
new file mode 100644
index 0000000..be35493
--- /dev/null
+++ b/webkit-1.11.90-double2intsPPC32.patch
@@ -0,0 +1,40 @@
+diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32 webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32 2013-03-07 17:55:22.488831605 +0100
++++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 2013-03-07 17:56:04.998829804 +0100
+@@ -1729,7 +1729,7 @@ _llint_op_next_pname:
+ loadi 20[PC], t2
+ loadi PayloadOffset[cfr, t2, 8], t2
+ loadp JSPropertyNameIterator::m_jsStrings[t2], t3
+- loadi [t3, t0, 8], t3
++ loadi PayloadOffset[t3, t0, 8], t3
+ addi 1, t0
+ storei t0, PayloadOffset[cfr, t1, 8]
+ loadi 4[PC], t1
+diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32 webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32 2013-03-07 17:56:24.953828958 +0100
++++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 2013-03-07 17:58:05.653824691 +0100
+@@ -263,13 +263,13 @@ macro assertNotConstant(index)
+ end
+
+ macro functionForCallCodeBlockGetter(targetRegister)
+- loadp Callee[cfr], targetRegister
++ loadp Callee + PayloadOffset[cfr], targetRegister
+ loadp JSFunction::m_executable[targetRegister], targetRegister
+ loadp FunctionExecutable::m_codeBlockForCall[targetRegister], targetRegister
+ end
+
+ macro functionForConstructCodeBlockGetter(targetRegister)
+- loadp Callee[cfr], targetRegister
++ loadp Callee + PayloadOffset[cfr], targetRegister
+ loadp JSFunction::m_executable[targetRegister], targetRegister
+ loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], targetRegister
+ end
+@@ -824,7 +824,7 @@ macro interpretResolveWithBase(opcodeLen
+ getResolveOperation(4, t0)
+ btpz t0, .slowPath
+
+- loadp ScopeChain[cfr], t3
++ loadp ScopeChain + PayloadOffset[cfr], t3
+ # Get the base
+ loadis ResolveOperation::m_operation[t0], t2
+
diff --git a/webkitgtk-1.11.5-libatomic.patch b/webkitgtk-1.11.5-libatomic.patch
new file mode 100644
index 0000000..8c2b721
--- /dev/null
+++ b/webkitgtk-1.11.5-libatomic.patch
@@ -0,0 +1,63 @@
+diff -up webkitgtk-1.11.90/GNUmakefile.in.libatomic webkitgtk-1.11.90/GNUmakefile.in
+--- webkitgtk-1.11.90/GNUmakefile.in.libatomic 2013-02-21 19:07:19.000000000 +0100
++++ webkitgtk-1.11.90/GNUmakefile.in 2013-02-25 11:31:34.824149062 +0100
+@@ -20933,6 +20933,7 @@ libWTF_la_CXXFLAGS = \
+ $(libWTF_la_CFLAGS)
+
+ libWTF_la_CFLAGS = \
++ -latomic \
+ -fstrict-aliasing \
+ -O3 \
+ $(global_cflags) \
+@@ -22305,7 +22306,7 @@ Programs_WebKitPluginProcess_SOURCES = \
+
+ #if ENABLE_SVG
+ #endif
+-Programs_WebKitPluginProcess_LDADD = -lpthread \
++Programs_WebKitPluginProcess_LDADD = -latomic -lpthread \
+ libjavascriptcoregtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
+ libWebCore.la libWebCoreSVG.la libWebCorePlatform.la \
+ libWebCoreGtk2.la $(CAIRO_LIBS) $(COVERAGE_LDFLAGS) \
+diff -up webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am.libatomic webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am
+--- webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am.libatomic 2013-02-25 11:28:58.812154709 +0100
++++ webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am 2013-02-25 11:29:14.906154126 +0100
+@@ -568,6 +568,7 @@ Programs_WebKitPluginProcess_SOURCES = \
+ $(webkit2_plugin_process_sources)
+
+ Programs_WebKitPluginProcess_LDADD = \
++ -latomic \
+ -lpthread \
+ libjavascriptcoregtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
+ libWebCore.la
+diff -up webkitgtk-1.11.90/Source/WTF/GNUmakefile.am.libatomic webkitgtk-1.11.90/Source/WTF/GNUmakefile.am
+--- webkitgtk-1.11.90/Source/WTF/GNUmakefile.am.libatomic 2012-07-19 12:02:14.000000000 +0200
++++ webkitgtk-1.11.90/Source/WTF/GNUmakefile.am 2013-02-25 09:21:31.552243859 +0100
+@@ -25,6 +25,7 @@ libWTF_la_CXXFLAGS = \
+ $(libWTF_la_CFLAGS)
+
+ libWTF_la_CFLAGS = \
++ -latomic \
+ -fstrict-aliasing \
+ -O3 \
+ $(global_cflags) \
+diff -up webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h.libatomic webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h
+--- webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h.libatomic 2013-01-29 11:00:42.000000000 +0100
++++ webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h 2013-02-25 09:21:31.553243859 +0100
+@@ -107,6 +107,17 @@ inline int atomicDecrement(int volatile*
+ inline int atomicIncrement(int volatile* addend) { return __atomic_inc(addend) + 1; }
+ inline int atomicDecrement(int volatile* addend) { return __atomic_dec(addend) - 1; }
+
++#elif COMPILER(GCC) && (__GNUC__ > 4 || (__GNUC__ == 4 \
++ && (__GNUC_MINOR__ > 8 || (__GNUC_MINOR__ == 8 \
++ && (__GNUC_PATCHLEVEL__ > 0 || (__GNUC_PATCHLEVEL__ == 0)))))) \
++ && CPU(PPC)
++#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
++inline int atomicIncrement(int volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int atomicDecrement(int volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
++
++inline int64_t atomicIncrement(int64_t volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int64_t atomicDecrement(int64_t volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
++
+ #elif COMPILER(GCC) && !CPU(SPARC64) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
+ #define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
+
diff --git a/webkitgtk.spec b/webkitgtk.spec
index ac17fc2..ad75317 100644
--- a/webkitgtk.spec
+++ b/webkitgtk.spec
@@ -5,30 +5,11 @@
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version} ||: ; \
cp -p %1 %{buildroot}%{_docdir}/%{name}-%{version}/$(echo '%1' | sed -e 's!/!.!g')
-## Optional build modifications...
-## --with coverage: Enables compile-time checking of code coverage.
-## (Default: No)
-##
-## --with debug: Enable more verbose debugging. Makes runtime a bit slower.
-## Also disables the optimized memory allocator.
-## (Default: No)
-##
-## --with pango: Use Pango instead of freetype2 as the font renderer.
-## CJK support is functional only with the freetype2 backend.
-## (Default: No - use freetype2)
-
-%bcond_with coverage
-%bcond_with debug
-%bcond_with pango
-
Name: webkitgtk
-Version: 1.10.2
-Release: 6%{?dist}
+Version: 2.0.0
+Release: 1%{?dist}
Summary: GTK+ Web content engine library
-Provides: WebKit-gtk = %{version}-%{release}
-Obsoletes: WebKit-gtk < %{version}-%{release}
-
Group: Development/Libraries
License: LGPLv2+ and BSD
URL: http://www.webkitgtk.org/
@@ -36,15 +17,14 @@ URL: http://www.webkitgtk.org/
Source0: http://www.webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
# add support for nspluginwrapper.
-Patch2: webkit-1.3.10-nspluginwrapper.patch
-# Explicitly link with -lrt
-# https://bugs.webkit.org/show_bug.cgi?id=103194
-Patch3: webkitgtk-librt.patch
-# https://bugs.webkit.org/show_bug.cgi?id=108032
-Patch4: webkitgtk-1.11.4-icu-cppflags.patch
-# https://bugs.webkit.org/show_bug.cgi?id=108819
-Patch5: webkit-1.10.2-renderFix.patch
-Patch6: webkit-1.10.2-atkFix.patch
+Patch0: webkit-1.3.10-nspluginwrapper.patch
+# workarounds for non-JIT arches
+# https://bugs.webkit.org/show_bug.cgi?id=104270
+Patch1: webkit-1.11.2-yarr.patch
+# https://bugs.webkit.org/show_bug.cgi?id=103128
+Patch2: webkit-1.11.2-Double2Ints.patch
+Patch3: webkitgtk-1.11.5-libatomic.patch
+Patch4: webkit-1.11.90-double2intsPPC32.patch
BuildRequires: bison
BuildRequires: chrpath
@@ -55,8 +35,8 @@ BuildRequires: gettext
BuildRequires: gperf
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
-BuildRequires: gtk2-devel
-BuildRequires: libsoup-devel >= 2.27.91
+BuildRequires: gtk2-devel >= 2.24.10
+BuildRequires: libsoup-devel >= 2.42.0
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: libxslt-devel
@@ -67,15 +47,12 @@ BuildRequires: gobject-introspection-devel
BuildRequires: mesa-libGL-devel
BuildRequires: gtk-doc
BuildRequires: ruby
-
-## Conditional dependencies...
-%if %{with pango}
-BuildRequires: pango-devel
-%else
BuildRequires: cairo-devel
-BuildRequires: cairo-gobject-devel
-BuildRequires: fontconfig-devel
+BuildRequires: fontconfig-devel >= 2.5
BuildRequires: freetype-devel
+
+%ifarch ppc
+BuildRequires: libatomic
%endif
%description
@@ -88,77 +65,69 @@ Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires: gtk2-devel
-Provides: WebKit-gtk-devel = %{version}-%{release}
-Obsoletes: WebKit-gtk-devel < %{version}-%{release}
%description devel
The %{name}-devel package contains libraries, build data, and header
files for developing applications that use %{name}.
-
%package doc
Summary: Documentation for %{name}
Group: Documentation
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
-Provides: WebKit-doc = %{version}-%{release}
-Obsoletes: WebKit-doc < %{version}-%{release}
%description doc
This package contains developer documentation for %{name}.
-
%prep
%setup -qn "webkitgtk-%{version}"
-%patch2 -p1 -b .nspluginwrapper
-%patch3 -p1 -b .librt
-%patch4 -p1 -b .icu_cppflags
-%patch5 -p1 -b .renderFix
-%patch6 -p1 -b .atkFix
-
-# For patch3 and patch4
-autoreconf --verbose --install -I Source/autotools
+%patch0 -p1 -b .nspluginwrapper
+%patch1 -p1 -b .yarr
+%patch2 -p1 -b .double2ints
+%ifarch ppc
+%patch3 -p1 -b .libatomic
+%patch4 -p1 -b .double2intsPPC32
+%endif
%build
-%ifarch s390 %{arm}
+%ifarch s390 %{arm} ppc
# Use linker flags to reduce memory consumption on low-mem architectures
%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
%endif
-%ifarch s390
+%ifarch s390 s390x
# Decrease debuginfo verbosity to reduce memory consumption even more
%global optflags %(echo %{optflags} | sed 's/-g/-g1/')
%endif
-# explicitly disable JIT on ARM https://bugs.webkit.org/show_bug.cgi?id=85076
+%ifarch ppc
+# Use linker flag -relax to get WebKit2 build under ppc(32) with JIT disabled
+%global optflags %{optflags} -Wl,-relax
+%endif
+
+# Build with -g1 on all platforms to avoid running into 4 GB ar format limit
+# https://bugs.webkit.org/show_bug.cgi?id=91154
+%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
-CFLAGS="%optflags -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY" %configure \
-%ifarch %{arm}
+CFLAGS="%{optflags} -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY" %configure \
+ --with-gtk=2.0 \
+ --disable-webkit2 \
+%ifarch s390 s390x ppc ppc64
--disable-jit \
%else
-%ifnarch s390 s390x ppc ppc64
--enable-jit \
%endif
-%endif
- --disable-webkit2 \
- --enable-geolocation \
- --enable-introspection \
- --with-gtk=2.0 \
- --enable-webgl \
-%{?with_coverage: --enable-coverage } \
-%{?with_debug: --enable-debug } \
-%{?with_pango: --with-font-backend=pango }
+ --enable-introspection
mkdir -p DerivedSources/webkit
mkdir -p DerivedSources/WebCore
mkdir -p DerivedSources/ANGLE
+mkdir -p DerivedSources/webkitdom/
mkdir -p DerivedSources/WebKit2/webkit2gtk/webkit2
mkdir -p DerivedSources/InjectedBundle
-make V=1 %{?_smp_mflags}
+make %{_smp_mflags} V=1
%install
-rm -rf %{buildroot}
-
make install DESTDIR=%{buildroot}
install -d -m 755 %{buildroot}%{_libexecdir}/%{name}
@@ -169,11 +138,13 @@ chrpath --delete %{buildroot}%{_bindir}/jsc-1
chrpath --delete %{buildroot}%{_libdir}/libwebkitgtk-1.0.so
chrpath --delete %{buildroot}%{_libexecdir}/%{name}/GtkLauncher
-%find_lang webkitgtk-2.0
+# Remove .la files
+find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete
+
+%find_lang WebKitGTK-2.0
## Finally, copy over and rename the various files for %%doc inclusion.
%add_to_doc_files Source/WebKit/LICENSE
-%add_to_doc_files Source/WebKit/gtk/po/README
%add_to_doc_files Source/WebKit/gtk/NEWS
%add_to_doc_files Source/WebCore/icu/LICENSE
%add_to_doc_files Source/WebCore/LICENSE-APPLE
@@ -185,9 +156,6 @@ chrpath --delete %{buildroot}%{_libexecdir}/%{name}/GtkLauncher
%add_to_doc_files Source/JavaScriptCore/icu/README
%add_to_doc_files Source/JavaScriptCore/icu/LICENSE
-%clean
-rm -rf %{buildroot}
-
%post -p /sbin/ldconfig
@@ -201,20 +169,16 @@ fi
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
-%files -f webkitgtk-2.0.lang
-%defattr(-,root,root,-)
+%files -f WebKitGTK-2.0.lang
%doc %{_docdir}/%{name}-%{version}/
-%exclude %{_libdir}/*.la
%{_libdir}/libwebkitgtk-1.0.so.*
%{_libdir}/libjavascriptcoregtk-1.0.so.*
%{_libdir}/girepository-1.0/WebKit-1.0.typelib
%{_libdir}/girepository-1.0/JSCore-1.0.typelib
-#{_datadir}/glib-2.0/schemas/org.webkitgtk-1.0.gschema.xml
%{_libexecdir}/%{name}/
%{_datadir}/webkitgtk-1.0
-%files devel
-%defattr(-,root,root,-)
+%files devel
%{_bindir}/jsc-1
%{_includedir}/webkitgtk-1.0
%{_libdir}/libwebkitgtk-1.0.so
@@ -224,13 +188,19 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_datadir}/gir-1.0/WebKit-1.0.gir
%{_datadir}/gir-1.0/JSCore-1.0.gir
-%files doc
-%defattr(-,root,root,-)
+%files doc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/webkitgtk
+
%changelog
+* Tue Apr 2 2013 Tomas Popela <tpopela at redhat.com> - 2.0.0-1
+- Update to 2.0.0
+- Update BR versions
+- Drop unused patches
+- Change spec structure to webkitgtk3 spec file
+
* Tue Mar 12 2013 Tomas Popela <tpopela at redhat.com> 1.10.2-6
- Add upstream patch for RH bug #908143 - AccessibilityTableRow::parentTable crash
- Add fix for bug #907432 - Rendering glitches on some sites
More information about the scm-commits
mailing list