Compare commits

...

13 Commits
rawhide ... f19

Author SHA1 Message Date
Tomas Popela 164c801d46 Fix CLoop on s390x and ppc64 2014-05-26 09:07:16 +02:00
Karsten Hopp 450306e0d9 update libatomic patch (PPC) 2014-05-07 12:46:03 +02:00
Tomas Popela 4e854f7ef7 Update to 2.0.4 2013-07-22 09:24:26 +02:00
Kalev Lember 13b4f85249 Link with harfbuzz-icu
harfbuzz-icu was split into separate library in harfbuzz 0.9.18 and F19
is getting the new HB now.

https://bugzilla.redhat.com/show_bug.cgi?id=971795
2013-06-07 16:12:16 +02:00
Tomas Popela dd46dffdc3 Update to 2.0.2 2013-05-13 14:59:59 +02:00
Tomas Popela 70b7949e66 Update to 2.0.1, remove unused patches 2013-04-17 09:29:16 +02:00
Tomas Popela 0068d86bfa Add missing endif. 2013-04-03 09:54:35 +02:00
Tomas Popela 8f8c77e0ff Add cairo-gobject as BR, apply double2intsPPC32.patch also on s390 2013-04-03 09:46:29 +02:00
Tomas Popela 82b21b4e7c Add glib2 as BR 2013-04-02 14:27:04 +02:00
Tomas Popela 719bc2ad5b Add gstreamer1 as BR and remove gstreamer-0.10 as BR 2013-04-02 12:22:14 +02:00
Tomas Popela 93fbcce6fe Add missing build requirements. 2013-04-02 12:10:12 +02:00
Tomas Popela 9179f8d256 Update to 2.0.0, update BR versions, drop unused patches, change spec structure to webkitgtk3 spec file 2013-04-02 11:29:38 +02:00
Tomas Popela c67dce6828 Add upstream patches for RH bug #908143 and #907432 2013-03-12 16:43:50 +01:00
11 changed files with 379 additions and 169 deletions

4
.gitignore vendored
View File

@ -22,3 +22,7 @@ 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
/webkitgtk-2.0.1.tar.xz
/webkitgtk-2.0.2.tar.xz
/webkitgtk-2.0.4.tar.xz

View File

@ -1 +1 @@
7b1a652af1eb11bee5bf7209e9ff67e6 webkitgtk-1.10.2.tar.xz
413be319ba171feed9348d1bede6b0a7 webkitgtk-2.0.4.tar.xz

View File

@ -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

12
webkit-1.11.2-yarr.patch Normal file
View File

@ -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. */

View File

@ -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

View File

@ -1,26 +0,0 @@
From eb2ec2d5b8f1e941fcf7a35523d65589882a92f9 Mon Sep 17 00:00:00 2001
From: Kalev Lember <kalevlember@gmail.com>
Date: Sun, 27 Jan 2013 15:53:24 +0100
Subject: [PATCH] [GTK] Pass ICU cppflags to libWebCoreSVG.la build
---
Source/WebCore/GNUmakefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
index 0319a6f..2f24764 100644
--- a/Source/WebCore/GNUmakefile.am
+++ b/Source/WebCore/GNUmakefile.am
@@ -566,7 +566,8 @@ libWebCoreSVG_la_CPPFLAGS = \
$(javascriptcore_cppflags) \
-fno-strict-aliasing \
$(CAIRO_CFLAGS) \
- $(LIBSOUP_CFLAGS)
+ $(LIBSOUP_CFLAGS) \
+ $(UNICODE_CFLAGS)
FEATURE_DEFINES += ENABLE_SVG=1
webcore_cppflags += -DENABLE_SVG=1
--
1.8.1

View File

