[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