@ -0,0 +1,90 @@
diff -up webkitgtk-2.0.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.cloop_fix webkitgtk-2.0.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
--- webkitgtk-2.0.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.cloop_fix 2014-05-12 15:38:39.748538807 +0200
+++ webkitgtk-2.0.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 2014-05-12 15:36:46.908580462 +0200
@@ -541,7 +541,7 @@ end
macro putToBaseVariableBody(variableOffset, scratch1, scratch2, scratch3)
loadisFromInstruction(1, scratch1)
- loadp PayloadOffset[cfr, scratch1, 8], scratch1
+ loadp [cfr, scratch1, 8], scratch1
loadp JSVariableObject::m_registers[scratch1], scratch1
loadisFromInstruction(3, scratch2)
if JSVALUE64
@@ -667,7 +667,7 @@ _llint_op_resolve_global_var:
macro resolveScopedVarBody(resolveOperations)
# First ResolveOperation is to skip scope chain nodes
getScope(macro(dest)
- loadp ScopeChain + PayloadOffset[cfr], dest
+ loadp ScopeChain[cfr], dest
end,
ResolveOperation::m_scopesToSkip[resolveOperations], t1, t2)
loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the activation registers
@@ -692,7 +692,7 @@ _llint_op_resolve_scoped_var_on_top_scop
loadisFromInstruction(1, t3)
# We know we want the top scope chain entry
- loadp ScopeChain + PayloadOffset[cfr], t1
+ loadp ScopeChain[cfr], t1
loadp JSVariableObject::m_registers[t1], t1 # t1 now contains the activation registers
# Second ResolveOperation tells us what offset to use
@@ -707,14 +707,14 @@ _llint_op_resolve_scoped_var_with_top_sc
# First ResolveOperation tells us what register to check
loadis ResolveOperation::m_activationRegister[t0], t1
- loadp PayloadOffset[cfr, t1, 8], t1
+ loadp [cfr, t1, 8], t1
getScope(macro(dest)
btpz t1, .scopeChainNotCreated
loadp JSScope::m_next[t1], dest
jmp .done
.scopeChainNotCreated:
- loadp ScopeChain + PayloadOffset[cfr], dest
+ loadp ScopeChain[cfr], dest
.done:
end,
# Second ResolveOperation tells us how many more nodes to skip
@@ -769,7 +769,7 @@ _llint_op_resolve_base_to_scope:
getResolveOperation(4, t0)
# First ResolveOperation is to skip scope chain nodes
getScope(macro(dest)
- loadp ScopeChain + PayloadOffset[cfr], dest
+ loadp ScopeChain[cfr], dest
end,
ResolveOperation::m_scopesToSkip[t0], t1, t2)
loadisFromInstruction(1, t3)
@@ -787,14 +787,14 @@ _llint_op_resolve_base_to_scope_with_top
# First ResolveOperation tells us what register to check
loadis ResolveOperation::m_activationRegister[t0], t1
- loadp PayloadOffset[cfr, t1, 8], t1
+ loadp [cfr, t1, 8], t1
getScope(macro(dest)
btpz t1, .scopeChainNotCreated
loadp JSScope::m_next[t1], dest
jmp .done
.scopeChainNotCreated:
- loadp ScopeChain + PayloadOffset[cfr], dest
+ loadp ScopeChain[cfr], dest
.done:
end,
# Second ResolveOperation tells us how many more nodes to skip
@@ -839,14 +839,14 @@ macro interpretResolveWithBase(opcodeLen
bineq t2, ResolveOperationSkipTopScopeNode, .notSkipTopScopeNode
loadis ResolveOperation::m_activationRegister[t0], t1
- loadp PayloadOffset[cfr, t1, 8], t1
+ loadp [cfr, t1, 8], t1
getScope(macro(dest)
btpz t1, .scopeChainNotCreated
loadp JSScope::m_next[t1], dest
jmp .done
.scopeChainNotCreated:
- loadp ScopeChain + PayloadOffset[cfr], dest
+ loadp ScopeChain[cfr], dest
.done:
end,
sizeof ResolveOperation + ResolveOperation::m_scopesToSkip[t0], t1, t2)

View File

@ -0,0 +1,62 @@
diff -up webkitgtk-2.0.4/GNUmakefile.in.libatomic webkitgtk-2.0.4/GNUmakefile.in
--- webkitgtk-2.0.4/GNUmakefile.in.libatomic 2013-07-19 14:12:04.000000000 +0200
+++ webkitgtk-2.0.4/GNUmakefile.in 2014-05-07 10:51:47.093160074 +0200
@@ -20865,6 +20865,7 @@ libWTF_la_CXXFLAGS = \
$(libWTF_la_CFLAGS)
libWTF_la_CFLAGS = \
+ -latomic \
-fstrict-aliasing \
-O3 \
$(global_cflags) \
@@ -22243,6 +22244,7 @@ Programs_WebKitPluginProcess_SOURCES = \
$(webkit2_plugin_process_sources)
Programs_WebKitPluginProcess_LDADD = \
+ -latomic \
-lpthread \
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
WebCoreLayerGtk2.a \
diff -up webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am.libatomic webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am
--- webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am.libatomic 2014-05-07 10:48:56.310086458 +0200
+++ webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am 2014-05-07 10:55:04.591306002 +0200
@@ -604,6 +604,7 @@ Programs_WebKitPluginProcess_SOURCES = \
$(webkit2_plugin_process_sources)
Programs_WebKitPluginProcess_LDADD = \
+ -latomic \
-lpthread \
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
WebCoreLayerGtk2.a \
diff -up webkitgtk-2.0.4/Source/WTF/GNUmakefile.am.libatomic webkitgtk-2.0.4/Source/WTF/GNUmakefile.am
--- webkitgtk-2.0.4/Source/WTF/GNUmakefile.am.libatomic 2012-07-19 12:02:14.000000000 +0200
+++ webkitgtk-2.0.4/Source/WTF/GNUmakefile.am 2014-05-07 10:56:03.174272781 +0200
@@ -25,6 +25,7 @@ libWTF_la_CXXFLAGS = \
$(libWTF_la_CFLAGS)
libWTF_la_CFLAGS = \
+ -latomic \
-fstrict-aliasing \
-O3 \
$(global_cflags) \
diff -up webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h.libatomic webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h
--- webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h.libatomic 2013-07-19 09:03:53.000000000 +0200
+++ webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h 2014-05-07 10:59:32.066022384 +0200
@@ -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

View File

@ -0,0 +1,45 @@
diff -up webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h
--- webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align 2014-05-07 11:13:48.249690429 +0200
+++ webkitgtk-2.0.4/Source/JavaScriptCore/heap/CopiedBlock.h 2014-05-07 11:14:02.442872375 +0200
@@ -77,7 +77,7 @@ public:
size_t size();
size_t capacity();
- static const size_t blockSize = 32 * KB;
+ static const size_t blockSize = 64 * KB;
bool hasWorkList();
CopyWorkList& workList();
diff -up webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp
--- webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align 2014-05-07 11:14:17.785069040 +0200
+++ webkitgtk-2.0.4/Source/JavaScriptCore/interpreter/JSStack.cpp 2014-05-07 11:15:15.610810268 +0200
@@ -49,7 +49,8 @@ JSStack::JSStack(JSGlobalData& globalDat
{
ASSERT(capacity && isPageAligned(capacity));
- m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitSize), OSAllocator::JSVMStackPages);
+ size_t commitsize = pageSize();
+ m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitsize), OSAllocator::JSVMStackPages);
m_end = static_cast<Register*>(m_reservation.base());
m_commitEnd = static_cast<Register*>(m_reservation.base());
@@ -78,7 +79,8 @@ bool JSStack::growSlowCase(Register* new
// Compute the chunk size of additional memory to commit, and see if we
// have it is still within our budget. If not, we'll fail to grow and
// return false.
- long delta = roundUpAllocationSize(reinterpret_cast<char*>(newEnd) - reinterpret_cast<char*>(m_commitEnd), commitSize);
+ size_t commitsize = pageSize();
+ long delta = roundUpAllocationSize(reinterpret_cast<char*>(newEnd) - reinterpret_cast<char*>(m_commitEnd), commitsize);
if (reinterpret_cast<char*>(m_commitEnd) + delta > reinterpret_cast<char*>(m_useableEnd))
return false;
@@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve()
void JSStack::disableErrorStackReserve()
{
- char* useableEnd = reinterpret_cast<char*>(reservationEnd()) - commitSize;
+ size_t commitsize = pageSize();
+ char* useableEnd = reinterpret_cast<char*>(reservationEnd()) - commitsize;
m_useableEnd = reinterpret_cast<Register*>(useableEnd);
// By the time we get here, we are guaranteed to be destructing the last

View File

@ -1,62 +0,0 @@
From 35b1ae6cdb8af8c3b3283e84c0f55ca03f1a2e85 Mon Sep 17 00:00:00 2001
From: "mrobinson@webkit.org"
<mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon, 26 Nov 2012 22:00:15 +0000
Subject: [PATCH] [GTK] Explicitly link against librt
https://bugs.webkit.org/show_bug.cgi?id=103194
Patch by Kalev Lember <kalevlember@gmail.com> on 2012-11-26
Reviewed by Martin Robinson.
Fixes broken build with undefined references to shm_open / shm_unlink
symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
.:
* configure.ac:
Source/WebKit2:
* GNUmakefile.am:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
ChangeLog | 12 ++++++++++++
Source/WebKit2/ChangeLog | 12 ++++++++++++
Source/WebKit2/GNUmakefile.am | 1 +
configure.ac | 7 +++++++
4 files changed, 32 insertions(+)
diff --git a/Source/WebKit2/GNUmakefile.am b/Source/WebKit2/GNUmakefile.am
index 097cdc1..ff5ff1f 100644
--- a/Source/WebKit2/GNUmakefile.am
+++ b/Source/WebKit2/GNUmakefile.am
@@ -566,6 +566,7 @@ Programs_WebKitPluginProcess_LDADD += \
$(PANGO_LIBS) \
$(PNG_LIBS) \
$(SHLWAPI_LIBS) \
+ $(SHM_LIBS) \
$(SQLITE3_LIBS) \
$(UNICODE_LIBS) \
$(XRENDER_LIBS) \
diff --git a/configure.ac b/configure.ac
index 4e1f0e8..97980e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1118,6 +1118,13 @@ if test "$enable_webkit2" = "yes"; then
if test "$have_gtk_unix_printing" = "yes"; then
AC_DEFINE([HAVE_GTK_UNIX_PRINTING], [1], [Define if GTK+ UNIX Printing is available])
fi
+
+ # On some Linux/Unix platforms, shm_* may only be available if linking
+ # against librt
+ if test "$os_win32" = "no"; then
+ AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"])
+ AC_SUBST(SHM_LIBS)
+ fi
fi
# Plugin Process
--
1.8.0.1

View File

@ -5,43 +5,28 @@
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: 5%{?dist}
Version: 2.0.4
Release: 3%{?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/
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
# add support for nspluginwrapper.
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-2.0.4-libatomic.patch
Patch4: webkit-1.11.90-double2intsPPC32.patch
Patch5: webkitgtk-2.0.4-cloop_fix.patch
Patch6: webkitgtk-2.0.4-ppc64_align.patch
BuildRequires: bison
BuildRequires: chrpath
@ -50,12 +35,16 @@ BuildRequires: flex
BuildRequires: geoclue-devel
BuildRequires: gettext
BuildRequires: gperf
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
BuildRequires: gtk2-devel
BuildRequires: libsoup-devel >= 2.27.91
BuildRequires: gstreamer1-devel
BuildRequires: gstreamer1-plugins-base-devel
BuildRequires: gtk2-devel >= 2.24.10
BuildRequires: glib2-devel >= 2.36.0
BuildRequires: harfbuzz-devel
BuildRequires: libsoup-devel >= 2.42.0
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: libsecret-devel
BuildRequires: libwebp-devel
BuildRequires: libxslt-devel
BuildRequires: libXt-devel
BuildRequires: pcre-devel
@ -64,15 +53,16 @@ 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: cairo-gobject-devel
BuildRequires: fontconfig-devel >= 2.5
BuildRequires: freetype-devel
# Needed for patch5:
BuildRequires: autoconf automake libtool
%ifarch ppc
BuildRequires: libatomic
%endif
%description
@ -85,75 +75,81 @@ 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
%patch0 -p1 -b .nspluginwrapper
%patch1 -p1 -b .yarr
%patch2 -p1 -b .double2ints
%ifarch ppc
%patch3 -p1 -b .libatomic
%endif
# required for 32-bit big-endians
%ifarch ppc s390
%patch4 -p1 -b .double2intsPPC32
%endif
%ifarch ppc64 s390x
%patch5 -p1 -b .cloop_fix
%endif
%ifarch ppc64
%patch6 -p1 -b .ppc64_align
%endif
# For patch3 and patch4
# Needed for patch5:
autoreconf --verbose --install -I Source/autotools
%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
CFLAGS="%optflags -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY" %configure \
%ifarch %{arm}
# 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 \
--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}
@ -164,11 +160,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
@ -180,9 +178,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
@ -196,20 +191,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
@ -219,13 +210,46 @@ 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
* Mon May 26 2014 Tomas Popela <tpopela@redhat.com> - 2.0.4-3
- Fix CLoop on s390x and ppc64
* Wed May 07 2014 Karsten Hopp <karsten@redhat.com> 2.0.4-2
- update libatomic patch (PPC)
* Mon Jul 22 2013 Tomas Popela <tpopela@redhat.com> - 2.0.4-1
- Update to 2.0.4
* Fri Jun 07 2013 Kalev Lember <kalevlember@gmail.com> - 2.0.2-2
- Link with harfbuzz-icu (split into separate library in harfbuzz 0.9.18)
* Mon May 13 2013 Tomas Popela <tpopela@redhat.com> - 2.0.2-1
- Update to 2.0.2
* Wed Apr 17 2013 Tomas Popela <tpopela@redhat.com> - 2.0.1-1
- Update to 2.0.1
- Remove unused patches
* Wed Apr 3 2013 Tomas Popela <tpopela@redhat.com> - 2.0.0-2
- Add cairo-gobject as BR
- Apply double2intsPPC32.patch also on s390
* Tue Apr 2 2013 Tomas Popela <tpopela@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@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
* Sat Feb 02 2013 Kevin Fenzi <kevin@scrye.com> 1.10.2-5
- Drop building with -g1 now. Fixes bug #861452