From a994311405d3c6f45f804f4ad055ac2716462f99 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 14 Apr 2016 12:40:44 +0200 Subject: [PATCH 001/101] Update to 2.12.1 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.12.0-repaintOrMarkForLayout.patch | 236 ------------------ webkitgtk4.spec | 9 +- 4 files changed, 7 insertions(+), 241 deletions(-) delete mode 100644 webkitgtk-2.12.0-repaintOrMarkForLayout.patch diff --git a/.gitignore b/.gitignore index 2a4ffda..e52a13e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /webkitgtk-2.11.91.tar.xz /webkitgtk-2.11.92.tar.xz /webkitgtk-2.12.0.tar.xz +/webkitgtk-2.12.1.tar.xz diff --git a/sources b/sources index 1859270..8ecfe7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d233b5594c37a961308c230207d8b64f webkitgtk-2.12.0.tar.xz +adcbee440d81acfb1ead9ada91bd5e79 webkitgtk-2.12.1.tar.xz diff --git a/webkitgtk-2.12.0-repaintOrMarkForLayout.patch b/webkitgtk-2.12.0-repaintOrMarkForLayout.patch deleted file mode 100644 index 9d6494c..0000000 --- a/webkitgtk-2.12.0-repaintOrMarkForLayout.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 43b6b949b80310c90d1628d660a8319c20f00246 Mon Sep 17 00:00:00 2001 -From: "zalan@apple.com" -Date: Fri, 25 Mar 2016 23:45:13 +0000 -Subject: [PATCH] RenderImage::repaintOrMarkForLayout fails when the renderer - is detached. https://bugs.webkit.org/show_bug.cgi?id=155885 - - -Reviewed by Simon Fraser. - -Making containingBlockFor* functions standalone ensures that we don't -call them on an invalid object. - -Covered by existing tests. - -* dom/Element.cpp: -(WebCore::layoutOverflowRectContainsAllDescendants): -* rendering/LogicalSelectionOffsetCaches.h: -(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches): -* rendering/RenderElement.cpp: -(WebCore::containingBlockForFixedPosition): -(WebCore::containingBlockForAbsolutePosition): -(WebCore::containingBlockForObjectInFlow): -(WebCore::RenderElement::containingBlockForFixedPosition): Deleted. -(WebCore::RenderElement::containingBlockForAbsolutePosition): Deleted. -(WebCore::isNonRenderBlockInline): Deleted. -(WebCore::RenderElement::containingBlockForObjectInFlow): Deleted. -* rendering/RenderElement.h: -* rendering/RenderInline.cpp: -(WebCore::RenderInline::styleWillChange): -* rendering/RenderObject.cpp: -(WebCore::RenderObject::containingBlock): - - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@198701 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/WebCore/ChangeLog | 31 +++++++++ - Source/WebCore/dom/Element.cpp | 2 +- - .../rendering/LogicalSelectionOffsetCaches.h | 6 +- - Source/WebCore/rendering/RenderElement.cpp | 79 ++++++++++------------ - Source/WebCore/rendering/RenderElement.h | 7 +- - Source/WebCore/rendering/RenderInline.cpp | 2 +- - Source/WebCore/rendering/RenderObject.cpp | 12 ++-- - 7 files changed, 82 insertions(+), 57 deletions(-) - -diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp -index 75fe8f8..e904e9b 100644 ---- a/Source/WebCore/dom/Element.cpp -+++ b/Source/WebCore/dom/Element.cpp -@@ -974,7 +974,7 @@ static bool layoutOverflowRectContainsAllDescendants(const RenderElement& render - } - - // This renderer may have positioned descendants whose containing block is some ancestor. -- if (auto containingBlock = renderer.containingBlockForAbsolutePosition()) { -+ if (auto containingBlock = containingBlockForAbsolutePosition(&renderer)) { - if (auto positionedObjects = containingBlock->positionedObjects()) { - for (RenderBox* it : *positionedObjects) { - if (it != &renderer && renderer.element()->contains(it->element())) -diff --git a/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h b/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -index a3f8112..aefe107 100644 ---- a/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -+++ b/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -@@ -91,9 +91,9 @@ public: - auto parent = rootBlock.parent(); - - // LogicalSelectionOffsetCaches should not be used on an orphaned tree. -- m_containingBlockForFixedPosition.setBlock(parent->containingBlockForFixedPosition(), nullptr); -- m_containingBlockForAbsolutePosition.setBlock(parent->containingBlockForAbsolutePosition(), nullptr); -- m_containingBlockForInflowPosition.setBlock(parent->containingBlockForObjectInFlow(), nullptr); -+ m_containingBlockForFixedPosition.setBlock(containingBlockForFixedPosition(parent), nullptr); -+ m_containingBlockForAbsolutePosition.setBlock(containingBlockForAbsolutePosition(parent), nullptr); -+ m_containingBlockForInflowPosition.setBlock(containingBlockForObjectInFlow(parent), nullptr); - } - - LogicalSelectionOffsetCaches(RenderBlock& block, const LogicalSelectionOffsetCaches& cache) -diff --git a/Source/WebCore/rendering/RenderElement.cpp b/Source/WebCore/rendering/RenderElement.cpp -index a17b8f6..9c19f5c 100644 ---- a/Source/WebCore/rendering/RenderElement.cpp -+++ b/Source/WebCore/rendering/RenderElement.cpp -@@ -1585,48 +1585,6 @@ PassRefPtr RenderElement::getUncachedPseudoStyle(const PseudoStyleR - return styleResolver.pseudoStyleForElement(*element(), pseudoStyleRequest, *parentStyle); - } - --RenderBlock* RenderElement::containingBlockForFixedPosition() const --{ -- const RenderElement* object = this; -- while (object && !object->canContainFixedPositionObjects()) -- object = object->parent(); -- -- ASSERT(!object || !object->isAnonymousBlock()); -- return const_cast(downcast(object)); --} -- --RenderBlock* RenderElement::containingBlockForAbsolutePosition() const --{ -- const RenderElement* object = this; -- while (object && !object->canContainAbsolutelyPositionedObjects()) -- object = object->parent(); -- -- // For a relatively positioned inline, return its nearest non-anonymous containing block, -- // not the inline itself, to avoid having a positioned objects list in all RenderInlines -- // and use RenderBlock* as RenderElement::containingBlock's return type. -- // Use RenderBlock::container() to obtain the inline. -- if (object && !is(*object)) -- object = object->containingBlock(); -- -- while (object && object->isAnonymousBlock()) -- object = object->containingBlock(); -- -- return const_cast(downcast(object)); --} -- --static inline bool isNonRenderBlockInline(const RenderElement& object) --{ -- return (object.isInline() && !object.isReplaced()) || !object.isRenderBlock(); --} -- --RenderBlock* RenderElement::containingBlockForObjectInFlow() const --{ -- const RenderElement* object = this; -- while (object && isNonRenderBlockInline(*object)) -- object = object->parent(); -- return const_cast(downcast(object)); --} -- - Color RenderElement::selectionColor(int colorProperty) const - { - // If the element is unselectable, or we are only painting the selection, -@@ -2210,4 +2168,41 @@ void RenderElement::updateOutlineAutoAncestor(bool hasOutlineAuto) const - downcast(*this).continuation()->updateOutlineAutoAncestor(hasOutlineAuto); - } - -+RenderBlock* containingBlockForFixedPosition(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && !object->canContainFixedPositionObjects()) -+ object = object->parent(); -+ -+ ASSERT(!object || !object->isAnonymousBlock()); -+ return const_cast(downcast(object)); -+} -+ -+RenderBlock* containingBlockForAbsolutePosition(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && !object->canContainAbsolutelyPositionedObjects()) -+ object = object->parent(); -+ -+ // For a relatively positioned inline, return its nearest non-anonymous containing block, -+ // not the inline itself, to avoid having a positioned objects list in all RenderInlines -+ // and use RenderBlock* as RenderElement::containingBlock's return type. -+ // Use RenderBlock::container() to obtain the inline. -+ if (object && !is(*object)) -+ object = object->containingBlock(); -+ -+ while (object && object->isAnonymousBlock()) -+ object = object->containingBlock(); -+ -+ return const_cast(downcast(object)); -+} -+ -+RenderBlock* containingBlockForObjectInFlow(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && ((object->isInline() && !object->isReplaced()) || !object->isRenderBlock())) -+ object = object->parent(); -+ return const_cast(downcast(object)); -+} -+ - } -diff --git a/Source/WebCore/rendering/RenderElement.h b/Source/WebCore/rendering/RenderElement.h -index ec15a67..02e5449 100644 ---- a/Source/WebCore/rendering/RenderElement.h -+++ b/Source/WebCore/rendering/RenderElement.h -@@ -71,10 +71,6 @@ public: - bool canContainFixedPositionObjects() const; - bool canContainAbsolutelyPositionedObjects() const; - -- RenderBlock* containingBlockForFixedPosition() const; -- RenderBlock* containingBlockForAbsolutePosition() const; -- RenderBlock* containingBlockForObjectInFlow() const; -- - Color selectionColor(int colorProperty) const; - PassRefPtr selectionPseudoStyle() const; - -@@ -495,6 +491,9 @@ inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const Render - return adjustLayoutUnitForAbsoluteZoom(value, renderer.style()); - } - -+RenderBlock* containingBlockForFixedPosition(const RenderElement*); -+RenderBlock* containingBlockForAbsolutePosition(const RenderElement*); -+RenderBlock* containingBlockForObjectInFlow(const RenderElement*); - } // namespace WebCore - - SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderElement, isRenderElement()) -diff --git a/Source/WebCore/rendering/RenderInline.cpp b/Source/WebCore/rendering/RenderInline.cpp -index b6c6b54..38ed407 100644 ---- a/Source/WebCore/rendering/RenderInline.cpp -+++ b/Source/WebCore/rendering/RenderInline.cpp -@@ -171,7 +171,7 @@ void RenderInline::styleWillChange(StyleDifference diff, const RenderStyle& newS - // Check if this inline can hold absolute positioned elmements even after the style change. - if (canContainAbsolutelyPositionedObjects() && newStyle.position() == StaticPosition) { - // RenderInlines forward their absolute positioned descendants to their (non-anonymous) containing block. -- auto* container = containingBlockForAbsolutePosition(); -+ auto* container = containingBlockForAbsolutePosition(this); - if (container && !container->canContainAbsolutelyPositionedObjects()) - container->removePositionedObjects(nullptr, NewContainingBlock); - } -diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp -index 3b9548f..edb4f33 100644 ---- a/Source/WebCore/rendering/RenderObject.cpp -+++ b/Source/WebCore/rendering/RenderObject.cpp -@@ -706,15 +706,15 @@ RenderBlock* RenderObject::containingBlock() const - - const RenderStyle& style = this->style(); - if (!is(*this) && style.position() == FixedPosition) -- parent = parent->containingBlockForFixedPosition(); -+ parent = containingBlockForFixedPosition(parent); - else if (!is(*this) && style.position() == AbsolutePosition) -- parent = parent->containingBlockForAbsolutePosition(); -+ parent = containingBlockForAbsolutePosition(parent); - else -- parent = parent->containingBlockForObjectInFlow(); -- -- if (!is(parent)) -- return nullptr; // This can still happen in case of an orphaned tree -+ parent = containingBlockForObjectInFlow(parent); - -+ // This can still happen in case of an detached tree -+ if (!parent) -+ return nullptr; - return downcast(parent); - } - --- -2.5.5 - diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8933ff6..8524c8e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.0 -Release: 3%{?dist} +Version: 2.12.1 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -18,8 +18,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=135972 Patch1: webkitgtk-2.11.5-youtube.patch -# https://bugs.webkit.org/show_bug.cgi?id=155885 -Patch2: webkitgtk-2.12.0-repaintOrMarkForLayout.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -251,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 14 2016 Tomas Popela - 2.12.1-1 +- Update to 2.12.1 + * Thu Apr 07 2016 Michael Catanzaro - 2.12.0-3 - Attempt harder to ensure plugin-process-gtk2 is installed on upgrade From 2485f2339dafaff38cf4b2540b8933c42b7695cb Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 15 Apr 2016 20:17:19 +0200 Subject: [PATCH 002/101] rebuild for ICU 57.1 --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8524c8e..169feb5 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.12.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -249,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Apr 15 2016 David Tardon - 2.12.1-2 +- rebuild for ICU 57.1 + * Thu Apr 14 2016 Tomas Popela - 2.12.1-1 - Update to 2.12.1 From e6783e0abdcb9e03b5924bd1d038685fa0bd0dea Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Apr 2016 15:50:43 +0200 Subject: [PATCH 003/101] Fix the build on aarch64 - disable bmalloc --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 169feb5..191a895 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.12.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -249,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Apr 26 2016 Tomas Popela - 2.12.1-3 +- Fix the build on aarch64 - disable bmalloc as it's crashing + * Fri Apr 15 2016 David Tardon - 2.12.1-2 - rebuild for ICU 57.1 From 902f52a3e970d928535837bfe15bd60cf42b0257 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Apr 2016 15:51:49 +0200 Subject: [PATCH 004/101] Fix the build on aarch64 - disable bmalloc as it's crashing when generating the documentation --- webkitgtk4.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 191a895..b2f853e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -250,7 +250,8 @@ make %{?_smp_mflags} -C %{_target_platform} %changelog * Tue Apr 26 2016 Tomas Popela - 2.12.1-3 -- Fix the build on aarch64 - disable bmalloc as it's crashing +- Fix the build on aarch64 - disable bmalloc as it's crashing when generating + the documentation * Fri Apr 15 2016 David Tardon - 2.12.1-2 - rebuild for ICU 57.1 From 656bf38386afda4c4d341b4b4518ad15b28eebe8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Apr 2016 15:55:41 +0200 Subject: [PATCH 005/101] Really disable the bmalloc --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b2f853e..bd66624 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -169,7 +169,7 @@ pushd %{_target_platform} %ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x %{arm} ppc %{power64} %{mips} +%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} -DUSE_SYSTEM_MALLOC=ON \ %endif .. From 492c4448b38ad84ec6e6486c90e4ffa53bfab57a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 28 Apr 2016 10:56:13 +0200 Subject: [PATCH 006/101] Update to 2.12.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e52a13e..4a9ed5d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /webkitgtk-2.11.92.tar.xz /webkitgtk-2.12.0.tar.xz /webkitgtk-2.12.1.tar.xz +/webkitgtk-2.12.2.tar.xz diff --git a/sources b/sources index 8ecfe7c..9ed4581 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adcbee440d81acfb1ead9ada91bd5e79 webkitgtk-2.12.1.tar.xz +41e018d651413fdbcd4b6480ab1fbd7b webkitgtk-2.12.2.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index bd66624..16724c0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.1 -Release: 3%{?dist} +Version: 2.12.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -147,7 +147,7 @@ rm -rf Source/ThirdParty/qunit/ %ifarch ppc # Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled -%global optflags %{optflags} -Wl,-relax -latomic +%global optflags %{optflags} -Wl,-relax %endif %if 0%{?fedora} @@ -249,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 28 2016 Tomas Popela - 2.12.2-1 +- Update to 2.12.2 + * Tue Apr 26 2016 Tomas Popela - 2.12.1-3 - Fix the build on aarch64 - disable bmalloc as it's crashing when generating the documentation From 511ddd84e544d9f8625af26d91c98f58cfe6bade Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 29 Apr 2016 08:25:40 +0200 Subject: [PATCH 007/101] typelib is in jsc, drop from jsc-devel Signed-off-by: Igor Gnatenko --- webkitgtk4.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 16724c0..529b859 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -236,7 +236,6 @@ make %{?_smp_mflags} -C %{_target_platform} %{_includedir}/webkitgtk-4.0/JavaScriptCore/ %{_libdir}/libjavascriptcoregtk-4.0.so %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc -%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir %files plugin-process-gtk2 From ba96064eaf1fc4aa7f748caf580cc013d7902dfd Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 29 Apr 2016 08:28:53 +0200 Subject: [PATCH 008/101] add chlog entry Signed-off-by: Igor Gnatenko --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 529b859..3aadece 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.12.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -248,6 +248,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Apr 29 2016 Igor Gnatenko - 2.12.2-2 +- Remove typelib from jsc-devel because it is in jsc + * Thu Apr 28 2016 Tomas Popela - 2.12.2-1 - Update to 2.12.2 From 4d91e6196437593291a632fe4d57f3ebfaf668a6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 24 May 2016 11:21:13 +0200 Subject: [PATCH 009/101] Update to 2.12.3 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.11.5-youtube.patch | 34 ---------------------------------- webkitgtk4.spec | 9 +++++---- 4 files changed, 7 insertions(+), 39 deletions(-) delete mode 100644 webkitgtk-2.11.5-youtube.patch diff --git a/.gitignore b/.gitignore index 4a9ed5d..d2b5f8b 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /webkitgtk-2.12.0.tar.xz /webkitgtk-2.12.1.tar.xz /webkitgtk-2.12.2.tar.xz +/webkitgtk-2.12.3.tar.xz diff --git a/sources b/sources index 9ed4581..3ba2373 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -41e018d651413fdbcd4b6480ab1fbd7b webkitgtk-2.12.2.tar.xz +aebb4029c09dd81664aa830e4a584c85 webkitgtk-2.12.3.tar.xz diff --git a/webkitgtk-2.11.5-youtube.patch b/webkitgtk-2.11.5-youtube.patch deleted file mode 100644 index e5a43a3..0000000 --- a/webkitgtk-2.11.5-youtube.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp ---- webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig 2016-02-09 10:04:54.898217667 +0100 -+++ webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2016-02-09 10:13:35.080875509 +0100 -@@ -1734,7 +1734,7 @@ static HashSet error; -+ GUniqueOutPtr stdout_to_discard; -+ GUniqueOutPtr stderr_to_discard; -+ gboolean success = g_spawn_command_line_sync( -+ "rpm -qi gstreamer1-libav", -+ &stdout_to_discard.outPtr(), -+ &stderr_to_discard.outPtr(), -+ &exit_status, -+ &error.outPtr()); -+ if (success && !error && !exit_status) -+ set.add(String::fromUTF8("video/mp4")); -+ - return set; - }(); - return cache; diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3aadece..103bff0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.2 -Release: 2%{?dist} +Version: 2.12.3 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -16,8 +16,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch -# https://bugs.webkit.org/show_bug.cgi?id=135972 -Patch1: webkitgtk-2.11.5-youtube.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -248,6 +246,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue May 24 2016 Tomas Popela - 2.12.3-1 +- Update to 2.12.3 + * Fri Apr 29 2016 Igor Gnatenko - 2.12.2-2 - Remove typelib from jsc-devel because it is in jsc From 561e52f54c1a17907edbb3e3e001914affe92c5b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 31 May 2016 13:47:09 +0200 Subject: [PATCH 010/101] Update to 2.13.1 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d2b5f8b..b455e2e 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /webkitgtk-2.12.1.tar.xz /webkitgtk-2.12.2.tar.xz /webkitgtk-2.12.3.tar.xz +/webkitgtk-2.13.1.tar.xz diff --git a/sources b/sources index 3ba2373..b0f27c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aebb4029c09dd81664aa830e4a584c85 webkitgtk-2.12.3.tar.xz +06c9c42f147962ff0ecdeb32ee5b6486 webkitgtk-2.13.1.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 103bff0..c155b83 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.3 +Version: 2.13.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -246,6 +246,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue May 31 2016 Tomas Popela - 2.13.1-1 +- Update to 2.13.1 + * Tue May 24 2016 Tomas Popela - 2.12.3-1 - Update to 2.12.3 From a881075f055577ee7d2a969e24f31773eb94b5c9 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 31 May 2016 13:55:39 +0200 Subject: [PATCH 011/101] Add gnutls-devel as a BR --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index c155b83..9eead6f 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -54,6 +54,7 @@ BuildRequires: perl-Switch BuildRequires: ruby rubypick rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel +BuildRequires: gnutls-devel %ifarch ppc BuildRequires: libatomic %endif From 1d7fc885ccbe9894d03d0d5ca09fadbae6bb5b43 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sun, 19 Jun 2016 21:13:52 -0500 Subject: [PATCH 012/101] Add patch to comply with Fedora crypto policy --- fedora-crypto-policy.patch | 39 ++++++++++++++++++++++++++++++++++++++ webkitgtk4.spec | 8 +++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 fedora-crypto-policy.patch diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch new file mode 100644 index 0000000..cb7c756 --- /dev/null +++ b/fedora-crypto-policy.patch @@ -0,0 +1,39 @@ +From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Sun, 19 Jun 2016 21:10:03 -0500 +Subject: [PATCH] https://fedoraproject.org/wiki/Packaging:CryptoPolicies + +--- + Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp | 2 +- + Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +index b282e16..ed8bbbd 100644 +--- a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp ++++ b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +@@ -39,7 +39,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); + + return NetworkProcessMainUnix(argc, argv); + } +diff --git a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +index 5f45d01..2b34ead 100644 +--- a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp ++++ b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +@@ -39,7 +39,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); + + return WebProcessMainUnix(argc, argv); + } +-- +2.7.4 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 9eead6f..eacab1e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.13.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -16,6 +16,9 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch +# https://fedoraproject.org/wiki/Packaging:CryptoPolicies +# https://bugs.webkit.org/show_bug.cgi?id=158785 +Patch0: fedora-crypto-policy.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -247,6 +250,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Sun Jun 19 2016 Michael Catanzaro - 2.13.1-2 +- Add patch to comply with Fedora crypto policy + * Tue May 31 2016 Tomas Popela - 2.13.1-1 - Update to 2.13.1 From f9cde96aad4df99b7954662c7fd0fb0321fdee5c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Sun, 19 Jun 2016 21:14:18 -0500 Subject: [PATCH 013/101] Add patch to comply with Fedora crypto policy --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index eacab1e..a5b9da7 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -18,7 +18,7 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch0: fedora-crypto-policy.patch +Patch1: fedora-crypto-policy.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 4f08e478d19c4fad00ba1996738112390eaa2129 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 23 Jun 2016 11:59:52 +0200 Subject: [PATCH 014/101] Update to 2.13.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b455e2e..ea25481 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /webkitgtk-2.12.2.tar.xz /webkitgtk-2.12.3.tar.xz /webkitgtk-2.13.1.tar.xz +/webkitgtk-2.13.2.tar.xz diff --git a/sources b/sources index b0f27c1..9056a32 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -06c9c42f147962ff0ecdeb32ee5b6486 webkitgtk-2.13.1.tar.xz +222fc71ea98b7ce3bddd00d6d1b18067 webkitgtk-2.13.2.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index a5b9da7..de764e0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.1 -Release: 2%{?dist} +Version: 2.13.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -250,6 +250,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Jun 23 2016 Tomas Popela - 2.13.2-1 +- Update to 2.13.2 + * Sun Jun 19 2016 Michael Catanzaro - 2.13.1-2 - Add patch to comply with Fedora crypto policy From ba54d8c87f0257e6a485490cbf35262039f27fa3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 24 Jun 2016 11:43:52 +0200 Subject: [PATCH 015/101] Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159083 is fixed --- webkitgtk4.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index de764e0..f48a2e0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -168,7 +168,7 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif %ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} @@ -252,6 +252,7 @@ make %{?_smp_mflags} -C %{_target_platform} %changelog * Thu Jun 23 2016 Tomas Popela - 2.13.2-1 - Update to 2.13.2 +- Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159083 is fixed * Sun Jun 19 2016 Michael Catanzaro - 2.13.1-2 - Add patch to comply with Fedora crypto policy From 97abe45fdfe9527d9bb1736f5d05190feba9e14b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 28 Jun 2016 15:50:47 +0200 Subject: [PATCH 016/101] Enable JIT and BMalloc on ARMv7 --- webkitgtk-2.13.2-armv7_thumb2.patch | 11 +++++++++++ webkitgtk4.spec | 11 ++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 webkitgtk-2.13.2-armv7_thumb2.patch diff --git a/webkitgtk-2.13.2-armv7_thumb2.patch b/webkitgtk-2.13.2-armv7_thumb2.patch new file mode 100644 index 0000000..afc2cee --- /dev/null +++ b/webkitgtk-2.13.2-armv7_thumb2.patch @@ -0,0 +1,11 @@ +diff -up webkitgtk-2.13.2/Source/WTF/wtf/Platform.h.armv7_thumb2 webkitgtk-2.13.2/Source/WTF/wtf/Platform.h +--- webkitgtk-2.13.2/Source/WTF/wtf/Platform.h.armv7_thumb2 2016-06-28 15:48:35.879215828 +0200 ++++ webkitgtk-2.13.2/Source/WTF/wtf/Platform.h 2016-06-28 15:49:14.291077281 +0200 +@@ -302,6 +302,7 @@ + /* Only one of these will be defined. */ + #if !defined(WTF_CPU_ARM_TRADITIONAL) && !defined(WTF_CPU_ARM_THUMB2) + # if defined(thumb2) || defined(__thumb2__) \ ++ || (defined(__ARM_ARCH_ISA_THUMB) && __ARM_ARCH_ISA_THUMB == 2) \ + || ((defined(__thumb) || defined(__thumb__)) && WTF_THUMB_ARCH_VERSION == 4) + # define WTF_CPU_ARM_TRADITIONAL 0 + # define WTF_CPU_ARM_THUMB2 1 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f48a2e0..196aade 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.13.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,6 +19,8 @@ Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=159083 +Patch2: webkitgtk-2.13.2-armv7_thumb2.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -168,10 +170,10 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif -%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DUSE_SYSTEM_MALLOC=ON \ %endif .. @@ -250,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Jun 23 2016 Tomas Popela - 2.13.2-2 +- Enable JIT and BMalloc on ARMv7 + * Thu Jun 23 2016 Tomas Popela - 2.13.2-1 - Update to 2.13.2 - Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159083 is fixed From 85a1bbbd8bbce792ece18c545e418a856dab6365 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 28 Jun 2016 10:46:33 -0500 Subject: [PATCH 017/101] Disable NPAPI in Wayland - Specify more bundled provides --- ...tgtk-2.13.2-disable-npapi-in-wayland.patch | 47 +++++++++++++++++++ webkitgtk4.spec | 14 ++++-- 2 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 webkitgtk-2.13.2-disable-npapi-in-wayland.patch diff --git a/webkitgtk-2.13.2-disable-npapi-in-wayland.patch b/webkitgtk-2.13.2-disable-npapi-in-wayland.patch new file mode 100644 index 0000000..7eb1fab --- /dev/null +++ b/webkitgtk-2.13.2-disable-npapi-in-wayland.patch @@ -0,0 +1,47 @@ +From 5e55ce4e097ed1bb76dd9fc8ae221c3765383e94 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Tue, 28 Jun 2016 10:36:40 -0500 +Subject: [PATCH] wayland: disable windowless NPAPI plugins + +They are seriously broken. We will not enable these in Fedora until the +upstream bug is fixed. The only known plugin this affects is the +gnome-shell browser plugin, which we don't want to support anyway due to +the huge number crash reports. +--- + Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp | 6 ++++++ + Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp +index 4ba4ac6..4a59d66 100644 +--- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp ++++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp +@@ -1621,6 +1621,12 @@ void webkit_settings_set_enable_plugins(WebKitSettings* settings, gboolean enabl + { + g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); + ++#if PLATFORM(WAYLAND) ++ // https://bugs.webkit.org/show_bug.cgi?id=158697 ++ if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) ++ return; ++#endif ++ + WebKitSettingsPrivate* priv = settings->priv; + bool currentValue = priv->preferences->pluginsEnabled(); + if (currentValue == enabled) +diff --git a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp +index ae14e9e..ed932b1 100644 +--- a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp ++++ b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp +@@ -39,6 +39,8 @@ void WebPreferences::platformInitializeStore() + // FIXME: Accelerated compositing under Wayland is not yet supported. + // https://bugs.webkit.org/show_bug.cgi?id=115803 + setAcceleratedCompositingEnabled(false); ++ // https://bugs.webkit.org/show_bug.cgi?id=158697 ++ setPluginsEnabled(false); + } + #endif + #if USE(COORDINATED_GRAPHICS_THREADED) +-- +2.7.4 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 196aade..9f2009c 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.13.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,6 +21,8 @@ Patch0: webkitgtk-2.7.90-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=159083 Patch2: webkitgtk-2.13.2-armv7_thumb2.patch +# https://bugs.webkit.org/show_bug.cgi?id=158697 +Patch3: webkitgtk-2.13.2-disable-npapi-in-wayland.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -70,9 +72,11 @@ Requires: geoclue2 Obsoletes: libwebkit2gtk < 2.5.0 Provides: libwebkit2gtk = %{version}-%{release} -# We're supposed to specify a version here, but this is pointless because ANGLE -# doesn't do normal releases. WebKit uses git snapshots. +# We're supposed to specify versions here, but these crap Google libs don't do +# normal releases. Accordingly, they're not suitable to be system libs. Provides: bundled(angle) +Provides: bundled(brotli) +Provides: bundled(woff2) # Require the jsc subpackage Requires: %{name}-jsc%{?_isa} = %{version}-%{release} @@ -252,6 +256,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jun 28 2016 Michael Catanzaro - 2.13.2-3 +- Disable NPAPI in Wayland +- Specify more bundled provides + * Thu Jun 23 2016 Tomas Popela - 2.13.2-2 - Enable JIT and BMalloc on ARMv7 From 9017f9f28d05a8a0cd194d07f998f61f9b158ec6 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 28 Jun 2016 10:48:24 -0500 Subject: [PATCH 018/101] Fix whitespace --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 9f2009c..309326c 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -74,7 +74,7 @@ Provides: libwebkit2gtk = %{version}-%{release} # We're supposed to specify versions here, but these crap Google libs don't do # normal releases. Accordingly, they're not suitable to be system libs. -Provides: bundled(angle) +Provides: bundled(angle) Provides: bundled(brotli) Provides: bundled(woff2) From ae95732a2a2533d0062afbb27bd227a42e57fc28 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 29 Jun 2016 09:37:30 +0200 Subject: [PATCH 019/101] Again disable JIT on ARMv7 until rhbz#1350982 is fixed --- webkitgtk4.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 309326c..eadc24e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -174,7 +174,7 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} aarch64 %{mips} %{arm} -DENABLE_JIT=OFF \ %endif %ifarch s390 s390x ppc %{power64} aarch64 %{mips} @@ -259,6 +259,7 @@ make %{?_smp_mflags} -C %{_target_platform} * Tue Jun 28 2016 Michael Catanzaro - 2.13.2-3 - Disable NPAPI in Wayland - Specify more bundled provides +- Again disable JIT on ARMv7 until rhbz#1350982 is fixed * Thu Jun 23 2016 Tomas Popela - 2.13.2-2 - Enable JIT and BMalloc on ARMv7 From b05e95959eb9ba214dcdd8069061b9087a79f79b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 8 Jul 2016 13:24:34 +0200 Subject: [PATCH 020/101] Remove the wrong patch for THUMB2 support --- webkitgtk-2.13.2-armv7_thumb2.patch | 11 ----------- webkitgtk4.spec | 12 +++++++----- 2 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 webkitgtk-2.13.2-armv7_thumb2.patch diff --git a/webkitgtk-2.13.2-armv7_thumb2.patch b/webkitgtk-2.13.2-armv7_thumb2.patch deleted file mode 100644 index afc2cee..0000000 --- a/webkitgtk-2.13.2-armv7_thumb2.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up webkitgtk-2.13.2/Source/WTF/wtf/Platform.h.armv7_thumb2 webkitgtk-2.13.2/Source/WTF/wtf/Platform.h ---- webkitgtk-2.13.2/Source/WTF/wtf/Platform.h.armv7_thumb2 2016-06-28 15:48:35.879215828 +0200 -+++ webkitgtk-2.13.2/Source/WTF/wtf/Platform.h 2016-06-28 15:49:14.291077281 +0200 -@@ -302,6 +302,7 @@ - /* Only one of these will be defined. */ - #if !defined(WTF_CPU_ARM_TRADITIONAL) && !defined(WTF_CPU_ARM_THUMB2) - # if defined(thumb2) || defined(__thumb2__) \ -+ || (defined(__ARM_ARCH_ISA_THUMB) && __ARM_ARCH_ISA_THUMB == 2) \ - || ((defined(__thumb) || defined(__thumb__)) && WTF_THUMB_ARCH_VERSION == 4) - # define WTF_CPU_ARM_TRADITIONAL 0 - # define WTF_CPU_ARM_THUMB2 1 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index eadc24e..03c01f5 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.13.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,10 +19,8 @@ Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=159083 -Patch2: webkitgtk-2.13.2-armv7_thumb2.patch # https://bugs.webkit.org/show_bug.cgi?id=158697 -Patch3: webkitgtk-2.13.2-disable-npapi-in-wayland.patch +Patch2: webkitgtk-2.13.2-disable-npapi-in-wayland.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -174,6 +172,7 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif +# Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159408 is fixed %ifarch s390 s390x ppc %{power64} aarch64 %{mips} %{arm} -DENABLE_JIT=OFF \ %endif @@ -256,12 +255,15 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Jul 08 2016 Tomas Popela - 2.13.2-4 +- Remove the wrong patch for THUMB2 support + * Tue Jun 28 2016 Michael Catanzaro - 2.13.2-3 - Disable NPAPI in Wayland - Specify more bundled provides - Again disable JIT on ARMv7 until rhbz#1350982 is fixed -* Thu Jun 23 2016 Tomas Popela - 2.13.2-2 +* Tue Jun 28 2016 Tomas Popela - 2.13.2-2 - Enable JIT and BMalloc on ARMv7 * Thu Jun 23 2016 Tomas Popela - 2.13.2-1 From 6bb10d51d7d9a8fb307c4f29c5c0b167b6e7cbde Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 18 Jul 2016 12:59:34 +0200 Subject: [PATCH 021/101] Update to 2.13.3 Enable JIT on ARMv7 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 11 +++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ea25481..83122b2 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /webkitgtk-2.12.3.tar.xz /webkitgtk-2.13.1.tar.xz /webkitgtk-2.13.2.tar.xz +/webkitgtk-2.13.3.tar.xz diff --git a/sources b/sources index 9056a32..5418b86 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -222fc71ea98b7ce3bddd00d6d1b18067 webkitgtk-2.13.2.tar.xz +a71f14378e8761ec5de48488b2c799a8 webkitgtk-2.13.3.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 03c01f5..e47044f 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.2 -Release: 4%{?dist} +Version: 2.13.3 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -172,8 +172,7 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif -# Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159408 is fixed -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} %{arm} +%ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif %ifarch s390 s390x ppc %{power64} aarch64 %{mips} @@ -255,6 +254,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Jul 18 2016 Tomas Popela - 2.13.3-1 +- Update to 2.13.3 +- Enable JIT on ARMv7 + * Fri Jul 08 2016 Tomas Popela - 2.13.2-4 - Remove the wrong patch for THUMB2 support From c9a94533169455e2a577e2f4c7ac6352ed81cd15 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 27 Jul 2016 09:49:51 +0200 Subject: [PATCH 022/101] Update to 2.13.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 83122b2..49e54d3 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /webkitgtk-2.13.1.tar.xz /webkitgtk-2.13.2.tar.xz /webkitgtk-2.13.3.tar.xz +/webkitgtk-2.13.4.tar.xz diff --git a/sources b/sources index 5418b86..26847f9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a71f14378e8761ec5de48488b2c799a8 webkitgtk-2.13.3.tar.xz +af692763d3accee2c651e037039411e2 webkitgtk-2.13.4.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e47044f..2a732be 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.3 +Version: 2.13.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -254,6 +254,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Jul 27 2016 Tomas Popela - 2.13.4-1 +- Update to 2.13.4 + * Mon Jul 18 2016 Tomas Popela - 2.13.3-1 - Update to 2.13.3 - Enable JIT on ARMv7 From 60f0c54196c043cb5b8bff59094df919eefafb1e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 31 Aug 2016 13:01:30 +0200 Subject: [PATCH 023/101] Update to 2.13.90 --- .gitignore | 1 + sources | 2 +- ...tgtk-2.13.2-disable-npapi-in-wayland.patch | 44 ++++++------------- webkitgtk4.spec | 9 +++- 4 files changed, 23 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 49e54d3..fd0bda4 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /webkitgtk-2.13.2.tar.xz /webkitgtk-2.13.3.tar.xz /webkitgtk-2.13.4.tar.xz +/webkitgtk-2.13.90.tar.xz diff --git a/sources b/sources index 26847f9..e243729 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -af692763d3accee2c651e037039411e2 webkitgtk-2.13.4.tar.xz +66416639a997cb764adbfe6b8262ded0 webkitgtk-2.13.90.tar.xz diff --git a/webkitgtk-2.13.2-disable-npapi-in-wayland.patch b/webkitgtk-2.13.2-disable-npapi-in-wayland.patch index 7eb1fab..d8ca29f 100644 --- a/webkitgtk-2.13.2-disable-npapi-in-wayland.patch +++ b/webkitgtk-2.13.2-disable-npapi-in-wayland.patch @@ -1,22 +1,7 @@ -From 5e55ce4e097ed1bb76dd9fc8ae221c3765383e94 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Tue, 28 Jun 2016 10:36:40 -0500 -Subject: [PATCH] wayland: disable windowless NPAPI plugins - -They are seriously broken. We will not enable these in Fedora until the -upstream bug is fixed. The only known plugin this affects is the -gnome-shell browser plugin, which we don't want to support anyway due to -the huge number crash reports. ---- - Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp | 6 ++++++ - Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp | 2 ++ - 2 files changed, 8 insertions(+) - -diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp -index 4ba4ac6..4a59d66 100644 ---- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp -+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp -@@ -1621,6 +1621,12 @@ void webkit_settings_set_enable_plugins(WebKitSettings* settings, gboolean enabl +diff -up webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp.disable_npapi_in_wayland webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp +--- webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp.disable_npapi_in_wayland 2016-08-30 18:52:41.000000000 +0200 ++++ webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2016-08-31 12:59:03.398097549 +0200 +@@ -1621,6 +1621,12 @@ void webkit_settings_set_enable_plugins( { g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); @@ -29,19 +14,16 @@ index 4ba4ac6..4a59d66 100644 WebKitSettingsPrivate* priv = settings->priv; bool currentValue = priv->preferences->pluginsEnabled(); if (currentValue == enabled) -diff --git a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp -index ae14e9e..ed932b1 100644 ---- a/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp -+++ b/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp -@@ -39,6 +39,8 @@ void WebPreferences::platformInitializeStore() - // FIXME: Accelerated compositing under Wayland is not yet supported. - // https://bugs.webkit.org/show_bug.cgi?id=115803 - setAcceleratedCompositingEnabled(false); +diff -up webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp.disable_npapi_in_wayland webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp +--- webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp.disable_npapi_in_wayland 2016-08-30 18:52:41.000000000 +0200 ++++ webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp 2016-08-31 12:52:10.954610986 +0200 +@@ -69,6 +69,9 @@ void WebPreferences::platformInitializeS + if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland) { + if (!WaylandCompositor::singleton().isRunning()) + setAcceleratedCompositingEnabled(false); ++ + // https://bugs.webkit.org/show_bug.cgi?id=158697 + setPluginsEnabled(false); } #endif - #if USE(COORDINATED_GRAPHICS_THREADED) --- -2.7.4 - + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 2a732be..e7b4853 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.4 +Version: 2.13.90 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -20,6 +20,10 @@ Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=158697 +# They are seriously broken. We will not enable these in Fedora until the +# upstream bug is fixed. The only known plugin this affects is the +# gnome-shell browser plugin, which we don't want to support anyway due to +# the huge number crash reports. Patch2: webkitgtk-2.13.2-disable-npapi-in-wayland.patch BuildRequires: at-spi2-core-devel @@ -254,6 +258,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Aug 31 2016 Tomas Popela - 2.13.90-1 +- Update to 2.13.90 + * Wed Jul 27 2016 Tomas Popela - 2.13.4-1 - Update to 2.13.4 From 8a4b347075aacf1ef6d35848eb00a0fdb1c750b8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 12 Sep 2016 10:47:07 +0200 Subject: [PATCH 024/101] Update to 2.13.91 --- .gitignore | 1 + sources | 2 +- ...tgtk-2.13.2-disable-npapi-in-wayland.patch | 29 ------------------- webkitgtk4.spec | 9 ++---- 4 files changed, 5 insertions(+), 36 deletions(-) delete mode 100644 webkitgtk-2.13.2-disable-npapi-in-wayland.patch diff --git a/.gitignore b/.gitignore index fd0bda4..0d457b0 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /webkitgtk-2.13.3.tar.xz /webkitgtk-2.13.4.tar.xz /webkitgtk-2.13.90.tar.xz +/webkitgtk-2.13.91.tar.xz diff --git a/sources b/sources index e243729..9462c07 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -66416639a997cb764adbfe6b8262ded0 webkitgtk-2.13.90.tar.xz +0cd592539ded6a4b2997a3af0363c68a webkitgtk-2.13.91.tar.xz diff --git a/webkitgtk-2.13.2-disable-npapi-in-wayland.patch b/webkitgtk-2.13.2-disable-npapi-in-wayland.patch deleted file mode 100644 index d8ca29f..0000000 --- a/webkitgtk-2.13.2-disable-npapi-in-wayland.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp.disable_npapi_in_wayland webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp ---- webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp.disable_npapi_in_wayland 2016-08-30 18:52:41.000000000 +0200 -+++ webkitgtk-2.13.90/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2016-08-31 12:59:03.398097549 +0200 -@@ -1621,6 +1621,12 @@ void webkit_settings_set_enable_plugins( - { - g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); - -+#if PLATFORM(WAYLAND) -+ // https://bugs.webkit.org/show_bug.cgi?id=158697 -+ if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) -+ return; -+#endif -+ - WebKitSettingsPrivate* priv = settings->priv; - bool currentValue = priv->preferences->pluginsEnabled(); - if (currentValue == enabled) -diff -up webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp.disable_npapi_in_wayland webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp ---- webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp.disable_npapi_in_wayland 2016-08-30 18:52:41.000000000 +0200 -+++ webkitgtk-2.13.90/Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp 2016-08-31 12:52:10.954610986 +0200 -@@ -69,6 +69,9 @@ void WebPreferences::platformInitializeS - if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland) { - if (!WaylandCompositor::singleton().isRunning()) - setAcceleratedCompositingEnabled(false); -+ -+ // https://bugs.webkit.org/show_bug.cgi?id=158697 -+ setPluginsEnabled(false); - } - #endif - diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e7b4853..ac3d84a 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -19,12 +19,6 @@ Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=158697 -# They are seriously broken. We will not enable these in Fedora until the -# upstream bug is fixed. The only known plugin this affects is the -# gnome-shell browser plugin, which we don't want to support anyway due to -# the huge number crash reports. -Patch2: webkitgtk-2.13.2-disable-npapi-in-wayland.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -258,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Sep 12 2016 Tomas Popela - 2.13.91-1 +- Update to 2.13.91 + * Wed Aug 31 2016 Tomas Popela - 2.13.90-1 - Update to 2.13.90 From f2f09da95aecb308cf5e006f398bc315de4a77d7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 12 Sep 2016 10:47:58 +0200 Subject: [PATCH 025/101] Correct the version --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index ac3d84a..f102b07 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.90 +Version: 2.13.91 Release: 1%{?dist} Summary: GTK+ Web content engine library From 13489be3acead8a54ddf3b2d5021e4cc9dff313d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Sep 2016 12:04:32 +0200 Subject: [PATCH 026/101] Update to 2.13.92 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0d457b0..e32b26a 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /webkitgtk-2.13.4.tar.xz /webkitgtk-2.13.90.tar.xz /webkitgtk-2.13.91.tar.xz +/webkitgtk-2.13.92.tar.xz diff --git a/sources b/sources index 9462c07..e2648ae 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0cd592539ded6a4b2997a3af0363c68a webkitgtk-2.13.91.tar.xz +edb200845e0a1aa630e8cec5739f6e47 webkitgtk-2.13.92.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f102b07..5006f90 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.91 +Version: 2.13.92 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Sep 15 2016 Tomas Popela - 2.13.92-1 +- Update to 2.13.92 + * Mon Sep 12 2016 Tomas Popela - 2.13.91-1 - Update to 2.13.91 From c99319852ab877438b72b6606862b7beb3a50b3e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Sep 2016 09:28:24 +0200 Subject: [PATCH 027/101] Update to 2.14.0 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e32b26a..64503b8 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /webkitgtk-2.13.90.tar.xz /webkitgtk-2.13.91.tar.xz /webkitgtk-2.13.92.tar.xz +/webkitgtk-2.14.0.tar.xz diff --git a/sources b/sources index e2648ae..9f3a052 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -edb200845e0a1aa630e8cec5739f6e47 webkitgtk-2.13.92.tar.xz +20f21f48677559750581471c7aeb8648 webkitgtk-2.14.0.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5006f90..5f051b3 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.13.92 +Version: 2.14.0 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Sep 20 2016 Tomas Popela - 2.14.0-1 +- Update to 2.14.0 + * Thu Sep 15 2016 Tomas Popela - 2.13.92-1 - Update to 2.13.92 From 92c3ad1eabdd38a5a5533c25be94f00c1ba70908 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 12 Oct 2016 08:03:24 +0200 Subject: [PATCH 028/101] Update to 2.14.1 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.14.1-user-agent-branding.patch | 14 +++++++++++ webkitgtk-2.7.90-user-agent-branding.patch | 27 ---------------------- webkitgtk4.spec | 11 +++++---- 5 files changed, 23 insertions(+), 32 deletions(-) create mode 100644 webkitgtk-2.14.1-user-agent-branding.patch delete mode 100644 webkitgtk-2.7.90-user-agent-branding.patch diff --git a/.gitignore b/.gitignore index 64503b8..5a8c40e 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /webkitgtk-2.13.91.tar.xz /webkitgtk-2.13.92.tar.xz /webkitgtk-2.14.0.tar.xz +/webkitgtk-2.14.1.tar.xz diff --git a/sources b/sources index 9f3a052..84d7620 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -20f21f48677559750581471c7aeb8648 webkitgtk-2.14.0.tar.xz +8d6c60dc41604d3bbd43165a674c07e5 webkitgtk-2.14.1.tar.xz diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch new file mode 100644 index 0000000..bfb4faf --- /dev/null +++ b/webkitgtk-2.14.1-user-agent-branding.patch @@ -0,0 +1,14 @@ +diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp +--- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 ++++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 +@@ -121,6 +121,10 @@ static String buildUserAgentString(const + + uaString.appendLiteral("; "); + ++#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); ++#endif ++ + if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) + uaString.appendLiteral("Intel Mac OS X 10_12"); + else diff --git a/webkitgtk-2.7.90-user-agent-branding.patch b/webkitgtk-2.7.90-user-agent-branding.patch deleted file mode 100644 index 84b5117..0000000 --- a/webkitgtk-2.7.90-user-agent-branding.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 050232bc122d6785fea01d39121c2f93e8dd16f1 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Thu, 26 Feb 2015 16:06:36 -0600 -Subject: [PATCH] Allow branding the user agent - ---- - Source/WebCore/platform/gtk/UserAgentGtk.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Source/WebCore/platform/gtk/UserAgentGtk.cpp b/Source/WebCore/platform/gtk/UserAgentGtk.cpp -index 91641dc..727fbaf 100644 ---- a/Source/WebCore/platform/gtk/UserAgentGtk.cpp -+++ b/Source/WebCore/platform/gtk/UserAgentGtk.cpp -@@ -84,7 +84,9 @@ static const char* cpuDescriptionForUAString() - - static const char* platformForUAString() - { --#if PLATFORM(X11) -+#if defined USER_AGENT_GTK_DISTRIBUTOR_NAME -+ return USER_AGENT_GTK_DISTRIBUTOR_NAME; -+#elif PLATFORM(X11) - return "X11"; - #elif OS(WINDOWS) - return ""; --- -2.1.0 - diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5f051b3..e5d3abe 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.0 +Version: 2.14.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -14,11 +14,11 @@ License: LGPLv2 URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz -# https://bugs.webkit.org/show_bug.cgi?id=142074 -Patch0: webkitgtk-2.7.90-user-agent-branding.patch +# https://bugs.webkit.org/show_bug.cgi?id=162611 +Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch +Patch1: fedora-crypto-policy.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Oct 12 2016 Tomas Popela - 2.14.1-1 +- Update to 2.14.1 + * Tue Sep 20 2016 Tomas Popela - 2.14.0-1 - Update to 2.14.0 From ddbfe2aa9bdae4009bcb2815e2cb0d04128b85ab Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 12 Oct 2016 11:58:57 +0200 Subject: [PATCH 029/101] jsc and MiniBrowser are now installed into libexec instead of bin --- webkitgtk4.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e5d3abe..f5cd1c0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -220,7 +220,7 @@ make %{?_smp_mflags} -C %{_target_platform} %exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 %files devel -%{_bindir}/MiniBrowser +%{_libexecdir}/webkit2gtk-4.0/MiniBrowser %{_includedir}/webkitgtk-4.0/ %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore %{_libdir}/libwebkit2gtk-4.0.so @@ -235,7 +235,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib %files jsc-devel -%{_bindir}/jsc +%{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 %{_includedir}/webkitgtk-4.0/JavaScriptCore/ %{_libdir}/libjavascriptcoregtk-4.0.so From 7d6f592acd0eb752a5ea8d0f1c45aee85d581c10 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 12 Oct 2016 11:59:06 -0400 Subject: [PATCH 030/101] Prefer eglGetPlatformDisplay to eglGetDisplay --- eglGetPlatformDisplay.patch | 81 +++++++++++++++++++++++++++++++++++++ webkitgtk4.spec | 9 ++++- 2 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 eglGetPlatformDisplay.patch diff --git a/eglGetPlatformDisplay.patch b/eglGetPlatformDisplay.patch new file mode 100644 index 0000000..c1cace3 --- /dev/null +++ b/eglGetPlatformDisplay.patch @@ -0,0 +1,81 @@ +diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h +--- webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h.jx 2016-09-19 08:18:06.000000000 -0400 ++++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h 2016-10-11 18:45:48.497320945 -0400 +@@ -24,6 +24,7 @@ + + #include "GLContext.h" + #include ++#include + + #if PLATFORM(X11) + #include "XUniqueResource.h" +diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp +--- webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp.jx 2016-09-19 08:18:06.000000000 -0400 ++++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp 2016-10-11 18:45:48.497320945 -0400 +@@ -62,7 +62,26 @@ void PlatformDisplayWayland::initialize( + wl_registry_add_listener(m_registry.get(), &s_registryListener, this); + wl_display_roundtrip(m_display); + +- m_eglDisplay = eglGetDisplay(m_display); ++ const char *client_extensions = eglQueryString (NULL, EGL_EXTENSIONS); ++ ++ if (strstr (client_extensions, "EGL_KHR_platform_base")) { ++ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = ++ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplay"); ++ ++ if (get_platform_display) ++ m_eglDisplay = get_platform_display (EGL_PLATFORM_WAYLAND_KHR, ++ m_display, NULL); ++ } else if (strstr (client_extensions, "EGL_EXT_platform_base")) { ++ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = ++ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplayEXT"); ++ ++ if (get_platform_display) ++ m_eglDisplay = get_platform_display (EGL_PLATFORM_WAYLAND_KHR, ++ m_display, NULL); ++ } else { ++ m_eglDisplay = eglGetDisplay ((EGLNativeDisplayType) m_display); ++ } ++ + PlatformDisplay::initializeEGLDisplay(); + } + +diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp +--- webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp.jx 2016-09-19 08:18:06.000000000 -0400 ++++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2016-10-11 18:46:07.501627378 -0400 +@@ -35,6 +35,7 @@ + + #if USE(EGL) + #include ++#include + #include + #endif + +@@ -68,7 +69,26 @@ PlatformDisplayX11::~PlatformDisplayX11( + #if USE(EGL) + void PlatformDisplayX11::initializeEGLDisplay() + { +- m_eglDisplay = eglGetDisplay(m_display); ++ const char *client_extensions = eglQueryString (NULL, EGL_EXTENSIONS); ++ ++ if (strstr (client_extensions, "EGL_KHR_platform_base")) { ++ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = ++ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplay"); ++ ++ if (get_platform_display) ++ m_eglDisplay = get_platform_display (EGL_PLATFORM_X11_KHR, ++ m_display, NULL); ++ } else if (strstr (client_extensions, "EGL_EXT_platform_base")) { ++ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = ++ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplayEXT"); ++ ++ if (get_platform_display) ++ m_eglDisplay = get_platform_display (EGL_PLATFORM_X11_KHR, ++ m_display, NULL); ++ } else { ++ m_eglDisplay = eglGetDisplay ((EGLNativeDisplayType) m_display); ++ } ++ + PlatformDisplay::initializeEGLDisplay(); + } + #endif diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f5cd1c0..9914f64 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.14.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -18,7 +18,9 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch +Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=163333 +Patch2: eglGetPlatformDisplay.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -252,6 +254,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Oct 12 2016 Adam Jackson - 2.14.1-2 +- Prefer eglGetPlatformDisplay to eglGetDisplay + * Wed Oct 12 2016 Tomas Popela - 2.14.1-1 - Update to 2.14.1 From 2ce66d5826aac7165d5396bb403a2fd822a989d8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 26 Oct 2016 13:20:19 +0200 Subject: [PATCH 031/101] Update to 2.15.1 --- .gitignore | 1 + eglGetPlatformDisplay.patch | 81 ---------------------- sources | 2 +- webkitgtk-2.14.1-user-agent-branding.patch | 19 +++-- webkitgtk4.spec | 9 +-- 5 files changed, 16 insertions(+), 96 deletions(-) delete mode 100644 eglGetPlatformDisplay.patch diff --git a/.gitignore b/.gitignore index 5a8c40e..4d55ecd 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /webkitgtk-2.13.92.tar.xz /webkitgtk-2.14.0.tar.xz /webkitgtk-2.14.1.tar.xz +/webkitgtk-2.15.1.tar.xz diff --git a/eglGetPlatformDisplay.patch b/eglGetPlatformDisplay.patch deleted file mode 100644 index c1cace3..0000000 --- a/eglGetPlatformDisplay.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h ---- webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h.jx 2016-09-19 08:18:06.000000000 -0400 -+++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/egl/GLContextEGL.h 2016-10-11 18:45:48.497320945 -0400 -@@ -24,6 +24,7 @@ - - #include "GLContext.h" - #include -+#include - - #if PLATFORM(X11) - #include "XUniqueResource.h" -diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp ---- webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp.jx 2016-09-19 08:18:06.000000000 -0400 -+++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp 2016-10-11 18:45:48.497320945 -0400 -@@ -62,7 +62,26 @@ void PlatformDisplayWayland::initialize( - wl_registry_add_listener(m_registry.get(), &s_registryListener, this); - wl_display_roundtrip(m_display); - -- m_eglDisplay = eglGetDisplay(m_display); -+ const char *client_extensions = eglQueryString (NULL, EGL_EXTENSIONS); -+ -+ if (strstr (client_extensions, "EGL_KHR_platform_base")) { -+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = -+ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplay"); -+ -+ if (get_platform_display) -+ m_eglDisplay = get_platform_display (EGL_PLATFORM_WAYLAND_KHR, -+ m_display, NULL); -+ } else if (strstr (client_extensions, "EGL_EXT_platform_base")) { -+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = -+ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplayEXT"); -+ -+ if (get_platform_display) -+ m_eglDisplay = get_platform_display (EGL_PLATFORM_WAYLAND_KHR, -+ m_display, NULL); -+ } else { -+ m_eglDisplay = eglGetDisplay ((EGLNativeDisplayType) m_display); -+ } -+ - PlatformDisplay::initializeEGLDisplay(); - } - -diff -up webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp.jx webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp ---- webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp.jx 2016-09-19 08:18:06.000000000 -0400 -+++ webkitgtk-2.14.0/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2016-10-11 18:46:07.501627378 -0400 -@@ -35,6 +35,7 @@ - - #if USE(EGL) - #include -+#include - #include - #endif - -@@ -68,7 +69,26 @@ PlatformDisplayX11::~PlatformDisplayX11( - #if USE(EGL) - void PlatformDisplayX11::initializeEGLDisplay() - { -- m_eglDisplay = eglGetDisplay(m_display); -+ const char *client_extensions = eglQueryString (NULL, EGL_EXTENSIONS); -+ -+ if (strstr (client_extensions, "EGL_KHR_platform_base")) { -+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = -+ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplay"); -+ -+ if (get_platform_display) -+ m_eglDisplay = get_platform_display (EGL_PLATFORM_X11_KHR, -+ m_display, NULL); -+ } else if (strstr (client_extensions, "EGL_EXT_platform_base")) { -+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = -+ (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplayEXT"); -+ -+ if (get_platform_display) -+ m_eglDisplay = get_platform_display (EGL_PLATFORM_X11_KHR, -+ m_display, NULL); -+ } else { -+ m_eglDisplay = eglGetDisplay ((EGLNativeDisplayType) m_display); -+ } -+ - PlatformDisplay::initializeEGLDisplay(); - } - #endif diff --git a/sources b/sources index 84d7620..b6aa1c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8d6c60dc41604d3bbd43165a674c07e5 webkitgtk-2.14.1.tar.xz +257522e069503d7cd0c1c61bf04bf8bc webkitgtk-2.15.1.tar.xz diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch index bfb4faf..26b70a1 100644 --- a/webkitgtk-2.14.1-user-agent-branding.patch +++ b/webkitgtk-2.14.1-user-agent-branding.patch @@ -1,14 +1,13 @@ diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp --- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 +++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 -@@ -121,6 +121,10 @@ static String buildUserAgentString(const - - uaString.appendLiteral("; "); - -+#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); +@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) + else { + uaString.append(platformForUAString()); + uaString.appendLiteral("; "); ++#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) && USER_AGENT_GTK_DISTRIBUTOR_NAME ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); +#endif -+ - if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) - uaString.appendLiteral("Intel Mac OS X 10_12"); - else + uaString.append(platformVersionForUAString()); + } + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 9914f64..2ea4b5a 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.1 -Release: 2%{?dist} +Version: 2.15.1 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,8 +19,6 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=163333 -Patch2: eglGetPlatformDisplay.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -254,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Oct 26 2016 Tomas Popela - 2.15.1-1 +- Update to 2.15.1 + * Wed Oct 12 2016 Adam Jackson - 2.14.1-2 - Prefer eglGetPlatformDisplay to eglGetDisplay From f5390d3ab623be358dce4ab8b3599e697451730a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 27 Oct 2016 15:10:28 +0200 Subject: [PATCH 032/101] Fix the build --- webkitgtk-2.14.1-user-agent-branding.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch index 26b70a1..d2dbd86 100644 --- a/webkitgtk-2.14.1-user-agent-branding.patch +++ b/webkitgtk-2.14.1-user-agent-branding.patch @@ -5,7 +5,7 @@ diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webk else { uaString.append(platformForUAString()); uaString.appendLiteral("; "); -+#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) && USER_AGENT_GTK_DISTRIBUTOR_NAME ++#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) + uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); +#endif uaString.append(platformVersionForUAString()); From c1ed4041241a06bbb4f76291677a7f2fa9ca5eff Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 21 Nov 2016 14:44:06 +0100 Subject: [PATCH 033/101] Update to 2.15.2 --- .gitignore | 2 ++ sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4d55ecd..c821410 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,5 @@ /webkitgtk-2.14.0.tar.xz /webkitgtk-2.14.1.tar.xz /webkitgtk-2.15.1.tar.xz +/webkitgtk-2.14.2.tar.xz +/webkitgtk-2.15.2.tar.xz diff --git a/sources b/sources index b6aa1c9..e3b1ba9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -257522e069503d7cd0c1c61bf04bf8bc webkitgtk-2.15.1.tar.xz +3b5e0331384eb762b76f49aaa2ce1dd6 webkitgtk-2.15.2.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 2ea4b5a..2f3c09e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.1 +Version: 2.15.2 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Nov 21 2016 Tomas Popela - 2.15.2-1 +- Update to 2.15.2 + * Wed Oct 26 2016 Tomas Popela - 2.15.1-1 - Update to 2.15.1 From fe31883e553c1388c392c844a0aca9732380bc35 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 17 Jan 2017 10:49:17 -0600 Subject: [PATCH 034/101] ireupload sources Signed-off-by: Dennis Gilmore --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index e3b1ba9..07c1e39 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3b5e0331384eb762b76f49aaa2ce1dd6 webkitgtk-2.15.2.tar.xz +SHA512 (webkitgtk-2.15.2.tar.xz) = 22141df164df12d7eef8b84ea48358b891c9142a4e0aeb0931016a7eb1d79e72dcc26537c38ea03cf0d72c125f3c4c110f88479696c0ea9d092d9f57f26dc28f From 1be0fe48e65e7f86eba891fc337df778f0e47d4f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Jan 2017 10:43:42 +0100 Subject: [PATCH 035/101] Update to 2.15.3 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c821410..c64f450 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ /webkitgtk-2.15.1.tar.xz /webkitgtk-2.14.2.tar.xz /webkitgtk-2.15.2.tar.xz +/webkitgtk-2.15.3.tar.xz diff --git a/sources b/sources index 07c1e39..128c723 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.2.tar.xz) = 22141df164df12d7eef8b84ea48358b891c9142a4e0aeb0931016a7eb1d79e72dcc26537c38ea03cf0d72c125f3c4c110f88479696c0ea9d092d9f57f26dc28f +ccbaeb998049fbd134166f81b451ae77 webkitgtk-2.15.3.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 2f3c09e..3eef119 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.2 +Version: 2.15.3 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Jan 23 2017 Tomas Popela - 2.15.3-1 +- Update to 2.15.3 + * Mon Nov 21 2016 Tomas Popela - 2.15.2-1 - Update to 2.15.2 From e917ef47c5b3cf8a58f364e4f24150183671f99e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Jan 2017 10:47:09 +0100 Subject: [PATCH 036/101] Upload the sources again as it again silently failed previously --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 128c723..3d44bd2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ccbaeb998049fbd134166f81b451ae77 webkitgtk-2.15.3.tar.xz +SHA512 (webkitgtk-2.15.3.tar.xz) = 423e10819e9d1b6f6fa5f67106cb37dd9ecd40e799f25747948f602f6ed039cf86bd4007590f7ba0dc18483a3bdfdf31a138dfdbc06c4420ffd3202d9b044841 From 11802a00e7ca2e531872d7beee4f4025ebe27fdc Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Jan 2017 13:23:35 +0100 Subject: [PATCH 037/101] Add missing perl-JSON-PP BR --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3eef119..fd27d1b 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -54,6 +54,7 @@ BuildRequires: libwayland-server-devel BuildRequires: mesa-libGL-devel BuildRequires: pcre-devel BuildRequires: perl-Switch +BuildRequires: perl-JSON-PP BuildRequires: ruby rubypick rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel From bdd3652aa6a2d1b71c9b3a69bc198830c55112e1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 31 Jan 2017 13:10:19 +0100 Subject: [PATCH 038/101] Update to 2.15.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c64f450..374679d 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ /webkitgtk-2.14.2.tar.xz /webkitgtk-2.15.2.tar.xz /webkitgtk-2.15.3.tar.xz +/webkitgtk-2.15.4.tar.xz diff --git a/sources b/sources index 3d44bd2..ac614f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.3.tar.xz) = 423e10819e9d1b6f6fa5f67106cb37dd9ecd40e799f25747948f602f6ed039cf86bd4007590f7ba0dc18483a3bdfdf31a138dfdbc06c4420ffd3202d9b044841 +cefaa16ca228734cfce89b705c58066f webkitgtk-2.15.4.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index fd27d1b..67ecd2f 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.3 +Version: 2.15.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -253,6 +253,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jan 31 2017 Tomas Popela - 2.15.4-1 +- Update to 2.15.4 + * Mon Jan 23 2017 Tomas Popela - 2.15.3-1 - Update to 2.15.3 From 7337e235ad0516b40cfa2a72309380225b66eb76 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 31 Jan 2017 13:57:15 +0100 Subject: [PATCH 039/101] Update sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index ac614f2..4d54125 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cefaa16ca228734cfce89b705c58066f webkitgtk-2.15.4.tar.xz +SHA512 (webkitgtk-2.15.4.tar.xz) = 2609809a04b7b03b98e5a779b8fbc52d0c30ff3aaf0f602e6987d1e9e1cdbd874849f4b65c62198d5de00d760363d5345c9ba38eca66149de39ac22d934c2e62 From 385fb197768183c952b38f85d8a983b08497d3a9 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Wed, 1 Feb 2017 19:33:33 +0100 Subject: [PATCH 040/101] Rebuild (libwebp) --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 67ecd2f..6e15293 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.15.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -253,6 +253,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Feb 01 2017 Sandro Mani - 2.15.4-2 +- Rebuild (libwebp) + * Tue Jan 31 2017 Tomas Popela - 2.15.4-1 - Update to 2.15.4 From 60ec0cfaa97c1f3ca19bbfb7cee601b6f70ea4f7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 2 Feb 2017 09:59:52 +0100 Subject: [PATCH 041/101] Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher --- gcc7.patch | 25 +++++++++++++++++++++++++ webkitgtk4.spec | 8 +++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 gcc7.patch diff --git a/gcc7.patch b/gcc7.patch new file mode 100644 index 0000000..cc972a7 --- /dev/null +++ b/gcc7.patch @@ -0,0 +1,25 @@ +diff -up webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake +--- webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-01 08:19:21.694981976 +0100 ++++ webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake 2017-02-01 08:21:27.255494123 +0100 +@@ -40,7 +40,8 @@ define_property(TARGET PROPERTY FOLDER I + if (COMPILER_IS_GCC_OR_CLANG) + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-exceptions -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-exceptions -fno-strict-aliasing -fno-rtti") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -Wno-expansion-to-defined") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined") + endif () + + if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") +diff -up webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h.gcc7 webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h +--- webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h.gcc7 2017-02-01 08:23:15.678072858 +0100 ++++ webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h 2017-02-01 08:23:37.171989345 +0100 +@@ -167,7 +167,7 @@ public: + bool isNeutered() { return hasArrayBuffer() && !vector(); } + void neuter(); + +- void* vector() { return m_vector.get(); } ++ void* vector() const { return m_vector.get(); } + + unsigned byteOffset(); + unsigned length() const { return m_length; } diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 6e15293..7c2b6b0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.15.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,6 +19,9 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=167642 +# https://bugs.webkit.org/show_bug.cgi?id=167643 +Patch2: gcc7.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -253,6 +256,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Feb 02 2017 Tomas Popela - 2.15.4-3 +- Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher + * Wed Feb 01 2017 Sandro Mani - 2.15.4-2 - Rebuild (libwebp) From 43219597e952b989862d0eb75e8c36d419f4f8a7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 2 Feb 2017 15:27:11 +0100 Subject: [PATCH 042/101] Fix the date --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 7c2b6b0..4f34748 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -256,7 +256,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog -* Wed Feb 02 2017 Tomas Popela - 2.15.4-3 +* Thu Feb 02 2017 Tomas Popela - 2.15.4-3 - Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher * Wed Feb 01 2017 Sandro Mani - 2.15.4-2 From be36599acd0810b3805236f9fa32f6070e567c0c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 2 Feb 2017 16:46:38 +0100 Subject: [PATCH 043/101] Add gcc7 build fix for PPC64 --- gcc7.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc7.patch b/gcc7.patch index cc972a7..0a88082 100644 --- a/gcc7.patch +++ b/gcc7.patch @@ -23,3 +23,14 @@ diff -up webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h.gcc7 unsigned byteOffset(); unsigned length() const { return m_length; } +diff -up webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp.gcc7 webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp +--- webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp.gcc7 2017-02-02 16:43:56.333463608 +0100 ++++ webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp 2017-02-02 16:44:32.659278744 +0100 +@@ -44,6 +44,7 @@ + #include "SecurityOrigin.h" + #include "Settings.h" + #include "WebCoreJSClientData.h" ++#include + #include + #include + #include From f18fe11e315b7bc74bf60191aced909d3976205b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 3 Feb 2017 12:43:39 +0100 Subject: [PATCH 044/101] Add a link to the bug that contains the fix that we used for PPC --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 4f34748..5cb4982 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -21,6 +21,7 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167642 # https://bugs.webkit.org/show_bug.cgi?id=167643 +# https://bugs.webkit.org/show_bug.cgi?id=167785 Patch2: gcc7.patch BuildRequires: at-spi2-core-devel From d2eb88560c6da7cdc5623506ec0ef989fe652737 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 7 Feb 2017 07:53:19 +0100 Subject: [PATCH 045/101] Add patches to make Evolution usable again - rhbz#1418413 --- 0001-Soup-Deadlock-in-NetworkProcess.patch | 76 ++++++++++++++++ ...ces-loaded-by-custom-protocols-somet.patch | 86 +++++++++++++++++++ webkitgtk4.spec | 9 +- 3 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 0001-Soup-Deadlock-in-NetworkProcess.patch create mode 100644 0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch diff --git a/0001-Soup-Deadlock-in-NetworkProcess.patch b/0001-Soup-Deadlock-in-NetworkProcess.patch new file mode 100644 index 0000000..ef0d07e --- /dev/null +++ b/0001-Soup-Deadlock-in-NetworkProcess.patch @@ -0,0 +1,76 @@ +From 74718f6b381932474a6b9df5cbfa6c9e04d599d2 Mon Sep 17 00:00:00 2001 +From: "carlosgc@webkit.org" + +Date: Mon, 6 Feb 2017 18:00:52 +0000 +Subject: [PATCH] [Soup] Deadlock in NetworkProcess + https://bugs.webkit.org/show_bug.cgi?id=167876 + +Reviewed by Michael Catanzaro. + +WebKitSoupRequestInputStream uses a read lock. What is happening is that webkitSoupRequestInputStreamAddData +takes the lock, and it calls webkitSoupRequestInputStreamPendingReadAsyncComplete with the lock help. That +causes webkitSoupRequestInputStreamReadAsync to be called again to read the next chunk, but in the same run loop +operation. We don't really need the read lock because both webkitSoupRequestInputStreamAddData and +webkitSoupRequestInputStreamReadAsync shoudl always be called from the main thread. + +* WebProcess/soup/WebKitSoupRequestInputStream.cpp: +(webkitSoupRequestInputStreamReadAsync): Remove the read lock and assert if called from a secondary thread. +(webkitSoupRequestInputStreamAddData): Ditto. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@211734 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + .../WebProcess/soup/WebKitSoupRequestInputStream.cpp | 11 ++++------- + 2 files changed, 21 insertions(+), 7 deletions(-) + +diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +index a3cdc8d..78d9761 100644 +--- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp ++++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +@@ -20,8 +20,7 @@ + #include "config.h" + #include "WebKitSoupRequestInputStream.h" + +-#include +-#include ++#include + #include + #include + +@@ -45,7 +44,6 @@ struct _WebKitSoupRequestInputStreamPrivate { + + GUniquePtr error; + +- Lock readLock; + std::unique_ptr pendingAsyncRead; + }; + +@@ -85,11 +83,10 @@ static bool webkitSoupRequestInputStreamIsWaitingForData(WebKitSoupRequestInputS + + static void webkitSoupRequestInputStreamReadAsync(GInputStream* inputStream, void* buffer, gsize count, int /*priority*/, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer userData) + { ++ ASSERT(isMainThread()); + WebKitSoupRequestInputStream* stream = WEBKIT_SOUP_REQUEST_INPUT_STREAM(inputStream); + GRefPtr task = adoptGRef(g_task_new(stream, cancellable, callback, userData)); + +- LockHolder locker(stream->priv->readLock); +- + if (!webkitSoupRequestInputStreamHasDataToRead(stream) && !webkitSoupRequestInputStreamIsWaitingForData(stream)) { + g_task_return_int(task.get(), 0); + return; +@@ -149,11 +146,11 @@ GInputStream* webkitSoupRequestInputStreamNew(uint64_t contentLength) + + void webkitSoupRequestInputStreamAddData(WebKitSoupRequestInputStream* stream, const void* data, size_t dataLength) + { ++ ASSERT(isMainThread()); ++ + if (webkitSoupRequestInputStreamFinished(stream)) + return; + +- LockHolder locker(stream->priv->readLock); +- + if (dataLength) { + // Truncate the dataLength to the contentLength if it's known. + if (stream->priv->contentLength && stream->priv->bytesReceived + dataLength > stream->priv->contentLength) +-- +2.9.3 + diff --git a/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch b/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch new file mode 100644 index 0000000..197ec0b --- /dev/null +++ b/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch @@ -0,0 +1,86 @@ +From b5dfae56bcc197d04f3bdfdbe7e0aadd470ca43a Mon Sep 17 00:00:00 2001 +From: "carlosgc@webkit.org" + +Date: Tue, 7 Feb 2017 06:12:53 +0000 +Subject: [PATCH] [Soup] Long resources loaded by custom protocols sometimes + never finish loading https://bugs.webkit.org/show_bug.cgi?id=167890 + +Reviewed by Michael Catanzaro. + +It's another bug that has appeared in WebKitSoupRequestInputStream after moving the custom protocols handling to +the main thread. The problem is that webkitSoupRequestInputStreamPendingReadAsyncComplete invalidates +pendingAsyncRead after calling webkitSoupRequestInputStreamReadAsyncResultComplete, but in some cases +webkitSoupRequestInputStreamReadAsyncResultComplete completes the task in the same run loop iteration. In that +case webkitSoupRequestInputStreamReadAsync is called again creating a new AsyncReadData that is destroyed right +after webkitSoupRequestInputStreamReadAsyncResultComplete returns. + +* WebProcess/soup/WebKitSoupRequestInputStream.cpp: +(AsyncReadData::AsyncReadData): Use an rvalue reference for the task. +(webkitSoupRequestInputStreamPendingReadAsyncComplete): Use WTFMove to ensure pendingAsyncRead is cleared before +webkitSoupRequestInputStreamReadAsyncResultComplete is called, and continue processing pending requests if there +are new ones after webkitSoupRequestInputStreamReadAsyncResultComplete. +(webkitSoupRequestInputStreamReadAsync): Use WTFMove to transfer the task to AsyncReadData. +(webkitSoupRequestInputStreamDidFailWithError): Use WTFMove to ensure pendingAsyncRead is cleared. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@211773 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + .../soup/WebKitSoupRequestInputStream.cpp | 21 +++++++++------------ + 2 files changed, 31 insertions(+), 12 deletions(-) + +diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +index 78d9761..25b6c07 100644 +--- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp ++++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +@@ -25,8 +25,8 @@ + #include + + struct AsyncReadData { +- AsyncReadData(GTask* task, void* buffer, gsize count) +- : task(task) ++ AsyncReadData(GRefPtr&& task, void* buffer, gsize count) ++ : task(WTFMove(task)) + , buffer(buffer) + , count(count) + { +@@ -63,12 +63,10 @@ static void webkitSoupRequestInputStreamReadAsyncResultComplete(GTask* task, voi + + static void webkitSoupRequestInputStreamPendingReadAsyncComplete(WebKitSoupRequestInputStream* stream) + { +- if (!stream->priv->pendingAsyncRead) +- return; +- +- AsyncReadData* data = stream->priv->pendingAsyncRead.get(); +- webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); +- stream->priv->pendingAsyncRead = nullptr; ++ while (stream->priv->pendingAsyncRead) { ++ auto data = WTFMove(stream->priv->pendingAsyncRead); ++ webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); ++ } + } + + static bool webkitSoupRequestInputStreamHasDataToRead(WebKitSoupRequestInputStream* stream) +@@ -102,7 +100,7 @@ static void webkitSoupRequestInputStreamReadAsync(GInputStream* inputStream, voi + return; + } + +- stream->priv->pendingAsyncRead = std::make_unique(task.get(), buffer, count); ++ stream->priv->pendingAsyncRead = std::make_unique(WTFMove(task), buffer, count); + } + + static gssize webkitSoupRequestInputStreamReadFinish(GInputStream* inputStream, GAsyncResult* result, GError** error) +@@ -171,10 +169,9 @@ void webkitSoupRequestInputStreamAddData(WebKitSoupRequestInputStream* stream, c + void webkitSoupRequestInputStreamDidFailWithError(WebKitSoupRequestInputStream* stream, const WebCore::ResourceError& resourceError) + { + GUniquePtr error(g_error_new(g_quark_from_string(resourceError.domain().utf8().data()), resourceError.errorCode(), "%s", resourceError.localizedDescription().utf8().data())); +- if (stream->priv->pendingAsyncRead) { +- AsyncReadData* data = stream->priv->pendingAsyncRead.get(); ++ if (auto data = WTFMove(stream->priv->pendingAsyncRead)) + g_task_return_error(data->task.get(), error.release()); +- } else { ++ else { + stream->priv->contentLength = stream->priv->bytesReceived; + stream->priv->error = WTFMove(error); + } +-- +2.9.3 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5cb4982..b5ac3ab 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.15.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -23,6 +23,10 @@ Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 # https://bugs.webkit.org/show_bug.cgi?id=167785 Patch2: gcc7.patch +# https://bugs.webkit.org/show_bug.cgi?id=167876 +Patch3: 0001-Soup-Deadlock-in-NetworkProcess.patch +# https://bugs.webkit.org/show_bug.cgi?id=167890 +Patch4: 0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -257,6 +261,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Feb 07 2017 Tomas Popela - 2.15.4-4 +- Add patches to make Evolution usable again - rhbz#1418413 + * Thu Feb 02 2017 Tomas Popela - 2.15.4-3 - Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher From 71bc3247847c8ad8094b9ebe475e495cdcb4ddcf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 7 Feb 2017 14:34:54 +0100 Subject: [PATCH 046/101] Add a follow-up patch for the Evolution fixes --- webkitgtk4.spec | 2 ++ wk2-custom-protocols.diff | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 wk2-custom-protocols.diff diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b5ac3ab..cdb6f68 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -27,6 +27,8 @@ Patch2: gcc7.patch Patch3: 0001-Soup-Deadlock-in-NetworkProcess.patch # https://bugs.webkit.org/show_bug.cgi?id=167890 Patch4: 0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch +# https://bugs.webkit.org/show_bug.cgi?id=167929 +Patch5: wk2-custom-protocols.diff BuildRequires: at-spi2-core-devel BuildRequires: bison diff --git a/wk2-custom-protocols.diff b/wk2-custom-protocols.diff new file mode 100644 index 0000000..5b0adcf --- /dev/null +++ b/wk2-custom-protocols.diff @@ -0,0 +1,16 @@ +diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +index 25b6c077857..cfb5b10cc70 100644 +--- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp ++++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp +@@ -63,10 +63,8 @@ static void webkitSoupRequestInputStreamReadAsyncResultComplete(GTask* task, voi + + static void webkitSoupRequestInputStreamPendingReadAsyncComplete(WebKitSoupRequestInputStream* stream) + { +- while (stream->priv->pendingAsyncRead) { +- auto data = WTFMove(stream->priv->pendingAsyncRead); ++ if (auto data = WTFMove(stream->priv->pendingAsyncRead)) + webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); +- } + } + + static bool webkitSoupRequestInputStreamHasDataToRead(WebKitSoupRequestInputStream* stream) From a92bfc5f8d5f044ebeac94e2a3f7294b76c88357 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 21 Feb 2017 09:32:38 +0100 Subject: [PATCH 047/101] Update to 2.15.90 --- .gitignore | 1 + 0001-Soup-Deadlock-in-NetworkProcess.patch | 76 ---------------- ...ces-loaded-by-custom-protocols-somet.patch | 86 ------------------- gcc7.patch | 23 ----- sources | 2 +- webkitgtk4.spec | 19 ++-- wk2-custom-protocols.diff | 16 ---- 7 files changed, 9 insertions(+), 214 deletions(-) delete mode 100644 0001-Soup-Deadlock-in-NetworkProcess.patch delete mode 100644 0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch delete mode 100644 wk2-custom-protocols.diff diff --git a/.gitignore b/.gitignore index 374679d..4c0c9bd 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ /webkitgtk-2.15.2.tar.xz /webkitgtk-2.15.3.tar.xz /webkitgtk-2.15.4.tar.xz +/webkitgtk-2.15.90.tar.xz diff --git a/0001-Soup-Deadlock-in-NetworkProcess.patch b/0001-Soup-Deadlock-in-NetworkProcess.patch deleted file mode 100644 index ef0d07e..0000000 --- a/0001-Soup-Deadlock-in-NetworkProcess.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 74718f6b381932474a6b9df5cbfa6c9e04d599d2 Mon Sep 17 00:00:00 2001 -From: "carlosgc@webkit.org" - -Date: Mon, 6 Feb 2017 18:00:52 +0000 -Subject: [PATCH] [Soup] Deadlock in NetworkProcess - https://bugs.webkit.org/show_bug.cgi?id=167876 - -Reviewed by Michael Catanzaro. - -WebKitSoupRequestInputStream uses a read lock. What is happening is that webkitSoupRequestInputStreamAddData -takes the lock, and it calls webkitSoupRequestInputStreamPendingReadAsyncComplete with the lock help. That -causes webkitSoupRequestInputStreamReadAsync to be called again to read the next chunk, but in the same run loop -operation. We don't really need the read lock because both webkitSoupRequestInputStreamAddData and -webkitSoupRequestInputStreamReadAsync shoudl always be called from the main thread. - -* WebProcess/soup/WebKitSoupRequestInputStream.cpp: -(webkitSoupRequestInputStreamReadAsync): Remove the read lock and assert if called from a secondary thread. -(webkitSoupRequestInputStreamAddData): Ditto. - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@211734 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - .../WebProcess/soup/WebKitSoupRequestInputStream.cpp | 11 ++++------- - 2 files changed, 21 insertions(+), 7 deletions(-) - -diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -index a3cdc8d..78d9761 100644 ---- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -+++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -@@ -20,8 +20,7 @@ - #include "config.h" - #include "WebKitSoupRequestInputStream.h" - --#include --#include -+#include - #include - #include - -@@ -45,7 +44,6 @@ struct _WebKitSoupRequestInputStreamPrivate { - - GUniquePtr error; - -- Lock readLock; - std::unique_ptr pendingAsyncRead; - }; - -@@ -85,11 +83,10 @@ static bool webkitSoupRequestInputStreamIsWaitingForData(WebKitSoupRequestInputS - - static void webkitSoupRequestInputStreamReadAsync(GInputStream* inputStream, void* buffer, gsize count, int /*priority*/, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer userData) - { -+ ASSERT(isMainThread()); - WebKitSoupRequestInputStream* stream = WEBKIT_SOUP_REQUEST_INPUT_STREAM(inputStream); - GRefPtr task = adoptGRef(g_task_new(stream, cancellable, callback, userData)); - -- LockHolder locker(stream->priv->readLock); -- - if (!webkitSoupRequestInputStreamHasDataToRead(stream) && !webkitSoupRequestInputStreamIsWaitingForData(stream)) { - g_task_return_int(task.get(), 0); - return; -@@ -149,11 +146,11 @@ GInputStream* webkitSoupRequestInputStreamNew(uint64_t contentLength) - - void webkitSoupRequestInputStreamAddData(WebKitSoupRequestInputStream* stream, const void* data, size_t dataLength) - { -+ ASSERT(isMainThread()); -+ - if (webkitSoupRequestInputStreamFinished(stream)) - return; - -- LockHolder locker(stream->priv->readLock); -- - if (dataLength) { - // Truncate the dataLength to the contentLength if it's known. - if (stream->priv->contentLength && stream->priv->bytesReceived + dataLength > stream->priv->contentLength) --- -2.9.3 - diff --git a/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch b/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch deleted file mode 100644 index 197ec0b..0000000 --- a/0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch +++ /dev/null @@ -1,86 +0,0 @@ -From b5dfae56bcc197d04f3bdfdbe7e0aadd470ca43a Mon Sep 17 00:00:00 2001 -From: "carlosgc@webkit.org" - -Date: Tue, 7 Feb 2017 06:12:53 +0000 -Subject: [PATCH] [Soup] Long resources loaded by custom protocols sometimes - never finish loading https://bugs.webkit.org/show_bug.cgi?id=167890 - -Reviewed by Michael Catanzaro. - -It's another bug that has appeared in WebKitSoupRequestInputStream after moving the custom protocols handling to -the main thread. The problem is that webkitSoupRequestInputStreamPendingReadAsyncComplete invalidates -pendingAsyncRead after calling webkitSoupRequestInputStreamReadAsyncResultComplete, but in some cases -webkitSoupRequestInputStreamReadAsyncResultComplete completes the task in the same run loop iteration. In that -case webkitSoupRequestInputStreamReadAsync is called again creating a new AsyncReadData that is destroyed right -after webkitSoupRequestInputStreamReadAsyncResultComplete returns. - -* WebProcess/soup/WebKitSoupRequestInputStream.cpp: -(AsyncReadData::AsyncReadData): Use an rvalue reference for the task. -(webkitSoupRequestInputStreamPendingReadAsyncComplete): Use WTFMove to ensure pendingAsyncRead is cleared before -webkitSoupRequestInputStreamReadAsyncResultComplete is called, and continue processing pending requests if there -are new ones after webkitSoupRequestInputStreamReadAsyncResultComplete. -(webkitSoupRequestInputStreamReadAsync): Use WTFMove to transfer the task to AsyncReadData. -(webkitSoupRequestInputStreamDidFailWithError): Use WTFMove to ensure pendingAsyncRead is cleared. - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@211773 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - .../soup/WebKitSoupRequestInputStream.cpp | 21 +++++++++------------ - 2 files changed, 31 insertions(+), 12 deletions(-) - -diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -index 78d9761..25b6c07 100644 ---- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -+++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -@@ -25,8 +25,8 @@ - #include - - struct AsyncReadData { -- AsyncReadData(GTask* task, void* buffer, gsize count) -- : task(task) -+ AsyncReadData(GRefPtr&& task, void* buffer, gsize count) -+ : task(WTFMove(task)) - , buffer(buffer) - , count(count) - { -@@ -63,12 +63,10 @@ static void webkitSoupRequestInputStreamReadAsyncResultComplete(GTask* task, voi - - static void webkitSoupRequestInputStreamPendingReadAsyncComplete(WebKitSoupRequestInputStream* stream) - { -- if (!stream->priv->pendingAsyncRead) -- return; -- -- AsyncReadData* data = stream->priv->pendingAsyncRead.get(); -- webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); -- stream->priv->pendingAsyncRead = nullptr; -+ while (stream->priv->pendingAsyncRead) { -+ auto data = WTFMove(stream->priv->pendingAsyncRead); -+ webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); -+ } - } - - static bool webkitSoupRequestInputStreamHasDataToRead(WebKitSoupRequestInputStream* stream) -@@ -102,7 +100,7 @@ static void webkitSoupRequestInputStreamReadAsync(GInputStream* inputStream, voi - return; - } - -- stream->priv->pendingAsyncRead = std::make_unique(task.get(), buffer, count); -+ stream->priv->pendingAsyncRead = std::make_unique(WTFMove(task), buffer, count); - } - - static gssize webkitSoupRequestInputStreamReadFinish(GInputStream* inputStream, GAsyncResult* result, GError** error) -@@ -171,10 +169,9 @@ void webkitSoupRequestInputStreamAddData(WebKitSoupRequestInputStream* stream, c - void webkitSoupRequestInputStreamDidFailWithError(WebKitSoupRequestInputStream* stream, const WebCore::ResourceError& resourceError) - { - GUniquePtr error(g_error_new(g_quark_from_string(resourceError.domain().utf8().data()), resourceError.errorCode(), "%s", resourceError.localizedDescription().utf8().data())); -- if (stream->priv->pendingAsyncRead) { -- AsyncReadData* data = stream->priv->pendingAsyncRead.get(); -+ if (auto data = WTFMove(stream->priv->pendingAsyncRead)) - g_task_return_error(data->task.get(), error.release()); -- } else { -+ else { - stream->priv->contentLength = stream->priv->bytesReceived; - stream->priv->error = WTFMove(error); - } --- -2.9.3 - diff --git a/gcc7.patch b/gcc7.patch index 0a88082..1705fbf 100644 --- a/gcc7.patch +++ b/gcc7.patch @@ -11,26 +11,3 @@ diff -up webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.4 endif () if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") -diff -up webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h.gcc7 webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h ---- webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h.gcc7 2017-02-01 08:23:15.678072858 +0100 -+++ webkitgtk-2.15.4/Source/JavaScriptCore/runtime/JSArrayBufferView.h 2017-02-01 08:23:37.171989345 +0100 -@@ -167,7 +167,7 @@ public: - bool isNeutered() { return hasArrayBuffer() && !vector(); } - void neuter(); - -- void* vector() { return m_vector.get(); } -+ void* vector() const { return m_vector.get(); } - - unsigned byteOffset(); - unsigned length() const { return m_length; } -diff -up webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp.gcc7 webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp ---- webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp.gcc7 2017-02-02 16:43:56.333463608 +0100 -+++ webkitgtk-2.15.4/Source/WebCore/bindings/js/JSDOMWindowBase.cpp 2017-02-02 16:44:32.659278744 +0100 -@@ -44,6 +44,7 @@ - #include "SecurityOrigin.h" - #include "Settings.h" - #include "WebCoreJSClientData.h" -+#include - #include - #include - #include diff --git a/sources b/sources index 4d54125..2ff2d3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.4.tar.xz) = 2609809a04b7b03b98e5a779b8fbc52d0c30ff3aaf0f602e6987d1e9e1cdbd874849f4b65c62198d5de00d760363d5345c9ba38eca66149de39ac22d934c2e62 +SHA512 (webkitgtk-2.15.90.tar.xz) = f06bbde9ed06fb7ba426629e130d2a1a9f9d137a864d5f6874f1a0c14dde043a51ffe9ea31f3be5252f852621ddcef5385f75f8624cdc2e1f357cd14c839a4cc diff --git a/webkitgtk4.spec b/webkitgtk4.spec index cdb6f68..88ae995 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.4 -Release: 4%{?dist} +Version: 2.15.90 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -15,20 +15,12 @@ URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=162611 -Patch0: webkitgtk-2.14.1-user-agent-branding.patch +Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=167642 +Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 -# https://bugs.webkit.org/show_bug.cgi?id=167785 Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=167876 -Patch3: 0001-Soup-Deadlock-in-NetworkProcess.patch -# https://bugs.webkit.org/show_bug.cgi?id=167890 -Patch4: 0001-Soup-Long-resources-loaded-by-custom-protocols-somet.patch -# https://bugs.webkit.org/show_bug.cgi?id=167929 -Patch5: wk2-custom-protocols.diff BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -263,6 +255,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Feb 21 2017 Tomas Popela - 2.15.90-1 +- Update to 2.15.90 + * Tue Feb 07 2017 Tomas Popela - 2.15.4-4 - Add patches to make Evolution usable again - rhbz#1418413 diff --git a/wk2-custom-protocols.diff b/wk2-custom-protocols.diff deleted file mode 100644 index 5b0adcf..0000000 --- a/wk2-custom-protocols.diff +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -index 25b6c077857..cfb5b10cc70 100644 ---- a/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -+++ b/Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp -@@ -63,10 +63,8 @@ static void webkitSoupRequestInputStreamReadAsyncResultComplete(GTask* task, voi - - static void webkitSoupRequestInputStreamPendingReadAsyncComplete(WebKitSoupRequestInputStream* stream) - { -- while (stream->priv->pendingAsyncRead) { -- auto data = WTFMove(stream->priv->pendingAsyncRead); -+ if (auto data = WTFMove(stream->priv->pendingAsyncRead)) - webkitSoupRequestInputStreamReadAsyncResultComplete(data->task.get(), data->buffer, data->count); -- } - } - - static bool webkitSoupRequestInputStreamHasDataToRead(WebKitSoupRequestInputStream* stream) From 1e714baa873b4db2431075ac7ae5f793b4c74dbd Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 21 Feb 2017 09:58:48 +0100 Subject: [PATCH 048/101] Update gcc7 patch --- gcc7.patch | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gcc7.patch b/gcc7.patch index 1705fbf..77f02ba 100644 --- a/gcc7.patch +++ b/gcc7.patch @@ -1,13 +1,12 @@ -diff -up webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake ---- webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-01 08:19:21.694981976 +0100 -+++ webkitgtk-2.15.4/Source/cmake/OptionsCommon.cmake 2017-02-01 08:21:27.255494123 +0100 -@@ -40,7 +40,8 @@ define_property(TARGET PROPERTY FOLDER I - if (COMPILER_IS_GCC_OR_CLANG) - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-exceptions -fno-strict-aliasing") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-exceptions -fno-strict-aliasing -fno-rtti") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -Wno-expansion-to-defined") +diff -up webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake +--- webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-21 09:57:13.168916004 +0100 ++++ webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake 2017-02-21 09:58:12.811563156 +0100 +@@ -41,6 +41,8 @@ if (COMPILER_IS_GCC_OR_CLANG) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-expansion-to-defined") endif () if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") From 0033305729cdcab7f77edeb89cf900cf1b8ac290 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 24 Feb 2017 12:50:08 +0100 Subject: [PATCH 049/101] Add patch to fix hangs when showing the Google search page --- ...s-when-showing-Google-search-results.patch | 589 ++++++++++++++++++ webkitgtk4.spec | 7 +- 2 files changed, 595 insertions(+), 1 deletion(-) create mode 100644 0001-GTK-Hangs-when-showing-Google-search-results.patch diff --git a/0001-GTK-Hangs-when-showing-Google-search-results.patch b/0001-GTK-Hangs-when-showing-Google-search-results.patch new file mode 100644 index 0000000..6f9195a --- /dev/null +++ b/0001-GTK-Hangs-when-showing-Google-search-results.patch @@ -0,0 +1,589 @@ +From 7e013c8c5ff959cd71a939a4795ef7dfc18a51f1 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Fri, 24 Feb 2017 13:03:14 +0100 +Subject: [PATCH] [GTK] Hangs when showing Google search results + +https://bugs.webkit.org/show_bug.cgi?id=168699 + +Reviewed by NOBODY (OOPS!). + +Connection::sendOutgoingMessage() can poll forever if sendmsg fails with EAGAIN or EWOULDBLOCK. For example if +socket read buffers are full, poll will be blocked until we read the pending data, but we can't read because +the thread is blocked in the poll. In case of EAGAIN/EWOULDBLOCK we should poll using the run loop, to allow +reads to happen in thread while we wait for the socket to be writable again. In the GTK+ port we use +GSocketMonitor to poll socket file descriptor without blocking, using the run loop. This patch renames the +socket monitor as readSocketMonitor and adds another one for polling output. When sendmsg fails with +EAGAIN/EWOULDBLOCK, the pending message is saved and the write monitor starts polling. Once the socket is +writable again we send the pending message. Helper class MessageInfo and a new one UnixMessage have been moved +to its own header file to be able to use std::unique_ptr member to save the pending message. + +* Platform/IPC/Connection.cpp: Include UnixMessage.h as required by std::unique_ptr. +* Platform/IPC/Connection.h: Add write socket monitor and also keep the GSocket as a member to reuse it. +* Platform/IPC/glib/GSocketMonitor.cpp: Use Function instead of std::function. +(IPC::GSocketMonitor::start): +* Platform/IPC/glib/GSocketMonitor.h: +* Platform/IPC/unix/ConnectionUnix.cpp: +(IPC::Connection::platformInitialize): Initialize the GSocket here since we rely on it to take the ownership of +the descriptor. We were leaking it if the connection was invalidated without being opened. +(IPC::Connection::platformInvalidate): Destroy the GSocket even when not connected. Also stop the write monitor. +(IPC::Connection::processMessage): +(IPC::Connection::open): +(IPC::Connection::platformCanSendOutgoingMessages): Return false if we have a pending message to ensure +Connection doesn't try to send more messages until the pending message is dispatched. We don't need to check +m_isConnected because the caller already checks that. +(IPC::Connection::sendOutgoingMessage): Split it in two. This creates and prepares a UnixMessage and then calls +sendOutputMessage() to do the rest. +(IPC::Connection::sendOutputMessage): Send the message, or save it if sendmsg fails with EAGAIN or EWOULDBLOCK +to be sent later when the socket is writable. +* Platform/IPC/unix/UnixMessage.h: Added. +(IPC::MessageInfo::MessageInfo): +(IPC::MessageInfo::setMessageBodyIsOutOfLine): +(IPC::MessageInfo::isMessageBodyIsOutOfLine): +(IPC::MessageInfo::bodySize): +(IPC::MessageInfo::attachmentCount): +(IPC::UnixMessage::UnixMessage): +(IPC::UnixMessage::~UnixMessage): +(IPC::UnixMessage::attachments): +(IPC::UnixMessage::messageInfo): +(IPC::UnixMessage::body): +(IPC::UnixMessage::bodySize): +(IPC::UnixMessage::appendAttachment): +* PlatformGTK.cmake: +--- + Source/WebKit2/Platform/IPC/Connection.cpp | 4 + + Source/WebKit2/Platform/IPC/Connection.h | 7 +- + .../WebKit2/Platform/IPC/glib/GSocketMonitor.cpp | 2 +- + Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h | 4 +- + .../WebKit2/Platform/IPC/unix/ConnectionUnix.cpp | 140 ++++++++++----------- + Source/WebKit2/Platform/IPC/unix/UnixMessage.h | 113 +++++++++++++++++ + Source/WebKit2/PlatformGTK.cmake | 1 + + 7 files changed, 194 insertions(+), 77 deletions(-) + create mode 100644 Source/WebKit2/Platform/IPC/unix/UnixMessage.h + +diff --git a/Source/WebKit2/Platform/IPC/Connection.cpp b/Source/WebKit2/Platform/IPC/Connection.cpp +index daa6510..baf5306 100644 +--- a/Source/WebKit2/Platform/IPC/Connection.cpp ++++ b/Source/WebKit2/Platform/IPC/Connection.cpp +@@ -39,6 +39,10 @@ + #include "MachMessage.h" + #endif + ++#if USE(UNIX_DOMAIN_SOCKETS) ++#include "UnixMessage.h" ++#endif ++ + namespace IPC { + + struct Connection::ReplyHandler { +diff --git a/Source/WebKit2/Platform/IPC/Connection.h b/Source/WebKit2/Platform/IPC/Connection.h +index 87a3d91..a5a8ad7 100644 +--- a/Source/WebKit2/Platform/IPC/Connection.h ++++ b/Source/WebKit2/Platform/IPC/Connection.h +@@ -79,6 +79,7 @@ enum class WaitForOption { + while (0) + + class MachMessage; ++class UnixMessage; + + class Connection : public ThreadSafeRefCounted { + public: +@@ -308,12 +309,16 @@ private: + // Called on the connection queue. + void readyReadHandler(); + bool processMessage(); ++ bool sendOutputMessage(UnixMessage&); + + Vector m_readBuffer; + Vector m_fileDescriptors; + int m_socketDescriptor; ++ std::unique_ptr m_pendingOutputMessage; + #if PLATFORM(GTK) +- GSocketMonitor m_socketMonitor; ++ GRefPtr m_socket; ++ GSocketMonitor m_readSocketMonitor; ++ GSocketMonitor m_writeSocketMonitor; + #endif + #elif OS(DARWIN) + // Called on the connection queue. +diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp +index 0faf266..14329b9 100644 +--- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp ++++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp +@@ -42,7 +42,7 @@ gboolean GSocketMonitor::socketSourceCallback(GSocket*, GIOCondition condition, + return monitor->m_callback(condition); + } + +-void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, std::function&& callback) ++void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, Function&& callback) + { + stop(); + +diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h +index 11e528a..ff37bf9 100644 +--- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h ++++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h +@@ -43,7 +43,7 @@ public: + GSocketMonitor() = default; + ~GSocketMonitor(); + +- void start(GSocket*, GIOCondition, RunLoop&, std::function&&); ++ void start(GSocket*, GIOCondition, RunLoop&, Function&&); + void stop(); + + private: +@@ -51,7 +51,7 @@ private: + + GRefPtr m_source; + GRefPtr m_cancellable; +- std::function m_callback; ++ Function m_callback; + }; + + } // namespace IPC +diff --git a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp +index fcd1047..0e04238 100644 +--- a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp ++++ b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp +@@ -30,6 +30,7 @@ + + #include "DataReference.h" + #include "SharedMemory.h" ++#include "UnixMessage.h" + #include + #include + #include +@@ -60,60 +61,20 @@ namespace IPC { + static const size_t messageMaxSize = 4096; + static const size_t attachmentMaxAmount = 255; + +-enum { +- MessageBodyIsOutOfLine = 1U << 31 +-}; +- +-class MessageInfo { +-public: +- MessageInfo() { } +- +- MessageInfo(size_t bodySize, size_t initialAttachmentCount) +- : m_bodySize(bodySize) +- , m_attachmentCount(initialAttachmentCount) +- , m_isMessageBodyOutOfLine(false) +- { +- } +- +- void setMessageBodyIsOutOfLine() +- { +- ASSERT(!isMessageBodyIsOutOfLine()); +- +- m_isMessageBodyOutOfLine = true; +- m_attachmentCount++; +- } +- +- bool isMessageBodyIsOutOfLine() const { return m_isMessageBodyOutOfLine; } +- +- size_t bodySize() const { return m_bodySize; } +- +- size_t attachmentCount() const { return m_attachmentCount; } +- +-private: +- size_t m_bodySize; +- size_t m_attachmentCount; +- bool m_isMessageBodyOutOfLine; +-}; +- + class AttachmentInfo { + WTF_MAKE_FAST_ALLOCATED; + public: +- AttachmentInfo() +- : m_type(Attachment::Uninitialized) +- , m_size(0) +- , m_isNull(false) +- { +- } ++ AttachmentInfo() = default; + + void setType(Attachment::Type type) { m_type = type; } +- Attachment::Type getType() { return m_type; } ++ Attachment::Type type() const { return m_type; } + void setSize(size_t size) + { + ASSERT(m_type == Attachment::MappedMemoryType); + m_size = size; + } + +- size_t getSize() ++ size_t size() const + { + ASSERT(m_type == Attachment::MappedMemoryType); + return m_size; +@@ -121,25 +82,30 @@ public: + + // The attachment is not null unless explicitly set. + void setNull() { m_isNull = true; } +- bool isNull() { return m_isNull; } ++ bool isNull() const { return m_isNull; } + + private: +- Attachment::Type m_type; +- size_t m_size; +- bool m_isNull; ++ Attachment::Type m_type { Attachment::Uninitialized }; ++ size_t m_size { 0 }; ++ bool m_isNull { false }; + }; + + void Connection::platformInitialize(Identifier identifier) + { + m_socketDescriptor = identifier; ++#if PLATFORM(GTK) ++ m_socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); ++#endif + m_readBuffer.reserveInitialCapacity(messageMaxSize); + m_fileDescriptors.reserveInitialCapacity(attachmentMaxAmount); + } + + void Connection::platformInvalidate() + { +- // In GTK+ platform the socket is closed by the work queue. +-#if !PLATFORM(GTK) ++#if PLATFORM(GTK) ++ // In GTK+ platform the socket descriptor is owned by GSocket. ++ m_socket = nullptr; ++#else + if (m_socketDescriptor != -1) + closeWithRetry(m_socketDescriptor); + #endif +@@ -148,7 +114,8 @@ void Connection::platformInvalidate() + return; + + #if PLATFORM(GTK) +- m_socketMonitor.stop(); ++ m_readSocketMonitor.stop(); ++ m_writeSocketMonitor.stop(); + #endif + + m_socketDescriptor = -1; +@@ -165,7 +132,7 @@ bool Connection::processMessage() + memcpy(&messageInfo, messageData, sizeof(messageInfo)); + messageData += sizeof(messageInfo); + +- size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isMessageBodyIsOutOfLine() ? 0 : messageInfo.bodySize()); ++ size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isBodyOutOfLine() ? 0 : messageInfo.bodySize()); + if (m_readBuffer.size() < messageLength) + return false; + +@@ -179,7 +146,7 @@ bool Connection::processMessage() + messageData += sizeof(AttachmentInfo) * attachmentCount; + + for (size_t i = 0; i < attachmentCount; ++i) { +- switch (attachmentInfo[i].getType()) { ++ switch (attachmentInfo[i].type()) { + case Attachment::MappedMemoryType: + case Attachment::SocketType: + if (!attachmentInfo[i].isNull()) +@@ -191,7 +158,7 @@ bool Connection::processMessage() + } + } + +- if (messageInfo.isMessageBodyIsOutOfLine()) ++ if (messageInfo.isBodyOutOfLine()) + attachmentCount--; + } + +@@ -201,11 +168,11 @@ bool Connection::processMessage() + size_t fdIndex = 0; + for (size_t i = 0; i < attachmentCount; ++i) { + int fd = -1; +- switch (attachmentInfo[i].getType()) { ++ switch (attachmentInfo[i].type()) { + case Attachment::MappedMemoryType: + if (!attachmentInfo[i].isNull()) + fd = m_fileDescriptors[fdIndex++]; +- attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].getSize()); ++ attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].size()); + break; + case Attachment::SocketType: + if (!attachmentInfo[i].isNull()) +@@ -219,7 +186,7 @@ bool Connection::processMessage() + } + } + +- if (messageInfo.isMessageBodyIsOutOfLine()) { ++ if (messageInfo.isBodyOutOfLine()) { + ASSERT(messageInfo.bodySize()); + + if (attachmentInfo[attachmentCount].isNull()) { +@@ -228,7 +195,7 @@ bool Connection::processMessage() + } + + WebKit::SharedMemory::Handle handle; +- handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].getSize())); ++ handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].size())); + + oolMessageBody = WebKit::SharedMemory::map(handle, WebKit::SharedMemory::Protection::ReadOnly); + if (!oolMessageBody) { +@@ -237,10 +204,10 @@ bool Connection::processMessage() + } + } + +- ASSERT(attachments.size() == (messageInfo.isMessageBodyIsOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); ++ ASSERT(attachments.size() == (messageInfo.isBodyOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); + + uint8_t* messageBody = messageData; +- if (messageInfo.isMessageBodyIsOutOfLine()) ++ if (messageInfo.isBodyOutOfLine()) + messageBody = reinterpret_cast(oolMessageBody->data()); + + auto decoder = std::make_unique(messageBody, messageInfo.bodySize(), nullptr, WTFMove(attachments)); +@@ -365,8 +332,7 @@ bool Connection::open() + RefPtr protectedThis(this); + m_isConnected = true; + #if PLATFORM(GTK) +- GRefPtr socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); +- m_socketMonitor.start(socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { ++ m_readSocketMonitor.start(m_socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { + if (condition & G_IO_HUP || condition & G_IO_ERR || condition & G_IO_NVAL) { + protectedThis->connectionDidClose(); + return G_SOURCE_REMOVE; +@@ -392,22 +358,21 @@ bool Connection::open() + + bool Connection::platformCanSendOutgoingMessages() const + { +- return m_isConnected; ++ return !m_pendingOutputMessage; + } + + bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + { + COMPILE_ASSERT(sizeof(MessageInfo) + attachmentMaxAmount * sizeof(size_t) <= messageMaxSize, AttachmentsFitToMessageInline); + +- Vector attachments = encoder->releaseAttachments(); +- if (attachments.size() > (attachmentMaxAmount - 1)) { ++ UnixMessage outputMessage(encoder.get()); ++ if (outputMessage.attachments().size() > (attachmentMaxAmount - 1)) { + ASSERT_NOT_REACHED(); + return false; + } + +- MessageInfo messageInfo(encoder->bufferSize(), attachments.size()); +- size_t messageSizeWithBodyInline = sizeof(messageInfo) + (attachments.size() * sizeof(AttachmentInfo)) + encoder->bufferSize(); +- if (messageSizeWithBodyInline > messageMaxSize && encoder->bufferSize()) { ++ size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize(); ++ if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) { + RefPtr oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize()); + if (!oolMessageBody) + return false; +@@ -416,13 +381,21 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + if (!oolMessageBody->createHandle(handle, WebKit::SharedMemory::Protection::ReadOnly)) + return false; + +- messageInfo.setMessageBodyIsOutOfLine(); ++ outputMessage.messageInfo().setBodyOutOfLine(); + +- memcpy(oolMessageBody->data(), encoder->buffer(), encoder->bufferSize()); ++ memcpy(oolMessageBody->data(), outputMessage.body(), outputMessage.bodySize()); + +- attachments.append(handle.releaseAttachment()); ++ outputMessage.appendAttachment(handle.releaseAttachment()); + } + ++ return sendOutputMessage(outputMessage); ++} ++ ++bool Connection::sendOutputMessage(UnixMessage& outputMessage) ++{ ++ ASSERT(!m_pendingOutputMessage); ++ ++ auto& messageInfo = outputMessage.messageInfo(); + struct msghdr message; + memset(&message, 0, sizeof(message)); + +@@ -438,6 +411,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + std::unique_ptr attachmentInfo; + MallocPtr attachmentFDBuffer; + ++ auto& attachments = outputMessage.attachments(); + if (!attachments.isEmpty()) { + int* fdPtr = 0; + +@@ -488,9 +462,9 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + ++iovLength; + } + +- if (!messageInfo.isMessageBodyIsOutOfLine() && encoder->bufferSize()) { +- iov[iovLength].iov_base = reinterpret_cast(encoder->buffer()); +- iov[iovLength].iov_len = encoder->bufferSize(); ++ if (!messageInfo.isBodyOutOfLine() && outputMessage.bodySize()) { ++ iov[iovLength].iov_base = reinterpret_cast(outputMessage.body()); ++ iov[iovLength].iov_len = outputMessage.bodySize(); + ++iovLength; + } + +@@ -500,6 +474,25 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + if (errno == EINTR) + continue; + if (errno == EAGAIN || errno == EWOULDBLOCK) { ++#if PLATFORM(GTK) ++ m_pendingOutputMessage = std::make_unique(WTFMove(outputMessage)); ++ m_writeSocketMonitor.start(m_socket.get(), G_IO_OUT, m_connectionQueue->runLoop(), [this, protectedThis = makeRef(*this)] (GIOCondition condition) -> gboolean { ++ if (condition & G_IO_OUT) { ++ ASSERT(m_pendingOutputMessage); ++ // We can't stop the monitor from this lambda, because stop destroys the lambda. ++ m_connectionQueue->dispatch([this, protectedThis = makeRef(*this)] { ++ m_writeSocketMonitor.stop(); ++ auto message = WTFMove(m_pendingOutputMessage); ++ if (m_isConnected) { ++ sendOutputMessage(*message); ++ sendOutgoingMessages(); ++ } ++ }); ++ } ++ return G_SOURCE_REMOVE; ++ }); ++ return false; ++#else + struct pollfd pollfd; + + pollfd.fd = m_socketDescriptor; +@@ -507,6 +500,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) + pollfd.revents = 0; + poll(&pollfd, 1, -1); + continue; ++#endif + } + + if (m_isConnected) +diff --git a/Source/WebKit2/Platform/IPC/unix/UnixMessage.h b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h +new file mode 100644 +index 0000000..e99a0a4 +--- /dev/null ++++ b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h +@@ -0,0 +1,113 @@ ++/* ++ * Copyright (C) 2010 Apple Inc. All rights reserved. ++ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) ++ * Copyright (C) 2011,2017 Igalia S.L. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' ++ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS ++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ++ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ++ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ++ * THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#pragma once ++ ++#include "Attachment.h" ++#include ++ ++namespace IPC { ++ ++class MessageInfo { ++public: ++ MessageInfo() = default; ++ ++ MessageInfo(size_t bodySize, size_t initialAttachmentCount) ++ : m_bodySize(bodySize) ++ , m_attachmentCount(initialAttachmentCount) ++ { ++ } ++ ++ void setBodyOutOfLine() ++ { ++ ASSERT(!isBodyOutOfLine()); ++ ++ m_isBodyOutOfLine = true; ++ m_attachmentCount++; ++ } ++ ++ bool isBodyOutOfLine() const { return m_isBodyOutOfLine; } ++ size_t bodySize() const { return m_bodySize; } ++ size_t attachmentCount() const { return m_attachmentCount; } ++ ++private: ++ size_t m_bodySize { 0 }; ++ size_t m_attachmentCount { 0 }; ++ bool m_isBodyOutOfLine { false }; ++}; ++ ++class UnixMessage { ++ WTF_MAKE_FAST_ALLOCATED; ++public: ++ UnixMessage(Encoder* encoder) ++ : m_attachments(encoder->releaseAttachments()) ++ , m_messageInfo(encoder->bufferSize(), m_attachments.size()) ++ , m_body(encoder->buffer()) ++ { ++ } ++ ++ UnixMessage(UnixMessage&& other) ++ { ++ m_attachments = WTFMove(other.m_attachments); ++ m_messageInfo = WTFMove(other.m_messageInfo); ++ if (other.m_bodyOwned) { ++ std::swap(m_body, other.m_body); ++ std::swap(m_bodyOwned, other.m_bodyOwned); ++ } else if (!m_messageInfo.isBodyOutOfLine()) { ++ m_body = static_cast(fastMalloc(m_messageInfo.bodySize())); ++ memcpy(m_body, other.m_body, m_messageInfo.bodySize()); ++ m_bodyOwned = true; ++ other.m_body = nullptr; ++ other.m_bodyOwned = false; ++ } ++ } ++ ++ ~UnixMessage() ++ { ++ if (m_bodyOwned) ++ fastFree(m_body); ++ } ++ ++ const Vector& attachments() const { return m_attachments; } ++ MessageInfo& messageInfo() { return m_messageInfo; } ++ ++ uint8_t* body() const { return m_body; } ++ size_t bodySize() const { return m_messageInfo.bodySize(); } ++ ++ void appendAttachment(Attachment&& attachment) ++ { ++ m_attachments.append(WTFMove(attachment)); ++ } ++ ++private: ++ Vector m_attachments; ++ MessageInfo m_messageInfo; ++ uint8_t* m_body { nullptr }; ++ bool m_bodyOwned { false }; ++}; ++ ++} // namespace IPC +diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake +index ebede75..2c6bc5f 100644 +--- a/Source/WebKit2/PlatformGTK.cmake ++++ b/Source/WebKit2/PlatformGTK.cmake +@@ -850,6 +850,7 @@ list(APPEND WebKit2_INCLUDE_DIRECTORIES + "${WEBKIT2_DIR}/NetworkProcess/soup" + "${WEBKIT2_DIR}/NetworkProcess/unix" + "${WEBKIT2_DIR}/Platform/IPC/glib" ++ "${WEBKIT2_DIR}/Platform/IPC/unix" + "${WEBKIT2_DIR}/Shared/API/c/gtk" + "${WEBKIT2_DIR}/Shared/Plugins/unix" + "${WEBKIT2_DIR}/Shared/glib" +-- +2.11.1 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 88ae995..3cc1819 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.15.90 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,6 +21,8 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch +# https://bugs.webkit.org/show_bug.cgi?id=168699 +Patch3: 0001-GTK-Hangs-when-showing-Google-search-results.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -255,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Feb 24 2017 Bastien Nocera - 2.15.90-2 +- Add patch to fix hangs when showing the Google search page + * Tue Feb 21 2017 Tomas Popela - 2.15.90-1 - Update to 2.15.90 From 0627c6c7ad1520793a15b80d7645fd875365c365 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 1 Mar 2017 15:50:11 +0100 Subject: [PATCH 050/101] Update to 2.15.91 --- .gitignore | 1 + ...s-when-showing-Google-search-results.patch | 589 ------------------ sources | 2 +- webkitgtk4.spec | 11 +- 4 files changed, 9 insertions(+), 594 deletions(-) delete mode 100644 0001-GTK-Hangs-when-showing-Google-search-results.patch diff --git a/.gitignore b/.gitignore index 4c0c9bd..85b599f 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ /webkitgtk-2.15.3.tar.xz /webkitgtk-2.15.4.tar.xz /webkitgtk-2.15.90.tar.xz +/webkitgtk-2.15.91.tar.xz diff --git a/0001-GTK-Hangs-when-showing-Google-search-results.patch b/0001-GTK-Hangs-when-showing-Google-search-results.patch deleted file mode 100644 index 6f9195a..0000000 --- a/0001-GTK-Hangs-when-showing-Google-search-results.patch +++ /dev/null @@ -1,589 +0,0 @@ -From 7e013c8c5ff959cd71a939a4795ef7dfc18a51f1 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Fri, 24 Feb 2017 13:03:14 +0100 -Subject: [PATCH] [GTK] Hangs when showing Google search results - -https://bugs.webkit.org/show_bug.cgi?id=168699 - -Reviewed by NOBODY (OOPS!). - -Connection::sendOutgoingMessage() can poll forever if sendmsg fails with EAGAIN or EWOULDBLOCK. For example if -socket read buffers are full, poll will be blocked until we read the pending data, but we can't read because -the thread is blocked in the poll. In case of EAGAIN/EWOULDBLOCK we should poll using the run loop, to allow -reads to happen in thread while we wait for the socket to be writable again. In the GTK+ port we use -GSocketMonitor to poll socket file descriptor without blocking, using the run loop. This patch renames the -socket monitor as readSocketMonitor and adds another one for polling output. When sendmsg fails with -EAGAIN/EWOULDBLOCK, the pending message is saved and the write monitor starts polling. Once the socket is -writable again we send the pending message. Helper class MessageInfo and a new one UnixMessage have been moved -to its own header file to be able to use std::unique_ptr member to save the pending message. - -* Platform/IPC/Connection.cpp: Include UnixMessage.h as required by std::unique_ptr. -* Platform/IPC/Connection.h: Add write socket monitor and also keep the GSocket as a member to reuse it. -* Platform/IPC/glib/GSocketMonitor.cpp: Use Function instead of std::function. -(IPC::GSocketMonitor::start): -* Platform/IPC/glib/GSocketMonitor.h: -* Platform/IPC/unix/ConnectionUnix.cpp: -(IPC::Connection::platformInitialize): Initialize the GSocket here since we rely on it to take the ownership of -the descriptor. We were leaking it if the connection was invalidated without being opened. -(IPC::Connection::platformInvalidate): Destroy the GSocket even when not connected. Also stop the write monitor. -(IPC::Connection::processMessage): -(IPC::Connection::open): -(IPC::Connection::platformCanSendOutgoingMessages): Return false if we have a pending message to ensure -Connection doesn't try to send more messages until the pending message is dispatched. We don't need to check -m_isConnected because the caller already checks that. -(IPC::Connection::sendOutgoingMessage): Split it in two. This creates and prepares a UnixMessage and then calls -sendOutputMessage() to do the rest. -(IPC::Connection::sendOutputMessage): Send the message, or save it if sendmsg fails with EAGAIN or EWOULDBLOCK -to be sent later when the socket is writable. -* Platform/IPC/unix/UnixMessage.h: Added. -(IPC::MessageInfo::MessageInfo): -(IPC::MessageInfo::setMessageBodyIsOutOfLine): -(IPC::MessageInfo::isMessageBodyIsOutOfLine): -(IPC::MessageInfo::bodySize): -(IPC::MessageInfo::attachmentCount): -(IPC::UnixMessage::UnixMessage): -(IPC::UnixMessage::~UnixMessage): -(IPC::UnixMessage::attachments): -(IPC::UnixMessage::messageInfo): -(IPC::UnixMessage::body): -(IPC::UnixMessage::bodySize): -(IPC::UnixMessage::appendAttachment): -* PlatformGTK.cmake: ---- - Source/WebKit2/Platform/IPC/Connection.cpp | 4 + - Source/WebKit2/Platform/IPC/Connection.h | 7 +- - .../WebKit2/Platform/IPC/glib/GSocketMonitor.cpp | 2 +- - Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h | 4 +- - .../WebKit2/Platform/IPC/unix/ConnectionUnix.cpp | 140 ++++++++++----------- - Source/WebKit2/Platform/IPC/unix/UnixMessage.h | 113 +++++++++++++++++ - Source/WebKit2/PlatformGTK.cmake | 1 + - 7 files changed, 194 insertions(+), 77 deletions(-) - create mode 100644 Source/WebKit2/Platform/IPC/unix/UnixMessage.h - -diff --git a/Source/WebKit2/Platform/IPC/Connection.cpp b/Source/WebKit2/Platform/IPC/Connection.cpp -index daa6510..baf5306 100644 ---- a/Source/WebKit2/Platform/IPC/Connection.cpp -+++ b/Source/WebKit2/Platform/IPC/Connection.cpp -@@ -39,6 +39,10 @@ - #include "MachMessage.h" - #endif - -+#if USE(UNIX_DOMAIN_SOCKETS) -+#include "UnixMessage.h" -+#endif -+ - namespace IPC { - - struct Connection::ReplyHandler { -diff --git a/Source/WebKit2/Platform/IPC/Connection.h b/Source/WebKit2/Platform/IPC/Connection.h -index 87a3d91..a5a8ad7 100644 ---- a/Source/WebKit2/Platform/IPC/Connection.h -+++ b/Source/WebKit2/Platform/IPC/Connection.h -@@ -79,6 +79,7 @@ enum class WaitForOption { - while (0) - - class MachMessage; -+class UnixMessage; - - class Connection : public ThreadSafeRefCounted { - public: -@@ -308,12 +309,16 @@ private: - // Called on the connection queue. - void readyReadHandler(); - bool processMessage(); -+ bool sendOutputMessage(UnixMessage&); - - Vector m_readBuffer; - Vector m_fileDescriptors; - int m_socketDescriptor; -+ std::unique_ptr m_pendingOutputMessage; - #if PLATFORM(GTK) -- GSocketMonitor m_socketMonitor; -+ GRefPtr m_socket; -+ GSocketMonitor m_readSocketMonitor; -+ GSocketMonitor m_writeSocketMonitor; - #endif - #elif OS(DARWIN) - // Called on the connection queue. -diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -index 0faf266..14329b9 100644 ---- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -+++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -@@ -42,7 +42,7 @@ gboolean GSocketMonitor::socketSourceCallback(GSocket*, GIOCondition condition, - return monitor->m_callback(condition); - } - --void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, std::function&& callback) -+void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, Function&& callback) - { - stop(); - -diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -index 11e528a..ff37bf9 100644 ---- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -+++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -@@ -43,7 +43,7 @@ public: - GSocketMonitor() = default; - ~GSocketMonitor(); - -- void start(GSocket*, GIOCondition, RunLoop&, std::function&&); -+ void start(GSocket*, GIOCondition, RunLoop&, Function&&); - void stop(); - - private: -@@ -51,7 +51,7 @@ private: - - GRefPtr m_source; - GRefPtr m_cancellable; -- std::function m_callback; -+ Function m_callback; - }; - - } // namespace IPC -diff --git a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -index fcd1047..0e04238 100644 ---- a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -+++ b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -@@ -30,6 +30,7 @@ - - #include "DataReference.h" - #include "SharedMemory.h" -+#include "UnixMessage.h" - #include - #include - #include -@@ -60,60 +61,20 @@ namespace IPC { - static const size_t messageMaxSize = 4096; - static const size_t attachmentMaxAmount = 255; - --enum { -- MessageBodyIsOutOfLine = 1U << 31 --}; -- --class MessageInfo { --public: -- MessageInfo() { } -- -- MessageInfo(size_t bodySize, size_t initialAttachmentCount) -- : m_bodySize(bodySize) -- , m_attachmentCount(initialAttachmentCount) -- , m_isMessageBodyOutOfLine(false) -- { -- } -- -- void setMessageBodyIsOutOfLine() -- { -- ASSERT(!isMessageBodyIsOutOfLine()); -- -- m_isMessageBodyOutOfLine = true; -- m_attachmentCount++; -- } -- -- bool isMessageBodyIsOutOfLine() const { return m_isMessageBodyOutOfLine; } -- -- size_t bodySize() const { return m_bodySize; } -- -- size_t attachmentCount() const { return m_attachmentCount; } -- --private: -- size_t m_bodySize; -- size_t m_attachmentCount; -- bool m_isMessageBodyOutOfLine; --}; -- - class AttachmentInfo { - WTF_MAKE_FAST_ALLOCATED; - public: -- AttachmentInfo() -- : m_type(Attachment::Uninitialized) -- , m_size(0) -- , m_isNull(false) -- { -- } -+ AttachmentInfo() = default; - - void setType(Attachment::Type type) { m_type = type; } -- Attachment::Type getType() { return m_type; } -+ Attachment::Type type() const { return m_type; } - void setSize(size_t size) - { - ASSERT(m_type == Attachment::MappedMemoryType); - m_size = size; - } - -- size_t getSize() -+ size_t size() const - { - ASSERT(m_type == Attachment::MappedMemoryType); - return m_size; -@@ -121,25 +82,30 @@ public: - - // The attachment is not null unless explicitly set. - void setNull() { m_isNull = true; } -- bool isNull() { return m_isNull; } -+ bool isNull() const { return m_isNull; } - - private: -- Attachment::Type m_type; -- size_t m_size; -- bool m_isNull; -+ Attachment::Type m_type { Attachment::Uninitialized }; -+ size_t m_size { 0 }; -+ bool m_isNull { false }; - }; - - void Connection::platformInitialize(Identifier identifier) - { - m_socketDescriptor = identifier; -+#if PLATFORM(GTK) -+ m_socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); -+#endif - m_readBuffer.reserveInitialCapacity(messageMaxSize); - m_fileDescriptors.reserveInitialCapacity(attachmentMaxAmount); - } - - void Connection::platformInvalidate() - { -- // In GTK+ platform the socket is closed by the work queue. --#if !PLATFORM(GTK) -+#if PLATFORM(GTK) -+ // In GTK+ platform the socket descriptor is owned by GSocket. -+ m_socket = nullptr; -+#else - if (m_socketDescriptor != -1) - closeWithRetry(m_socketDescriptor); - #endif -@@ -148,7 +114,8 @@ void Connection::platformInvalidate() - return; - - #if PLATFORM(GTK) -- m_socketMonitor.stop(); -+ m_readSocketMonitor.stop(); -+ m_writeSocketMonitor.stop(); - #endif - - m_socketDescriptor = -1; -@@ -165,7 +132,7 @@ bool Connection::processMessage() - memcpy(&messageInfo, messageData, sizeof(messageInfo)); - messageData += sizeof(messageInfo); - -- size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isMessageBodyIsOutOfLine() ? 0 : messageInfo.bodySize()); -+ size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isBodyOutOfLine() ? 0 : messageInfo.bodySize()); - if (m_readBuffer.size() < messageLength) - return false; - -@@ -179,7 +146,7 @@ bool Connection::processMessage() - messageData += sizeof(AttachmentInfo) * attachmentCount; - - for (size_t i = 0; i < attachmentCount; ++i) { -- switch (attachmentInfo[i].getType()) { -+ switch (attachmentInfo[i].type()) { - case Attachment::MappedMemoryType: - case Attachment::SocketType: - if (!attachmentInfo[i].isNull()) -@@ -191,7 +158,7 @@ bool Connection::processMessage() - } - } - -- if (messageInfo.isMessageBodyIsOutOfLine()) -+ if (messageInfo.isBodyOutOfLine()) - attachmentCount--; - } - -@@ -201,11 +168,11 @@ bool Connection::processMessage() - size_t fdIndex = 0; - for (size_t i = 0; i < attachmentCount; ++i) { - int fd = -1; -- switch (attachmentInfo[i].getType()) { -+ switch (attachmentInfo[i].type()) { - case Attachment::MappedMemoryType: - if (!attachmentInfo[i].isNull()) - fd = m_fileDescriptors[fdIndex++]; -- attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].getSize()); -+ attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].size()); - break; - case Attachment::SocketType: - if (!attachmentInfo[i].isNull()) -@@ -219,7 +186,7 @@ bool Connection::processMessage() - } - } - -- if (messageInfo.isMessageBodyIsOutOfLine()) { -+ if (messageInfo.isBodyOutOfLine()) { - ASSERT(messageInfo.bodySize()); - - if (attachmentInfo[attachmentCount].isNull()) { -@@ -228,7 +195,7 @@ bool Connection::processMessage() - } - - WebKit::SharedMemory::Handle handle; -- handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].getSize())); -+ handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].size())); - - oolMessageBody = WebKit::SharedMemory::map(handle, WebKit::SharedMemory::Protection::ReadOnly); - if (!oolMessageBody) { -@@ -237,10 +204,10 @@ bool Connection::processMessage() - } - } - -- ASSERT(attachments.size() == (messageInfo.isMessageBodyIsOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); -+ ASSERT(attachments.size() == (messageInfo.isBodyOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); - - uint8_t* messageBody = messageData; -- if (messageInfo.isMessageBodyIsOutOfLine()) -+ if (messageInfo.isBodyOutOfLine()) - messageBody = reinterpret_cast(oolMessageBody->data()); - - auto decoder = std::make_unique(messageBody, messageInfo.bodySize(), nullptr, WTFMove(attachments)); -@@ -365,8 +332,7 @@ bool Connection::open() - RefPtr protectedThis(this); - m_isConnected = true; - #if PLATFORM(GTK) -- GRefPtr socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); -- m_socketMonitor.start(socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { -+ m_readSocketMonitor.start(m_socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { - if (condition & G_IO_HUP || condition & G_IO_ERR || condition & G_IO_NVAL) { - protectedThis->connectionDidClose(); - return G_SOURCE_REMOVE; -@@ -392,22 +358,21 @@ bool Connection::open() - - bool Connection::platformCanSendOutgoingMessages() const - { -- return m_isConnected; -+ return !m_pendingOutputMessage; - } - - bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - { - COMPILE_ASSERT(sizeof(MessageInfo) + attachmentMaxAmount * sizeof(size_t) <= messageMaxSize, AttachmentsFitToMessageInline); - -- Vector attachments = encoder->releaseAttachments(); -- if (attachments.size() > (attachmentMaxAmount - 1)) { -+ UnixMessage outputMessage(encoder.get()); -+ if (outputMessage.attachments().size() > (attachmentMaxAmount - 1)) { - ASSERT_NOT_REACHED(); - return false; - } - -- MessageInfo messageInfo(encoder->bufferSize(), attachments.size()); -- size_t messageSizeWithBodyInline = sizeof(messageInfo) + (attachments.size() * sizeof(AttachmentInfo)) + encoder->bufferSize(); -- if (messageSizeWithBodyInline > messageMaxSize && encoder->bufferSize()) { -+ size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize(); -+ if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) { - RefPtr oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize()); - if (!oolMessageBody) - return false; -@@ -416,13 +381,21 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - if (!oolMessageBody->createHandle(handle, WebKit::SharedMemory::Protection::ReadOnly)) - return false; - -- messageInfo.setMessageBodyIsOutOfLine(); -+ outputMessage.messageInfo().setBodyOutOfLine(); - -- memcpy(oolMessageBody->data(), encoder->buffer(), encoder->bufferSize()); -+ memcpy(oolMessageBody->data(), outputMessage.body(), outputMessage.bodySize()); - -- attachments.append(handle.releaseAttachment()); -+ outputMessage.appendAttachment(handle.releaseAttachment()); - } - -+ return sendOutputMessage(outputMessage); -+} -+ -+bool Connection::sendOutputMessage(UnixMessage& outputMessage) -+{ -+ ASSERT(!m_pendingOutputMessage); -+ -+ auto& messageInfo = outputMessage.messageInfo(); - struct msghdr message; - memset(&message, 0, sizeof(message)); - -@@ -438,6 +411,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - std::unique_ptr attachmentInfo; - MallocPtr attachmentFDBuffer; - -+ auto& attachments = outputMessage.attachments(); - if (!attachments.isEmpty()) { - int* fdPtr = 0; - -@@ -488,9 +462,9 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - ++iovLength; - } - -- if (!messageInfo.isMessageBodyIsOutOfLine() && encoder->bufferSize()) { -- iov[iovLength].iov_base = reinterpret_cast(encoder->buffer()); -- iov[iovLength].iov_len = encoder->bufferSize(); -+ if (!messageInfo.isBodyOutOfLine() && outputMessage.bodySize()) { -+ iov[iovLength].iov_base = reinterpret_cast(outputMessage.body()); -+ iov[iovLength].iov_len = outputMessage.bodySize(); - ++iovLength; - } - -@@ -500,6 +474,25 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - if (errno == EINTR) - continue; - if (errno == EAGAIN || errno == EWOULDBLOCK) { -+#if PLATFORM(GTK) -+ m_pendingOutputMessage = std::make_unique(WTFMove(outputMessage)); -+ m_writeSocketMonitor.start(m_socket.get(), G_IO_OUT, m_connectionQueue->runLoop(), [this, protectedThis = makeRef(*this)] (GIOCondition condition) -> gboolean { -+ if (condition & G_IO_OUT) { -+ ASSERT(m_pendingOutputMessage); -+ // We can't stop the monitor from this lambda, because stop destroys the lambda. -+ m_connectionQueue->dispatch([this, protectedThis = makeRef(*this)] { -+ m_writeSocketMonitor.stop(); -+ auto message = WTFMove(m_pendingOutputMessage); -+ if (m_isConnected) { -+ sendOutputMessage(*message); -+ sendOutgoingMessages(); -+ } -+ }); -+ } -+ return G_SOURCE_REMOVE; -+ }); -+ return false; -+#else - struct pollfd pollfd; - - pollfd.fd = m_socketDescriptor; -@@ -507,6 +500,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - pollfd.revents = 0; - poll(&pollfd, 1, -1); - continue; -+#endif - } - - if (m_isConnected) -diff --git a/Source/WebKit2/Platform/IPC/unix/UnixMessage.h b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h -new file mode 100644 -index 0000000..e99a0a4 ---- /dev/null -+++ b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h -@@ -0,0 +1,113 @@ -+/* -+ * Copyright (C) 2010 Apple Inc. All rights reserved. -+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) -+ * Copyright (C) 2011,2017 Igalia S.L. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -+ * THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#pragma once -+ -+#include "Attachment.h" -+#include -+ -+namespace IPC { -+ -+class MessageInfo { -+public: -+ MessageInfo() = default; -+ -+ MessageInfo(size_t bodySize, size_t initialAttachmentCount) -+ : m_bodySize(bodySize) -+ , m_attachmentCount(initialAttachmentCount) -+ { -+ } -+ -+ void setBodyOutOfLine() -+ { -+ ASSERT(!isBodyOutOfLine()); -+ -+ m_isBodyOutOfLine = true; -+ m_attachmentCount++; -+ } -+ -+ bool isBodyOutOfLine() const { return m_isBodyOutOfLine; } -+ size_t bodySize() const { return m_bodySize; } -+ size_t attachmentCount() const { return m_attachmentCount; } -+ -+private: -+ size_t m_bodySize { 0 }; -+ size_t m_attachmentCount { 0 }; -+ bool m_isBodyOutOfLine { false }; -+}; -+ -+class UnixMessage { -+ WTF_MAKE_FAST_ALLOCATED; -+public: -+ UnixMessage(Encoder* encoder) -+ : m_attachments(encoder->releaseAttachments()) -+ , m_messageInfo(encoder->bufferSize(), m_attachments.size()) -+ , m_body(encoder->buffer()) -+ { -+ } -+ -+ UnixMessage(UnixMessage&& other) -+ { -+ m_attachments = WTFMove(other.m_attachments); -+ m_messageInfo = WTFMove(other.m_messageInfo); -+ if (other.m_bodyOwned) { -+ std::swap(m_body, other.m_body); -+ std::swap(m_bodyOwned, other.m_bodyOwned); -+ } else if (!m_messageInfo.isBodyOutOfLine()) { -+ m_body = static_cast(fastMalloc(m_messageInfo.bodySize())); -+ memcpy(m_body, other.m_body, m_messageInfo.bodySize()); -+ m_bodyOwned = true; -+ other.m_body = nullptr; -+ other.m_bodyOwned = false; -+ } -+ } -+ -+ ~UnixMessage() -+ { -+ if (m_bodyOwned) -+ fastFree(m_body); -+ } -+ -+ const Vector& attachments() const { return m_attachments; } -+ MessageInfo& messageInfo() { return m_messageInfo; } -+ -+ uint8_t* body() const { return m_body; } -+ size_t bodySize() const { return m_messageInfo.bodySize(); } -+ -+ void appendAttachment(Attachment&& attachment) -+ { -+ m_attachments.append(WTFMove(attachment)); -+ } -+ -+private: -+ Vector m_attachments; -+ MessageInfo m_messageInfo; -+ uint8_t* m_body { nullptr }; -+ bool m_bodyOwned { false }; -+}; -+ -+} // namespace IPC -diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake -index ebede75..2c6bc5f 100644 ---- a/Source/WebKit2/PlatformGTK.cmake -+++ b/Source/WebKit2/PlatformGTK.cmake -@@ -850,6 +850,7 @@ list(APPEND WebKit2_INCLUDE_DIRECTORIES - "${WEBKIT2_DIR}/NetworkProcess/soup" - "${WEBKIT2_DIR}/NetworkProcess/unix" - "${WEBKIT2_DIR}/Platform/IPC/glib" -+ "${WEBKIT2_DIR}/Platform/IPC/unix" - "${WEBKIT2_DIR}/Shared/API/c/gtk" - "${WEBKIT2_DIR}/Shared/Plugins/unix" - "${WEBKIT2_DIR}/Shared/glib" --- -2.11.1 - diff --git a/sources b/sources index 2ff2d3b..f51f27f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.90.tar.xz) = f06bbde9ed06fb7ba426629e130d2a1a9f9d137a864d5f6874f1a0c14dde043a51ffe9ea31f3be5252f852621ddcef5385f75f8624cdc2e1f357cd14c839a4cc +SHA512 (webkitgtk-2.15.91.tar.xz) = 7071f305bb83cdb70559a28e2eb7b7207c6051278ee0dbe6c7a2448b3617294a700c2e536fdb125b2d66e4c4922e6a2da907f23ea0652df77d8d4402d9bd370a diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3cc1819..95e5ec2 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.90 -Release: 2%{?dist} +Version: 2.15.91 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,8 +21,6 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=168699 -Patch3: 0001-GTK-Hangs-when-showing-Google-search-results.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -98,6 +96,7 @@ This package contains WebKitGTK+ for GTK+ 3. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} Requires: %{name}-jsc-devel%{?_isa} = %{version}-%{release} %description devel @@ -129,6 +128,7 @@ files for developing applications that use JavaScript engine from %{name}. %package plugin-process-gtk2 Summary: GTK+ 2 based NPAPI plugins support for %{name} Obsoletes: %{name} < 2.12.0-3 +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} %description plugin-process-gtk2 Support for the GTK+ 2 based NPAPI plugins (such as Adobe Flash) for %{name}. @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Mar 01 2017 Tomas Popela - 2.15.91-1 +- Update to 2.15.91 + * Fri Feb 24 2017 Bastien Nocera - 2.15.90-2 - Add patch to fix hangs when showing the Google search page From c1ad2a110f4363cb3fb03a4a13bff166d0be5046 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 14 Mar 2017 10:41:46 +0100 Subject: [PATCH 051/101] Update to 2.15.92 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 85b599f..30523f3 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ /webkitgtk-2.15.4.tar.xz /webkitgtk-2.15.90.tar.xz /webkitgtk-2.15.91.tar.xz +/webkitgtk-2.15.92.tar.xz diff --git a/sources b/sources index f51f27f..6b1b2c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.91.tar.xz) = 7071f305bb83cdb70559a28e2eb7b7207c6051278ee0dbe6c7a2448b3617294a700c2e536fdb125b2d66e4c4922e6a2da907f23ea0652df77d8d4402d9bd370a +SHA512 (webkitgtk-2.15.92.tar.xz) = 2302c52f623b1ce1366ec1de0b93701bc149689495ca3b054a5aea55509f620a637fc0906c43657b1822c5d82c9636cfb387db218e939d6cf2d6eacae0657016 From ba406e12bd4d23d70287c8f132fb0065fd54365f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 14 Mar 2017 10:42:37 +0100 Subject: [PATCH 052/101] Update the specfile --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 95e5ec2..a6a9ae2 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.91 +Version: 2.15.92 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Mar 14 2017 Tomas Popela - 2.15.92-1 +- Update to 2.15.92 + * Wed Mar 01 2017 Tomas Popela - 2.15.91-1 - Update to 2.15.91 From e8f4b0235cda1b3ee8a81bc04ea143f6b3d1513b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 20 Mar 2017 14:06:26 +0100 Subject: [PATCH 053/101] Update to 2.16.0 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 30523f3..0edb21c 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /webkitgtk-2.15.90.tar.xz /webkitgtk-2.15.91.tar.xz /webkitgtk-2.15.92.tar.xz +/webkitgtk-2.16.0.tar.xz diff --git a/sources b/sources index 6b1b2c3..c99396b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.15.92.tar.xz) = 2302c52f623b1ce1366ec1de0b93701bc149689495ca3b054a5aea55509f620a637fc0906c43657b1822c5d82c9636cfb387db218e939d6cf2d6eacae0657016 +SHA512 (webkitgtk-2.16.0.tar.xz) = 7ad889484dda5d91009b1375eb4188b5bf7bf9ff7cc2b253dc702511d1b5859d18076a14246cc928fb4736676dbc5ee33f5afa944c3cb9ec013227a34bbb9523 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index a6a9ae2..e7f409e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.15.92 +Version: 2.16.0 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Mar 20 2017 Tomas Popela - 2.16.0-1 +- Update to 2.16.0 + * Tue Mar 14 2017 Tomas Popela - 2.15.92-1 - Update to 2.15.92 From 04714da99bc2395f46d1598fd90744971da1b825 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 4 Apr 2017 10:37:35 +0200 Subject: [PATCH 054/101] Update to 2.16.1 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0edb21c..40b1850 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /webkitgtk-2.15.91.tar.xz /webkitgtk-2.15.92.tar.xz /webkitgtk-2.16.0.tar.xz +/webkitgtk-2.16.1.tar.xz diff --git a/sources b/sources index c99396b..701baeb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.0.tar.xz) = 7ad889484dda5d91009b1375eb4188b5bf7bf9ff7cc2b253dc702511d1b5859d18076a14246cc928fb4736676dbc5ee33f5afa944c3cb9ec013227a34bbb9523 +SHA512 (webkitgtk-2.16.1.tar.xz) = 4b8de15644d0d0f9814c674020cbbab8628347915b8010977dbe2365ce276ea05b3bf86171400ae8eb5bfdebbadcfabd1efce34a177b5c82aa765bd3351e7010 From 760c3fb60efbcc1a9a630a283578f946feff3fe8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 4 Apr 2017 10:38:21 +0200 Subject: [PATCH 055/101] Update the SPEC file --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e7f409e..850bf5c 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.0 +Version: 2.16.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Apr 04 2017 Tomas Popela - 2.16.1-1 +- Update to 2.16.1 + * Mon Mar 20 2017 Tomas Popela - 2.16.0-1 - Update to 2.16.0 From e0b63c15394e79a34a5cc6e9a047b72052bf4a9a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 6 Apr 2017 10:33:28 +0200 Subject: [PATCH 056/101] Add patch for freezing regression --- ...C-MachineThreads-does-not-consider-s.patch | 390 ++++++++++++++++++ ...ge-when-an-invalid-message-is-receiv.patch | 38 ++ webkitgtk4.spec | 9 +- 3 files changed, 436 insertions(+), 1 deletion(-) create mode 100644 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch create mode 100644 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch diff --git a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch new file mode 100644 index 0000000..80318f0 --- /dev/null +++ b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch @@ -0,0 +1,390 @@ +From 70c605847496766b0ca59bee03ecadb74e54a159 Mon Sep 17 00:00:00 2001 +From: "carlosgc@webkit.org" + +Date: Tue, 4 Apr 2017 16:12:17 +0000 +Subject: [PATCH] Merge r214319 - [JSC] MachineThreads does not consider + situation that one thread has multiple VMs + https://bugs.webkit.org/show_bug.cgi?id=169819 + +Reviewed by Mark Lam. + +The Linux port of PlatformThread suspend/resume mechanism relies on having a thread +specific singleton thread data, and was relying on MachineThreads::Thread to be this +thread specific singleton. But because MachineThreads::Thread is not a thread specific +singleton, we can get a deadlock in the GTK port's DatabaseProcess. + +This patch fixes this issue by moving per thread data from MachineThreads::Thread to +MachineThreads::ThreadData, where there will only be one instance of +MachineThreads::ThreadData per thread. Each MachineThreads::Thread will now point to +the same MachineThreads::ThreadData for any given thread. + +* heap/MachineStackMarker.cpp: +(pthreadSignalHandlerSuspendResume): +(JSC::threadData): +(JSC::MachineThreads::Thread::Thread): +(JSC::MachineThreads::Thread::createForCurrentThread): +(JSC::MachineThreads::Thread::operator==): +(JSC::MachineThreads::ThreadData::ThreadData): +(JSC::MachineThreads::ThreadData::~ThreadData): +(JSC::MachineThreads::ThreadData::suspend): +(JSC::MachineThreads::ThreadData::resume): +(JSC::MachineThreads::ThreadData::getRegisters): +(JSC::MachineThreads::ThreadData::Registers::stackPointer): +(JSC::MachineThreads::ThreadData::Registers::framePointer): +(JSC::MachineThreads::ThreadData::Registers::instructionPointer): +(JSC::MachineThreads::ThreadData::Registers::llintPC): +(JSC::MachineThreads::ThreadData::freeRegisters): +(JSC::MachineThreads::ThreadData::captureStack): +(JSC::MachineThreads::tryCopyOtherThreadStacks): +(JSC::MachineThreads::Thread::~Thread): Deleted. +(JSC::MachineThreads::Thread::suspend): Deleted. +(JSC::MachineThreads::Thread::resume): Deleted. +(JSC::MachineThreads::Thread::getRegisters): Deleted. +(JSC::MachineThreads::Thread::Registers::stackPointer): Deleted. +(JSC::MachineThreads::Thread::Registers::framePointer): Deleted. +(JSC::MachineThreads::Thread::Registers::instructionPointer): Deleted. +(JSC::MachineThreads::Thread::Registers::llintPC): Deleted. +(JSC::MachineThreads::Thread::freeRegisters): Deleted. +(JSC::MachineThreads::Thread::captureStack): Deleted. +* heap/MachineStackMarker.h: +(JSC::MachineThreads::Thread::operator!=): +(JSC::MachineThreads::Thread::suspend): +(JSC::MachineThreads::Thread::resume): +(JSC::MachineThreads::Thread::getRegisters): +(JSC::MachineThreads::Thread::freeRegisters): +(JSC::MachineThreads::Thread::captureStack): +(JSC::MachineThreads::Thread::platformThread): +(JSC::MachineThreads::Thread::stackBase): +(JSC::MachineThreads::Thread::stackEnd): +* runtime/SamplingProfiler.cpp: +(JSC::FrameWalker::isValidFramePointer): +* runtime/VMTraps.cpp: +(JSC::findActiveVMAndStackBounds): + +git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.16@214882 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/heap/MachineStackMarker.cpp | 73 +++++++++++++--------- + Source/JavaScriptCore/heap/MachineStackMarker.h | 41 +++++++++--- + Source/JavaScriptCore/runtime/SamplingProfiler.cpp | 4 +- + 4 files changed, 137 insertions(+), 41 deletions(-) + +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +index 65eb0cf0d9b..5fea745d2ad 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + + #if OS(DARWIN) +@@ -69,14 +70,14 @@ + // We use SIGUSR2 to suspend and resume machine threads in JavaScriptCore. + static const int SigThreadSuspendResume = SIGUSR2; + static StaticLock globalSignalLock; +-thread_local static std::atomic threadLocalCurrentThread; ++thread_local static std::atomic threadLocalCurrentThread { nullptr }; + + static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + { + // Touching thread local atomic types from signal handlers is allowed. +- JSC::MachineThreads::Thread* thread = threadLocalCurrentThread.load(); ++ JSC::MachineThreads::ThreadData* threadData = threadLocalCurrentThread.load(); + +- if (thread->suspended.load(std::memory_order_acquire)) { ++ if (threadData->suspended.load(std::memory_order_acquire)) { + // This is signal handler invocation that is intended to be used to resume sigsuspend. + // So this handler invocation itself should not process. + // +@@ -88,9 +89,9 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + + ucontext_t* userContext = static_cast(ucontext); + #if CPU(PPC) +- thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; ++ threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; + #else +- thread->suspendedMachineContext = userContext->uc_mcontext; ++ threadData->suspendedMachineContext = userContext->uc_mcontext; + #endif + + // Allow suspend caller to see that this thread is suspended. +@@ -99,7 +100,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + // + // And sem_post emits memory barrier that ensures that suspendedMachineContext is correctly saved. + // http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_11 +- sem_post(&thread->semaphoreForSuspendResume); ++ sem_post(&threadData->semaphoreForSuspendResume); + + // Reaching here, SigThreadSuspendResume is blocked in this handler (this is configured by sigaction's sa_mask). + // So before calling sigsuspend, SigThreadSuspendResume to this thread is deferred. This ensures that the handler is not executed recursively. +@@ -109,7 +110,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + sigsuspend(&blockedSignalSet); + + // Allow resume caller to see that this thread is resumed. +- sem_post(&thread->semaphoreForSuspendResume); ++ sem_post(&threadData->semaphoreForSuspendResume); + } + #endif // USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) + +@@ -215,18 +216,29 @@ MachineThreads::~MachineThreads() + } + } + ++static MachineThreads::ThreadData* threadData() ++{ ++ static NeverDestroyed> threadData; ++ return threadData.get(); ++} ++ ++MachineThreads::Thread::Thread(ThreadData* threadData) ++ : data(threadData) ++{ ++ ASSERT(threadData); ++} ++ + Thread* MachineThreads::Thread::createForCurrentThread() + { +- auto stackBounds = wtfThreadData().stack(); +- return new Thread(getCurrentPlatformThread(), stackBounds.origin(), stackBounds.end()); ++ return new Thread(threadData()); + } + + bool MachineThreads::Thread::operator==(const PlatformThread& other) const + { + #if OS(DARWIN) || OS(WINDOWS) +- return platformThread == other; ++ return data->platformThread == other; + #elif USE(PTHREADS) +- return !!pthread_equal(platformThread, other); ++ return !!pthread_equal(data->platformThread, other); + #else + #error Need a way to compare threads on this platform + #endif +@@ -325,11 +337,13 @@ void MachineThreads::gatherFromCurrentThread(ConservativeRoots& conservativeRoot + conservativeRoots.add(currentThreadState.stackTop, currentThreadState.stackOrigin, jitStubRoutines, codeBlocks); + } + +-MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, void* end) +- : platformThread(platThread) +- , stackBase(base) +- , stackEnd(end) ++MachineThreads::ThreadData::ThreadData() + { ++ auto stackBounds = wtfThreadData().stack(); ++ platformThread = getCurrentPlatformThread(); ++ stackBase = stackBounds.origin(); ++ stackEnd = stackBounds.end(); ++ + #if OS(WINDOWS) + ASSERT(platformThread == GetCurrentThreadId()); + bool isSuccessful = +@@ -362,7 +376,7 @@ MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, voi + #endif + } + +-MachineThreads::Thread::~Thread() ++MachineThreads::ThreadData::~ThreadData() + { + #if OS(WINDOWS) + CloseHandle(platformThreadHandle); +@@ -371,7 +385,7 @@ MachineThreads::Thread::~Thread() + #endif + } + +-bool MachineThreads::Thread::suspend() ++bool MachineThreads::ThreadData::suspend() + { + #if OS(DARWIN) + kern_return_t result = thread_suspend(platformThread); +@@ -408,7 +422,7 @@ bool MachineThreads::Thread::suspend() + #endif + } + +-void MachineThreads::Thread::resume() ++void MachineThreads::ThreadData::resume() + { + #if OS(DARWIN) + thread_resume(platformThread); +@@ -439,9 +453,9 @@ void MachineThreads::Thread::resume() + #endif + } + +-size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) ++size_t MachineThreads::ThreadData::getRegisters(ThreadData::Registers& registers) + { +- Thread::Registers::PlatformRegisters& regs = registers.regs; ++ ThreadData::Registers::PlatformRegisters& regs = registers.regs; + #if OS(DARWIN) + #if CPU(X86) + unsigned user_count = sizeof(regs)/sizeof(int); +@@ -496,7 +510,7 @@ size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) + #endif + } + +-void* MachineThreads::Thread::Registers::stackPointer() const ++void* MachineThreads::ThreadData::Registers::stackPointer() const + { + #if OS(DARWIN) + +@@ -601,7 +615,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const + } + + #if ENABLE(SAMPLING_PROFILER) +-void* MachineThreads::Thread::Registers::framePointer() const ++void* MachineThreads::ThreadData::Registers::framePointer() const + { + #if OS(DARWIN) + +@@ -684,7 +698,7 @@ void* MachineThreads::Thread::Registers::framePointer() const + #endif + } + +-void* MachineThreads::Thread::Registers::instructionPointer() const ++void* MachineThreads::ThreadData::Registers::instructionPointer() const + { + #if OS(DARWIN) + +@@ -765,7 +779,8 @@ void* MachineThreads::Thread::Registers::instructionPointer() const + #error Need a way to get the instruction pointer for another thread on this platform + #endif + } +-void* MachineThreads::Thread::Registers::llintPC() const ++ ++void* MachineThreads::ThreadData::Registers::llintPC() const + { + // LLInt uses regT4 as PC. + #if OS(DARWIN) +@@ -858,9 +873,9 @@ void* MachineThreads::Thread::Registers::llintPC() const + } + #endif // ENABLE(SAMPLING_PROFILER) + +-void MachineThreads::Thread::freeRegisters(Thread::Registers& registers) ++void MachineThreads::ThreadData::freeRegisters(ThreadData::Registers& registers) + { +- Thread::Registers::PlatformRegisters& regs = registers.regs; ++ ThreadData::Registers::PlatformRegisters& regs = registers.regs; + #if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) + pthread_attr_destroy(®s.attribute); + #else +@@ -883,7 +898,7 @@ static inline int osRedZoneAdjustment() + return redZoneAdjustment; + } + +-std::pair MachineThreads::Thread::captureStack(void* stackTop) ++std::pair MachineThreads::ThreadData::captureStack(void* stackTop) + { + char* begin = reinterpret_cast_ptr(stackBase); + char* end = bitwise_cast(WTF::roundUpToMultipleOf(reinterpret_cast(stackTop))); +@@ -971,12 +986,12 @@ bool MachineThreads::tryCopyOtherThreadStacks(LockHolder&, void* buffer, size_t + } + + // Re-do the suspension to get the actual failure result for logging. +- kern_return_t error = thread_suspend(thread->platformThread); ++ kern_return_t error = thread_suspend(thread->platformThread()); + ASSERT(error != KERN_SUCCESS); + + WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, + "JavaScript garbage collection encountered an invalid thread (err 0x%x): Thread [%d/%d: %p] platformThread %p.", +- error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread)); ++ error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread())); + + // Put the invalid thread on the threadsToBeDeleted list. + // We can't just delete it here because we have suspended other +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.h b/Source/JavaScriptCore/heap/MachineStackMarker.h +index a5a50870922..da979c582ec 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.h ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.h +@@ -74,14 +74,13 @@ public: + + JS_EXPORT_PRIVATE void addCurrentThread(); // Only needs to be called by clients that can use the same heap from multiple threads. + +- class Thread { ++ class ThreadData { + WTF_MAKE_FAST_ALLOCATED; +- Thread(const PlatformThread& platThread, void* base, void* end); +- + public: +- ~Thread(); ++ ThreadData(); ++ ~ThreadData(); + +- static Thread* createForCurrentThread(); ++ static ThreadData* createForCurrentThread(); + + struct Registers { + void* stackPointer() const; +@@ -118,12 +117,9 @@ public: + #else + #error Need a thread register struct for this platform + #endif +- ++ + PlatformRegisters regs; + }; +- +- bool operator==(const PlatformThread& other) const; +- bool operator!=(const PlatformThread& other) const { return !(*this == other); } + + bool suspend(); + void resume(); +@@ -131,7 +127,6 @@ public: + void freeRegisters(Registers&); + std::pair captureStack(void* stackTop); + +- Thread* next; + PlatformThread platformThread; + void* stackBase; + void* stackEnd; +@@ -145,6 +140,32 @@ public: + #endif + }; + ++ class Thread { ++ WTF_MAKE_FAST_ALLOCATED; ++ Thread(ThreadData*); ++ ++ public: ++ using Registers = ThreadData::Registers; ++ ++ static Thread* createForCurrentThread(); ++ ++ bool operator==(const PlatformThread& other) const; ++ bool operator!=(const PlatformThread& other) const { return !(*this == other); } ++ ++ bool suspend() { return data->suspend(); } ++ void resume() { data->resume(); } ++ size_t getRegisters(Registers& regs) { return data->getRegisters(regs); } ++ void freeRegisters(Registers& regs) { data->freeRegisters(regs); } ++ std::pair captureStack(void* stackTop) { return data->captureStack(stackTop); } ++ ++ const PlatformThread& platformThread() { return data->platformThread; } ++ void* stackBase() const { return data->stackBase; } ++ void* stackEnd() const { return data->stackEnd; } ++ ++ Thread* next; ++ ThreadData* data; ++ }; ++ + Lock& getLock() { return m_registeredThreadsMutex; } + Thread* threadsListHead(const LockHolder&) const { ASSERT(m_registeredThreadsMutex.isLocked()); return m_registeredThreads; } + Thread* machineThreadForCurrentThread(); +diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp +index a8d953d6622..9326d7a0fc9 100644 +--- a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp ++++ b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp +@@ -169,8 +169,8 @@ protected: + { + uint8_t* fpCast = bitwise_cast(exec); + for (MachineThreads::Thread* thread = m_vm.heap.machineThreads().threadsListHead(m_machineThreadsLocker); thread; thread = thread->next) { +- uint8_t* stackBase = static_cast(thread->stackBase); +- uint8_t* stackLimit = static_cast(thread->stackEnd); ++ uint8_t* stackBase = static_cast(thread->stackBase()); ++ uint8_t* stackLimit = static_cast(thread->stackEnd()); + RELEASE_ASSERT(stackBase); + RELEASE_ASSERT(stackLimit); + if (fpCast <= stackBase && fpCast >= stackLimit) +-- +2.12.2 + diff --git a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch new file mode 100644 index 0000000..796e637 --- /dev/null +++ b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch @@ -0,0 +1,38 @@ +From 7a4822f02bd724c1eb3079158f93331c4090b9ad Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + +Date: Wed, 5 Apr 2017 16:50:03 +0000 +Subject: [PATCH] Show a log message when an invalid message is received in non + cocoa ports https://bugs.webkit.org/show_bug.cgi?id=170506 + +Patch by Carlos Garcia Campos on 2017-04-05 +Reviewed by Michael Catanzaro. + +We just crash, but without knowing the details about the message it's impossible to debug. + +* Shared/ChildProcess.cpp: +(WebKit::ChildProcess::didReceiveInvalidMessage): + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@214947 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/WebKit2/Shared/ChildProcess.cpp | 3 ++- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/Source/WebKit2/Shared/ChildProcess.cpp b/Source/WebKit2/Shared/ChildProcess.cpp +index 060c63ae792..bc1f2d6ab6a 100644 +--- a/Source/WebKit2/Shared/ChildProcess.cpp ++++ b/Source/WebKit2/Shared/ChildProcess.cpp +@@ -197,8 +197,9 @@ void ChildProcess::initializeSandbox(const ChildProcessInitializationParameters& + { + } + +-void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference) ++void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference messageReceiverName, IPC::StringReference messageName) + { ++ WTFLogAlways("Received invalid message: '%s::%s'", messageReceiverName.toString().data(), messageName.toString().data()); + CRASH(); + } + #endif +-- +2.12.2 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 850bf5c..112b68e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.16.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,6 +21,10 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch +# https://bugs.webkit.org/show_bug.cgi?id=170450 +Patch3: 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch +# https://bugs.webkit.org/show_bug.cgi?id=170506 +Patch4: 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -257,6 +261,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 06 2017 Tomas Popela - 2.16.1-2 +- Add patch for freezing regression + * Tue Apr 04 2017 Tomas Popela - 2.16.1-1 - Update to 2.16.1 From 1c1d5ef171bac498c7bb06cc9482d5817f83283c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 10 Apr 2017 16:11:37 +0200 Subject: [PATCH 057/101] Enable JIT and bmalloc on aarch64 and MIPS --- webkitgtk4.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 112b68e..705ca55 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.16.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -179,10 +179,10 @@ pushd %{_target_platform} %ifarch s390 aarch64 -DUSE_LD_GOLD=OFF \ %endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} -DUSE_SYSTEM_MALLOC=ON \ %endif .. @@ -261,6 +261,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Apr 10 2017 Tomas Popela - 2.16.1-3 +- Enable JIT and bmalloc on aarch64 and MIPS + * Thu Apr 06 2017 Tomas Popela - 2.16.1-2 - Add patch for freezing regression From c24eeac162c328573051955b971e5a77243e65f0 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 9 May 2017 07:54:30 -0500 Subject: [PATCH 058/101] Update to 2.17.1 --- .gitignore | 1 + ...C-MachineThreads-does-not-consider-s.patch | 390 ------------------ ...ge-when-an-invalid-message-is-receiv.patch | 38 -- fix-google.patch | 21 + fix-youtube.patch | 12 + sources | 2 +- webkitgtk4.spec | 15 +- 7 files changed, 44 insertions(+), 435 deletions(-) delete mode 100644 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch delete mode 100644 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch create mode 100644 fix-google.patch create mode 100644 fix-youtube.patch diff --git a/.gitignore b/.gitignore index 40b1850..f810e82 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ /webkitgtk-2.15.92.tar.xz /webkitgtk-2.16.0.tar.xz /webkitgtk-2.16.1.tar.xz +/webkitgtk-2.17.1.tar.xz diff --git a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch deleted file mode 100644 index 80318f0..0000000 --- a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch +++ /dev/null @@ -1,390 +0,0 @@ -From 70c605847496766b0ca59bee03ecadb74e54a159 Mon Sep 17 00:00:00 2001 -From: "carlosgc@webkit.org" - -Date: Tue, 4 Apr 2017 16:12:17 +0000 -Subject: [PATCH] Merge r214319 - [JSC] MachineThreads does not consider - situation that one thread has multiple VMs - https://bugs.webkit.org/show_bug.cgi?id=169819 - -Reviewed by Mark Lam. - -The Linux port of PlatformThread suspend/resume mechanism relies on having a thread -specific singleton thread data, and was relying on MachineThreads::Thread to be this -thread specific singleton. But because MachineThreads::Thread is not a thread specific -singleton, we can get a deadlock in the GTK port's DatabaseProcess. - -This patch fixes this issue by moving per thread data from MachineThreads::Thread to -MachineThreads::ThreadData, where there will only be one instance of -MachineThreads::ThreadData per thread. Each MachineThreads::Thread will now point to -the same MachineThreads::ThreadData for any given thread. - -* heap/MachineStackMarker.cpp: -(pthreadSignalHandlerSuspendResume): -(JSC::threadData): -(JSC::MachineThreads::Thread::Thread): -(JSC::MachineThreads::Thread::createForCurrentThread): -(JSC::MachineThreads::Thread::operator==): -(JSC::MachineThreads::ThreadData::ThreadData): -(JSC::MachineThreads::ThreadData::~ThreadData): -(JSC::MachineThreads::ThreadData::suspend): -(JSC::MachineThreads::ThreadData::resume): -(JSC::MachineThreads::ThreadData::getRegisters): -(JSC::MachineThreads::ThreadData::Registers::stackPointer): -(JSC::MachineThreads::ThreadData::Registers::framePointer): -(JSC::MachineThreads::ThreadData::Registers::instructionPointer): -(JSC::MachineThreads::ThreadData::Registers::llintPC): -(JSC::MachineThreads::ThreadData::freeRegisters): -(JSC::MachineThreads::ThreadData::captureStack): -(JSC::MachineThreads::tryCopyOtherThreadStacks): -(JSC::MachineThreads::Thread::~Thread): Deleted. -(JSC::MachineThreads::Thread::suspend): Deleted. -(JSC::MachineThreads::Thread::resume): Deleted. -(JSC::MachineThreads::Thread::getRegisters): Deleted. -(JSC::MachineThreads::Thread::Registers::stackPointer): Deleted. -(JSC::MachineThreads::Thread::Registers::framePointer): Deleted. -(JSC::MachineThreads::Thread::Registers::instructionPointer): Deleted. -(JSC::MachineThreads::Thread::Registers::llintPC): Deleted. -(JSC::MachineThreads::Thread::freeRegisters): Deleted. -(JSC::MachineThreads::Thread::captureStack): Deleted. -* heap/MachineStackMarker.h: -(JSC::MachineThreads::Thread::operator!=): -(JSC::MachineThreads::Thread::suspend): -(JSC::MachineThreads::Thread::resume): -(JSC::MachineThreads::Thread::getRegisters): -(JSC::MachineThreads::Thread::freeRegisters): -(JSC::MachineThreads::Thread::captureStack): -(JSC::MachineThreads::Thread::platformThread): -(JSC::MachineThreads::Thread::stackBase): -(JSC::MachineThreads::Thread::stackEnd): -* runtime/SamplingProfiler.cpp: -(JSC::FrameWalker::isValidFramePointer): -* runtime/VMTraps.cpp: -(JSC::findActiveVMAndStackBounds): - -git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.16@214882 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/JavaScriptCore/heap/MachineStackMarker.cpp | 73 +++++++++++++--------- - Source/JavaScriptCore/heap/MachineStackMarker.h | 41 +++++++++--- - Source/JavaScriptCore/runtime/SamplingProfiler.cpp | 4 +- - 4 files changed, 137 insertions(+), 41 deletions(-) - -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -index 65eb0cf0d9b..5fea745d2ad 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - #include - - #if OS(DARWIN) -@@ -69,14 +70,14 @@ - // We use SIGUSR2 to suspend and resume machine threads in JavaScriptCore. - static const int SigThreadSuspendResume = SIGUSR2; - static StaticLock globalSignalLock; --thread_local static std::atomic threadLocalCurrentThread; -+thread_local static std::atomic threadLocalCurrentThread { nullptr }; - - static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - { - // Touching thread local atomic types from signal handlers is allowed. -- JSC::MachineThreads::Thread* thread = threadLocalCurrentThread.load(); -+ JSC::MachineThreads::ThreadData* threadData = threadLocalCurrentThread.load(); - -- if (thread->suspended.load(std::memory_order_acquire)) { -+ if (threadData->suspended.load(std::memory_order_acquire)) { - // This is signal handler invocation that is intended to be used to resume sigsuspend. - // So this handler invocation itself should not process. - // -@@ -88,9 +89,9 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - - ucontext_t* userContext = static_cast(ucontext); - #if CPU(PPC) -- thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; -+ threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; - #else -- thread->suspendedMachineContext = userContext->uc_mcontext; -+ threadData->suspendedMachineContext = userContext->uc_mcontext; - #endif - - // Allow suspend caller to see that this thread is suspended. -@@ -99,7 +100,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - // - // And sem_post emits memory barrier that ensures that suspendedMachineContext is correctly saved. - // http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_11 -- sem_post(&thread->semaphoreForSuspendResume); -+ sem_post(&threadData->semaphoreForSuspendResume); - - // Reaching here, SigThreadSuspendResume is blocked in this handler (this is configured by sigaction's sa_mask). - // So before calling sigsuspend, SigThreadSuspendResume to this thread is deferred. This ensures that the handler is not executed recursively. -@@ -109,7 +110,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - sigsuspend(&blockedSignalSet); - - // Allow resume caller to see that this thread is resumed. -- sem_post(&thread->semaphoreForSuspendResume); -+ sem_post(&threadData->semaphoreForSuspendResume); - } - #endif // USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) - -@@ -215,18 +216,29 @@ MachineThreads::~MachineThreads() - } - } - -+static MachineThreads::ThreadData* threadData() -+{ -+ static NeverDestroyed> threadData; -+ return threadData.get(); -+} -+ -+MachineThreads::Thread::Thread(ThreadData* threadData) -+ : data(threadData) -+{ -+ ASSERT(threadData); -+} -+ - Thread* MachineThreads::Thread::createForCurrentThread() - { -- auto stackBounds = wtfThreadData().stack(); -- return new Thread(getCurrentPlatformThread(), stackBounds.origin(), stackBounds.end()); -+ return new Thread(threadData()); - } - - bool MachineThreads::Thread::operator==(const PlatformThread& other) const - { - #if OS(DARWIN) || OS(WINDOWS) -- return platformThread == other; -+ return data->platformThread == other; - #elif USE(PTHREADS) -- return !!pthread_equal(platformThread, other); -+ return !!pthread_equal(data->platformThread, other); - #else - #error Need a way to compare threads on this platform - #endif -@@ -325,11 +337,13 @@ void MachineThreads::gatherFromCurrentThread(ConservativeRoots& conservativeRoot - conservativeRoots.add(currentThreadState.stackTop, currentThreadState.stackOrigin, jitStubRoutines, codeBlocks); - } - --MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, void* end) -- : platformThread(platThread) -- , stackBase(base) -- , stackEnd(end) -+MachineThreads::ThreadData::ThreadData() - { -+ auto stackBounds = wtfThreadData().stack(); -+ platformThread = getCurrentPlatformThread(); -+ stackBase = stackBounds.origin(); -+ stackEnd = stackBounds.end(); -+ - #if OS(WINDOWS) - ASSERT(platformThread == GetCurrentThreadId()); - bool isSuccessful = -@@ -362,7 +376,7 @@ MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, voi - #endif - } - --MachineThreads::Thread::~Thread() -+MachineThreads::ThreadData::~ThreadData() - { - #if OS(WINDOWS) - CloseHandle(platformThreadHandle); -@@ -371,7 +385,7 @@ MachineThreads::Thread::~Thread() - #endif - } - --bool MachineThreads::Thread::suspend() -+bool MachineThreads::ThreadData::suspend() - { - #if OS(DARWIN) - kern_return_t result = thread_suspend(platformThread); -@@ -408,7 +422,7 @@ bool MachineThreads::Thread::suspend() - #endif - } - --void MachineThreads::Thread::resume() -+void MachineThreads::ThreadData::resume() - { - #if OS(DARWIN) - thread_resume(platformThread); -@@ -439,9 +453,9 @@ void MachineThreads::Thread::resume() - #endif - } - --size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) -+size_t MachineThreads::ThreadData::getRegisters(ThreadData::Registers& registers) - { -- Thread::Registers::PlatformRegisters& regs = registers.regs; -+ ThreadData::Registers::PlatformRegisters& regs = registers.regs; - #if OS(DARWIN) - #if CPU(X86) - unsigned user_count = sizeof(regs)/sizeof(int); -@@ -496,7 +510,7 @@ size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) - #endif - } - --void* MachineThreads::Thread::Registers::stackPointer() const -+void* MachineThreads::ThreadData::Registers::stackPointer() const - { - #if OS(DARWIN) - -@@ -601,7 +615,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const - } - - #if ENABLE(SAMPLING_PROFILER) --void* MachineThreads::Thread::Registers::framePointer() const -+void* MachineThreads::ThreadData::Registers::framePointer() const - { - #if OS(DARWIN) - -@@ -684,7 +698,7 @@ void* MachineThreads::Thread::Registers::framePointer() const - #endif - } - --void* MachineThreads::Thread::Registers::instructionPointer() const -+void* MachineThreads::ThreadData::Registers::instructionPointer() const - { - #if OS(DARWIN) - -@@ -765,7 +779,8 @@ void* MachineThreads::Thread::Registers::instructionPointer() const - #error Need a way to get the instruction pointer for another thread on this platform - #endif - } --void* MachineThreads::Thread::Registers::llintPC() const -+ -+void* MachineThreads::ThreadData::Registers::llintPC() const - { - // LLInt uses regT4 as PC. - #if OS(DARWIN) -@@ -858,9 +873,9 @@ void* MachineThreads::Thread::Registers::llintPC() const - } - #endif // ENABLE(SAMPLING_PROFILER) - --void MachineThreads::Thread::freeRegisters(Thread::Registers& registers) -+void MachineThreads::ThreadData::freeRegisters(ThreadData::Registers& registers) - { -- Thread::Registers::PlatformRegisters& regs = registers.regs; -+ ThreadData::Registers::PlatformRegisters& regs = registers.regs; - #if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) - pthread_attr_destroy(®s.attribute); - #else -@@ -883,7 +898,7 @@ static inline int osRedZoneAdjustment() - return redZoneAdjustment; - } - --std::pair MachineThreads::Thread::captureStack(void* stackTop) -+std::pair MachineThreads::ThreadData::captureStack(void* stackTop) - { - char* begin = reinterpret_cast_ptr(stackBase); - char* end = bitwise_cast(WTF::roundUpToMultipleOf(reinterpret_cast(stackTop))); -@@ -971,12 +986,12 @@ bool MachineThreads::tryCopyOtherThreadStacks(LockHolder&, void* buffer, size_t - } - - // Re-do the suspension to get the actual failure result for logging. -- kern_return_t error = thread_suspend(thread->platformThread); -+ kern_return_t error = thread_suspend(thread->platformThread()); - ASSERT(error != KERN_SUCCESS); - - WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, - "JavaScript garbage collection encountered an invalid thread (err 0x%x): Thread [%d/%d: %p] platformThread %p.", -- error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread)); -+ error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread())); - - // Put the invalid thread on the threadsToBeDeleted list. - // We can't just delete it here because we have suspended other -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.h b/Source/JavaScriptCore/heap/MachineStackMarker.h -index a5a50870922..da979c582ec 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.h -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.h -@@ -74,14 +74,13 @@ public: - - JS_EXPORT_PRIVATE void addCurrentThread(); // Only needs to be called by clients that can use the same heap from multiple threads. - -- class Thread { -+ class ThreadData { - WTF_MAKE_FAST_ALLOCATED; -- Thread(const PlatformThread& platThread, void* base, void* end); -- - public: -- ~Thread(); -+ ThreadData(); -+ ~ThreadData(); - -- static Thread* createForCurrentThread(); -+ static ThreadData* createForCurrentThread(); - - struct Registers { - void* stackPointer() const; -@@ -118,12 +117,9 @@ public: - #else - #error Need a thread register struct for this platform - #endif -- -+ - PlatformRegisters regs; - }; -- -- bool operator==(const PlatformThread& other) const; -- bool operator!=(const PlatformThread& other) const { return !(*this == other); } - - bool suspend(); - void resume(); -@@ -131,7 +127,6 @@ public: - void freeRegisters(Registers&); - std::pair captureStack(void* stackTop); - -- Thread* next; - PlatformThread platformThread; - void* stackBase; - void* stackEnd; -@@ -145,6 +140,32 @@ public: - #endif - }; - -+ class Thread { -+ WTF_MAKE_FAST_ALLOCATED; -+ Thread(ThreadData*); -+ -+ public: -+ using Registers = ThreadData::Registers; -+ -+ static Thread* createForCurrentThread(); -+ -+ bool operator==(const PlatformThread& other) const; -+ bool operator!=(const PlatformThread& other) const { return !(*this == other); } -+ -+ bool suspend() { return data->suspend(); } -+ void resume() { data->resume(); } -+ size_t getRegisters(Registers& regs) { return data->getRegisters(regs); } -+ void freeRegisters(Registers& regs) { data->freeRegisters(regs); } -+ std::pair captureStack(void* stackTop) { return data->captureStack(stackTop); } -+ -+ const PlatformThread& platformThread() { return data->platformThread; } -+ void* stackBase() const { return data->stackBase; } -+ void* stackEnd() const { return data->stackEnd; } -+ -+ Thread* next; -+ ThreadData* data; -+ }; -+ - Lock& getLock() { return m_registeredThreadsMutex; } - Thread* threadsListHead(const LockHolder&) const { ASSERT(m_registeredThreadsMutex.isLocked()); return m_registeredThreads; } - Thread* machineThreadForCurrentThread(); -diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -index a8d953d6622..9326d7a0fc9 100644 ---- a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -+++ b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -@@ -169,8 +169,8 @@ protected: - { - uint8_t* fpCast = bitwise_cast(exec); - for (MachineThreads::Thread* thread = m_vm.heap.machineThreads().threadsListHead(m_machineThreadsLocker); thread; thread = thread->next) { -- uint8_t* stackBase = static_cast(thread->stackBase); -- uint8_t* stackLimit = static_cast(thread->stackEnd); -+ uint8_t* stackBase = static_cast(thread->stackBase()); -+ uint8_t* stackLimit = static_cast(thread->stackEnd()); - RELEASE_ASSERT(stackBase); - RELEASE_ASSERT(stackLimit); - if (fpCast <= stackBase && fpCast >= stackLimit) --- -2.12.2 - diff --git a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch deleted file mode 100644 index 796e637..0000000 --- a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7a4822f02bd724c1eb3079158f93331c4090b9ad Mon Sep 17 00:00:00 2001 -From: "commit-queue@webkit.org" - -Date: Wed, 5 Apr 2017 16:50:03 +0000 -Subject: [PATCH] Show a log message when an invalid message is received in non - cocoa ports https://bugs.webkit.org/show_bug.cgi?id=170506 - -Patch by Carlos Garcia Campos on 2017-04-05 -Reviewed by Michael Catanzaro. - -We just crash, but without knowing the details about the message it's impossible to debug. - -* Shared/ChildProcess.cpp: -(WebKit::ChildProcess::didReceiveInvalidMessage): - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@214947 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/WebKit2/Shared/ChildProcess.cpp | 3 ++- - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Source/WebKit2/Shared/ChildProcess.cpp b/Source/WebKit2/Shared/ChildProcess.cpp -index 060c63ae792..bc1f2d6ab6a 100644 ---- a/Source/WebKit2/Shared/ChildProcess.cpp -+++ b/Source/WebKit2/Shared/ChildProcess.cpp -@@ -197,8 +197,9 @@ void ChildProcess::initializeSandbox(const ChildProcessInitializationParameters& - { - } - --void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference) -+void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference messageReceiverName, IPC::StringReference messageName) - { -+ WTFLogAlways("Received invalid message: '%s::%s'", messageReceiverName.toString().data(), messageName.toString().data()); - CRASH(); - } - #endif --- -2.12.2 - diff --git a/fix-google.patch b/fix-google.patch new file mode 100644 index 0000000..f815dca --- /dev/null +++ b/fix-google.patch @@ -0,0 +1,21 @@ +Index: /Source/WebCore/platform/UserAgentQuirks.cpp +=================================================================== +--- /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216342) ++++ /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216343) +@@ -42,6 +42,7 @@ + // https://webkit.org/b/142074 carefully before changing. Test that Earth + // view is available in Google Maps. Test Google Calendar. Test downloading +- // the Hangouts browser plugin. Change platformVersionForUAString() to +- // return "FreeBSD amd64" and test Maps and Calendar again. ++ // the Hangouts browser plugin. Test logging out and logging in to a Google ++ // account. Change platformVersionForUAString() to return "FreeBSD amd64" ++ // and test everything again. + if (baseDomain.startsWith("google.")) + return true; +@@ -76,5 +77,5 @@ + static bool urlRequiresFirefoxBrowser(const URL& url) + { +- return isGoogle(url); ++ return isGoogle(url) && url.host() != "accounts.google.com"; + } + diff --git a/fix-youtube.patch b/fix-youtube.patch new file mode 100644 index 0000000..64b8b44 --- /dev/null +++ b/fix-youtube.patch @@ -0,0 +1,12 @@ +Index: /Source/WebCore/platform/UserAgentQuirks.cpp +=================================================================== +--- /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216138) ++++ /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216139) +@@ -65,8 +65,4 @@ + // https://bugs.webkit.org/show_bug.cgi?id=147296 + if (baseDomain == "typekit.net" || baseDomain == "typekit.com") +- return true; +- +- // Needed for YouTube 360 with WebKitGTK+ and WPE (requires ENABLE_MEDIA_SOURCE). +- if (baseDomain == "youtube.com") + return true; diff --git a/sources b/sources index 701baeb..95c6e97 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.1.tar.xz) = 4b8de15644d0d0f9814c674020cbbab8628347915b8010977dbe2365ce276ea05b3bf86171400ae8eb5bfdebbadcfabd1efce34a177b5c82aa765bd3351e7010 +SHA512 (webkitgtk-2.17.1.tar.xz) = 94efd18c8100fcdba20793247c948c90d6416ad3073098f5ad97f0de603ef272e47235a6b987f95d3b2ba07b461f0ea1843f0af992adbf5282c4b70537edb62d diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 705ca55..7585e87 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.1 -Release: 3%{?dist} +Version: 2.17.1 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,10 +21,10 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=170450 -Patch3: 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch -# https://bugs.webkit.org/show_bug.cgi?id=170506 -Patch4: 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch +# https://bugs.webkit.org/show_bug.cgi?id=171770 +Patch3: fix-google.patch +# https://bugs.webkit.org/show_bug.cgi?id=171603 +Patch4: fix-youtube.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -261,6 +261,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue May 09 2017 Michael Catanzaro - 2.17.1-1 +- Update to 2.17.1 + * Mon Apr 10 2017 Tomas Popela - 2.16.1-3 - Enable JIT and bmalloc on aarch64 and MIPS From 2a9683ba70f7f42ff204e4546f05c095cc14afe7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 15 May 2017 10:48:10 +0200 Subject: [PATCH 059/101] Update to 2.17.2 --- .gitignore | 1 + fix-google.patch | 21 --------------------- fix-youtube.patch | 12 ------------ sources | 2 +- webkitgtk4.spec | 9 ++++----- 5 files changed, 6 insertions(+), 39 deletions(-) delete mode 100644 fix-google.patch delete mode 100644 fix-youtube.patch diff --git a/.gitignore b/.gitignore index f810e82..160ccff 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ /webkitgtk-2.16.0.tar.xz /webkitgtk-2.16.1.tar.xz /webkitgtk-2.17.1.tar.xz +/webkitgtk-2.17.2.tar.xz diff --git a/fix-google.patch b/fix-google.patch deleted file mode 100644 index f815dca..0000000 --- a/fix-google.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: /Source/WebCore/platform/UserAgentQuirks.cpp -=================================================================== ---- /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216342) -+++ /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216343) -@@ -42,6 +42,7 @@ - // https://webkit.org/b/142074 carefully before changing. Test that Earth - // view is available in Google Maps. Test Google Calendar. Test downloading -- // the Hangouts browser plugin. Change platformVersionForUAString() to -- // return "FreeBSD amd64" and test Maps and Calendar again. -+ // the Hangouts browser plugin. Test logging out and logging in to a Google -+ // account. Change platformVersionForUAString() to return "FreeBSD amd64" -+ // and test everything again. - if (baseDomain.startsWith("google.")) - return true; -@@ -76,5 +77,5 @@ - static bool urlRequiresFirefoxBrowser(const URL& url) - { -- return isGoogle(url); -+ return isGoogle(url) && url.host() != "accounts.google.com"; - } - diff --git a/fix-youtube.patch b/fix-youtube.patch deleted file mode 100644 index 64b8b44..0000000 --- a/fix-youtube.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: /Source/WebCore/platform/UserAgentQuirks.cpp -=================================================================== ---- /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216138) -+++ /Source/WebCore/platform/UserAgentQuirks.cpp (revision 216139) -@@ -65,8 +65,4 @@ - // https://bugs.webkit.org/show_bug.cgi?id=147296 - if (baseDomain == "typekit.net" || baseDomain == "typekit.com") -- return true; -- -- // Needed for YouTube 360 with WebKitGTK+ and WPE (requires ENABLE_MEDIA_SOURCE). -- if (baseDomain == "youtube.com") - return true; diff --git a/sources b/sources index 95c6e97..bc31d0b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.1.tar.xz) = 94efd18c8100fcdba20793247c948c90d6416ad3073098f5ad97f0de603ef272e47235a6b987f95d3b2ba07b461f0ea1843f0af992adbf5282c4b70537edb62d +SHA512 (webkitgtk-2.17.2.tar.xz) = 4aae1a64391c7331bce43cc4cf76ec1e7fd517589fa737f44b9c022b13fbbe862f292f2e8040584a854df36c49619c36ea772bd47e76180f6c637256ddc8d79a diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 7585e87..f859ba8 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.1 +Version: 2.17.2 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -21,10 +21,6 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=171770 -Patch3: fix-google.patch -# https://bugs.webkit.org/show_bug.cgi?id=171603 -Patch4: fix-youtube.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -261,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon May 15 2017 Tomas Popela - 2.17.2-1 +- Update to 2.17.2 + * Tue May 09 2017 Michael Catanzaro - 2.17.1-1 - Update to 2.17.1 From ca6f0d7140ad36708e21047a7c72a6cb0ffd71b6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 20:21:27 +0000 Subject: [PATCH 060/101] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f859ba8..a837d9d 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon May 15 2017 Fedora Release Engineering - 2.17.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Mon May 15 2017 Tomas Popela - 2.17.2-1 - Update to 2.17.2 From f93ef446ca5e8701670488a15086b919bd54bf67 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 22 May 2017 11:27:39 +0200 Subject: [PATCH 061/101] Update to 2.17.3 --- .gitignore | 1 + fedora-crypto-policy.patch | 35 ++++++++++------------------------- sources | 2 +- webkitgtk4.spec | 7 +++++-- 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 160ccff..6605b48 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ /webkitgtk-2.16.1.tar.xz /webkitgtk-2.17.1.tar.xz /webkitgtk-2.17.2.tar.xz +/webkitgtk-2.17.3.tar.xz diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch index cb7c756..cee0eae 100644 --- a/fedora-crypto-policy.patch +++ b/fedora-crypto-policy.patch @@ -1,39 +1,24 @@ -From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sun, 19 Jun 2016 21:10:03 -0500 -Subject: [PATCH] https://fedoraproject.org/wiki/Packaging:CryptoPolicies - ---- - Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp | 2 +- - Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -index b282e16..ed8bbbd 100644 ---- a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -+++ b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +diff -up webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +--- webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig 2017-05-22 11:25:38.492770258 +0200 ++++ webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-05-22 11:25:57.212665811 +0200 @@ -39,7 +39,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); return NetworkProcessMainUnix(argc, argv); } -diff --git a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -index 5f45d01..2b34ead 100644 ---- a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -+++ b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +diff -up webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +--- webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig 2017-05-22 11:26:12.941578052 +0200 ++++ webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-05-22 11:26:25.051510485 +0200 @@ -39,7 +39,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); return WebProcessMainUnix(argc, argv); } --- -2.7.4 - diff --git a/sources b/sources index bc31d0b..35f34fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.2.tar.xz) = 4aae1a64391c7331bce43cc4cf76ec1e7fd517589fa737f44b9c022b13fbbe862f292f2e8040584a854df36c49619c36ea772bd47e76180f6c637256ddc8d79a +SHA512 (webkitgtk-2.17.3.tar.xz) = 8801e498ed481b5649ead2f219177e2cca10840aa5bc122ab3d1ec61e340dfd32728e06e5968fc821ecb90d3787f6659955db0584effe80b8d22295d48e8845c diff --git a/webkitgtk4.spec b/webkitgtk4.spec index a837d9d..a6b6113 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.2 -Release: 2%{?dist} +Version: 2.17.3 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon May 22 2017 Tomas Popela - 2.17.3-1 +- Update to 2.17.3 + * Mon May 15 2017 Fedora Release Engineering - 2.17.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From 214df592e5628d680346188dad76208af37b02cc Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 22 May 2017 15:52:14 +0200 Subject: [PATCH 062/101] Fix the compilation on arches where we don't use bmalloc --- webkitgtk4.spec | 2 ++ wtf-system-malloc.patch | 47 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 wtf-system-malloc.patch diff --git a/webkitgtk4.spec b/webkitgtk4.spec index a6b6113..3fdfaab 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -21,6 +21,8 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=167643 Patch2: gcc7.patch +# https://bugs.webkit.org/show_bug.cgi?id=172445 +Patch3: wtf-system-malloc.patch BuildRequires: at-spi2-core-devel BuildRequires: bison diff --git a/wtf-system-malloc.patch b/wtf-system-malloc.patch new file mode 100644 index 0000000..98fc656 --- /dev/null +++ b/wtf-system-malloc.patch @@ -0,0 +1,47 @@ +From 6b04633a99730f13518fccd27c32c65c59762763 Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Mon, 22 May 2017 15:47:10 +0200 +Subject: [PATCH] [WTF] Compilation fails with system malloc + +--- + Source/WTF/wtf/RAMSize.cpp | 12 +++++++++++- + 2 files changed, 26 insertions(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/RAMSize.cpp b/Source/WTF/wtf/RAMSize.cpp +index b017a26bde3..c647307ab91 100644 +--- a/Source/WTF/wtf/RAMSize.cpp ++++ b/Source/WTF/wtf/RAMSize.cpp +@@ -31,12 +31,16 @@ + + #if OS(WINDOWS) + #include ++#if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC ++#if OS(UNIX) ++#include ++#endif // OS(UNIX) + #else + #include + #endif + + namespace WTF { +- ++ + #if OS(WINDOWS) + static const size_t ramSizeGuess = 512 * MB; + #endif +@@ -50,6 +54,12 @@ static size_t computeRAMSize() + if (!result) + return ramSizeGuess; + return status.ullTotalPhys; ++#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC ++#if OS(UNIX) ++ struct sysinfo si; ++ sysinfo(&si); ++ return si.totalram / MB; ++#endif // OS(UNIX) + #else + return bmalloc::api::availableMemory(); + #endif +-- +2.13.0 + From c5f5b3a966650c30781f9804b449f7496185eb5f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 22 May 2017 16:03:37 +0200 Subject: [PATCH 063/101] Fix the latest patch --- wtf-system-malloc.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wtf-system-malloc.patch b/wtf-system-malloc.patch index 98fc656..daecf20 100644 --- a/wtf-system-malloc.patch +++ b/wtf-system-malloc.patch @@ -15,7 +15,7 @@ index b017a26bde3..c647307ab91 100644 #if OS(WINDOWS) #include -+#if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC ++#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC +#if OS(UNIX) +#include +#endif // OS(UNIX) From 27eaaaa205ef49a2d92912265762a5c3c0af15a5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 23 May 2017 09:21:05 +0200 Subject: [PATCH 064/101] Update the last patch to the upstream version --- wtf-system-malloc.patch | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/wtf-system-malloc.patch b/wtf-system-malloc.patch index daecf20..d551e36 100644 --- a/wtf-system-malloc.patch +++ b/wtf-system-malloc.patch @@ -1,14 +1,14 @@ -From 6b04633a99730f13518fccd27c32c65c59762763 Mon Sep 17 00:00:00 2001 +From 2df6d52ff0997b87df4bbf99a105f9c2f8bab7d1 Mon Sep 17 00:00:00 2001 From: Tomas Popela -Date: Mon, 22 May 2017 15:47:10 +0200 -Subject: [PATCH] [WTF] Compilation fails with system malloc +Date: Tue, 23 May 2017 09:12:02 +0200 +Subject: [PATCH] wip --- - Source/WTF/wtf/RAMSize.cpp | 12 +++++++++++- - 2 files changed, 26 insertions(+), 1 deletion(-) + Source/WTF/wtf/RAMSize.cpp | 14 +++++++++++++- + 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Source/WTF/wtf/RAMSize.cpp b/Source/WTF/wtf/RAMSize.cpp -index b017a26bde3..c647307ab91 100644 +index b017a26bde3..5d34d3bb0b3 100644 --- a/Source/WTF/wtf/RAMSize.cpp +++ b/Source/WTF/wtf/RAMSize.cpp @@ -31,12 +31,16 @@ @@ -29,7 +29,7 @@ index b017a26bde3..c647307ab91 100644 #if OS(WINDOWS) static const size_t ramSizeGuess = 512 * MB; #endif -@@ -50,6 +54,12 @@ static size_t computeRAMSize() +@@ -50,6 +54,14 @@ static size_t computeRAMSize() if (!result) return ramSizeGuess; return status.ullTotalPhys; @@ -37,7 +37,9 @@ index b017a26bde3..c647307ab91 100644 +#if OS(UNIX) + struct sysinfo si; + sysinfo(&si); -+ return si.totalram / MB; ++ return si.totalram * si.mem_unit; ++#else ++#error "Missing a platform specific way of determining the available RAM" +#endif // OS(UNIX) #else return bmalloc::api::availableMemory(); From fedeb167b351c19d0ae832600a79263615d74a19 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 19 Jun 2017 11:34:12 +0200 Subject: [PATCH 065/101] Increase the DIE limit so our debuginfo packages could be size optimized - rhbz#1456261 --- webkitgtk4.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3fdfaab..e731aed 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -143,6 +143,11 @@ rm -rf Source/ThirdParty/gtest/ rm -rf Source/ThirdParty/qunit/ %build +# Increase the DIE limit so our debuginfo packages could be size optimized. +# Decreases the size for x86_64 from ~5G to ~1.1G. +# https://bugzilla.redhat.com/show_bug.cgi?id=1456261 +%global _dwz_max_die_limit 250000000 + %ifarch s390 aarch64 # Use linker flags to reduce memory consumption - on other arches the ld.gold is # used and also it doesn't have the --reduce-memory-overheads option @@ -259,6 +264,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Jun 19 2017 Tomas Popela - 2.17.3-2 +- Increase the DIE limit so our debuginfo packages could be size optimized - rhbz#1456261 + * Mon May 22 2017 Tomas Popela - 2.17.3-1 - Update to 2.17.3 From e9d5b2e8cacfa8174ef0b10653819982fee1e495 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 19 Jun 2017 13:17:06 +0200 Subject: [PATCH 066/101] Update to 2.17.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6605b48..2e28a0e 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ /webkitgtk-2.17.1.tar.xz /webkitgtk-2.17.2.tar.xz /webkitgtk-2.17.3.tar.xz +/webkitgtk-2.17.4.tar.xz diff --git a/sources b/sources index 35f34fa..bb7ae95 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.3.tar.xz) = 8801e498ed481b5649ead2f219177e2cca10840aa5bc122ab3d1ec61e340dfd32728e06e5968fc821ecb90d3787f6659955db0584effe80b8d22295d48e8845c +SHA512 (webkitgtk-2.17.4.tar.xz) = 356f9b3f3a246fd06047b7226a274ecc2c68b63fa49ebb1f1ecad2ce69fa284bf1bb3619d985c2ccee376a99b8ed990b6db947f4a96c6f96a04ea0095e3d55ed diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e731aed..5fc1864 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.3 -Release: 2%{?dist} +Version: 2.17.4 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -264,7 +264,8 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog -* Mon Jun 19 2017 Tomas Popela - 2.17.3-2 +* Mon Jun 19 2017 Tomas Popela - 2.17.4-1 +- Update to 2.17.4 - Increase the DIE limit so our debuginfo packages could be size optimized - rhbz#1456261 * Mon May 22 2017 Tomas Popela - 2.17.3-1 From 37c684a2a284b0bd71d85a6fafd41c32690b5d55 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 19 Jun 2017 13:59:59 +0200 Subject: [PATCH 067/101] Remove patches that were upstreamed --- gcc7.patch | 12 ---------- webkitgtk4.spec | 4 ---- wtf-system-malloc.patch | 49 ----------------------------------------- 3 files changed, 65 deletions(-) delete mode 100644 gcc7.patch delete mode 100644 wtf-system-malloc.patch diff --git a/gcc7.patch b/gcc7.patch deleted file mode 100644 index 77f02ba..0000000 --- a/gcc7.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake ---- webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-21 09:57:13.168916004 +0100 -+++ webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake 2017-02-21 09:58:12.811563156 +0100 -@@ -41,6 +41,8 @@ if (COMPILER_IS_GCC_OR_CLANG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-expansion-to-defined") - endif () - - if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5fc1864..afc7b77 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -19,10 +19,6 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=167643 -Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=172445 -Patch3: wtf-system-malloc.patch BuildRequires: at-spi2-core-devel BuildRequires: bison diff --git a/wtf-system-malloc.patch b/wtf-system-malloc.patch deleted file mode 100644 index d551e36..0000000 --- a/wtf-system-malloc.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 2df6d52ff0997b87df4bbf99a105f9c2f8bab7d1 Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Tue, 23 May 2017 09:12:02 +0200 -Subject: [PATCH] wip - ---- - Source/WTF/wtf/RAMSize.cpp | 14 +++++++++++++- - 2 files changed, 28 insertions(+), 1 deletion(-) - -diff --git a/Source/WTF/wtf/RAMSize.cpp b/Source/WTF/wtf/RAMSize.cpp -index b017a26bde3..5d34d3bb0b3 100644 ---- a/Source/WTF/wtf/RAMSize.cpp -+++ b/Source/WTF/wtf/RAMSize.cpp -@@ -31,12 +31,16 @@ - - #if OS(WINDOWS) - #include -+#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC -+#if OS(UNIX) -+#include -+#endif // OS(UNIX) - #else - #include - #endif - - namespace WTF { -- -+ - #if OS(WINDOWS) - static const size_t ramSizeGuess = 512 * MB; - #endif -@@ -50,6 +54,14 @@ static size_t computeRAMSize() - if (!result) - return ramSizeGuess; - return status.ullTotalPhys; -+#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC -+#if OS(UNIX) -+ struct sysinfo si; -+ sysinfo(&si); -+ return si.totalram * si.mem_unit; -+#else -+#error "Missing a platform specific way of determining the available RAM" -+#endif // OS(UNIX) - #else - return bmalloc::api::availableMemory(); - #endif --- -2.13.0 - From d6ca44dda971dac18c71ba7e5ba477dd0f5d9bc0 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 19 Jun 2017 14:40:22 +0200 Subject: [PATCH 068/101] Fix build with gcc 7 --- gcc7-functional.patch | 132 ++++++++++++++++++++++++++++++++++++++++++ webkitgtk4.spec | 2 + 2 files changed, 134 insertions(+) create mode 100644 gcc7-functional.patch diff --git a/gcc7-functional.patch b/gcc7-functional.patch new file mode 100644 index 0000000..8a467f8 --- /dev/null +++ b/gcc7-functional.patch @@ -0,0 +1,132 @@ +diff --git a/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp b/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp +index d09102e65048871367b4161d994034cebecad62f..7c5b128090438885f7926cc645b8f026ebb587e4 100644 +--- a/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp ++++ b/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp +@@ -26,6 +26,7 @@ + #include "config.h" + #include "CompareAndSwapTest.h" + ++#include + #include + #include + #include +diff --git a/Source/JavaScriptCore/runtime/VMEntryScope.h b/Source/JavaScriptCore/runtime/VMEntryScope.h +index d37fad6d73cb1391bf7ea71fd411dafe7d763d2b..1b7b267e36f87abf6c0af5426bd7eebadd74f965 100644 +--- a/Source/JavaScriptCore/runtime/VMEntryScope.h ++++ b/Source/JavaScriptCore/runtime/VMEntryScope.h +@@ -25,6 +25,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h b/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h +index 030bce9adb66c172266e1b24857d49ba9206ffdb..947bdfed418c344669b6907887abbd6215733fe6 100644 +--- a/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h ++++ b/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h +@@ -28,6 +28,7 @@ + #if ENABLE(MEDIA_STREAM) + + #include "URLRegistry.h" ++#include + #include + #include + +diff --git a/Source/WebCore/animation/DocumentAnimation.h b/Source/WebCore/animation/DocumentAnimation.h +index 27e6c3d7d83b9bfaf0ef492b3c2a1facc031aef7..ca03391899f77d5c3be6387c8cb9bef45139cdfc 100644 +--- a/Source/WebCore/animation/DocumentAnimation.h ++++ b/Source/WebCore/animation/DocumentAnimation.h +@@ -33,6 +33,7 @@ + #include "AnimationEffect.h" + #include "Supplementable.h" + #include "WebAnimation.h" ++#include + #include + #include + +diff --git a/Source/WebCore/page/WheelEventTestTrigger.h b/Source/WebCore/page/WheelEventTestTrigger.h +index c2b36ddcf465d9d648acc285a50d33c4d1757963..082db7d72335ce9b689b8a029082f8f5c29193fb 100644 +--- a/Source/WebCore/page/WheelEventTestTrigger.h ++++ b/Source/WebCore/page/WheelEventTestTrigger.h +@@ -28,6 +28,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.h b/Source/WebCore/page/csp/ContentSecurityPolicy.h +index 3d8bd0c569a0d6df1e423a86e9bc14cdfc18fc21..99a392f0fdd831fce27d3386599df2bafa42bfb3 100644 +--- a/Source/WebCore/page/csp/ContentSecurityPolicy.h ++++ b/Source/WebCore/page/csp/ContentSecurityPolicy.h +@@ -30,6 +30,7 @@ + #include "ContentSecurityPolicyResponseHeaders.h" + #include "SecurityOrigin.h" + #include "SecurityOriginHash.h" ++#include + #include + #include + #include +diff --git a/Source/WebCore/platform/Timer.h b/Source/WebCore/platform/Timer.h +index b3e051e702e3a8ad6f0e4dda779d36ee138ad332..e3fd7b96cd93bf9fa2706dbc4b5807b570ed56c5 100644 +--- a/Source/WebCore/platform/Timer.h ++++ b/Source/WebCore/platform/Timer.h +@@ -25,6 +25,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h b/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h +index 96b587ff946263614110342f47fa31afb5c1d3f4..f14050dd2ef4469c018092a5d7d872e06c1e8100 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h ++++ b/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h +@@ -18,6 +18,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/Source/WebCore/platform/network/NetworkStorageSession.h b/Source/WebCore/platform/network/NetworkStorageSession.h +index 7ce0d98c29bfe4064350bda8b68ae3eb7da21ae3..b0976d975206288e714dbc0fccb5646b33758915 100644 +--- a/Source/WebCore/platform/network/NetworkStorageSession.h ++++ b/Source/WebCore/platform/network/NetworkStorageSession.h +@@ -27,6 +27,7 @@ + + #include "CredentialStorage.h" + #include "SessionID.h" ++#include + #include + #include + +diff --git a/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp b/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp +index db596728f30360ae8a8af0edf1b63081b507b4ea..fff6b08bb834442374391eebd5eeb674b989ca44 100644 +--- a/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp ++++ b/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp +@@ -29,6 +29,7 @@ + #include "DeletedAddressOfOperator.h" + #include "MoveOnly.h" + #include "RefLogger.h" ++#include + #include + #include + +diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h +index 3715eb91e090076f8429224e502b400a3cf8a8fe..3b3d13fabe7b19915e17a8504504d7013777e121 100644 +--- a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h ++++ b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h +@@ -17,6 +17,7 @@ + * Boston, MA 02110-1301, USA. + */ + ++#include + #include + #include + #include diff --git a/webkitgtk4.spec b/webkitgtk4.spec index afc7b77..b9c3629 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -19,6 +19,8 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=173544 +Patch2: gcc7-functional.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 48f41182c3df9bc8bcc4defc28da53c51fde49c1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Jun 2017 11:42:42 +0200 Subject: [PATCH 069/101] Fix compilation on secondary arches --- machine-context.patch | 38 ++++++++++++++++++++++++++++++++++++++ webkitgtk4.spec | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 machine-context.patch diff --git a/machine-context.patch b/machine-context.patch new file mode 100644 index 0000000..fb566de --- /dev/null +++ b/machine-context.patch @@ -0,0 +1,38 @@ +diff --git a/Source/WTF/wtf/threads/Signals.cpp b/Source/WTF/wtf/threads/Signals.cpp +index f929952a4a13837162ffce395e2492cdb402ce1c..f01e39113b0c62190bdbef13eaba22a0e1489bc2 100644 +--- a/Source/WTF/wtf/threads/Signals.cpp ++++ b/Source/WTF/wtf/threads/Signals.cpp +@@ -26,7 +26,7 @@ + #include "config.h" + #include "Signals.h" + +-#if USE(PTHREADS) ++#if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) + + #if HAVE(MACH_EXCEPTIONS) + extern "C" { +@@ -361,4 +361,4 @@ void jscSignalHandler(int sig, siginfo_t* info, void* ucontext) + + } // namespace WTF + +-#endif // USE(PTHREADS) ++#endif // USE(PTHREADS) && HAVE(MACHINE_CONTEXT) +diff --git a/Source/WTF/wtf/threads/Signals.h b/Source/WTF/wtf/threads/Signals.h +index f4bb5305a4ae39ca1aa39b131db3aef2bdb1030a..2576fad5a004833208c5bc250e5470d378f752b4 100644 +--- a/Source/WTF/wtf/threads/Signals.h ++++ b/Source/WTF/wtf/threads/Signals.h +@@ -25,7 +25,7 @@ + + #pragma once + +-#if USE(PTHREADS) ++#if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) + + #include + #include +@@ -116,4 +116,4 @@ using WTF::fromSystemSignal; + using WTF::SignalAction; + using WTF::installSignalHandler; + +-#endif // USE(PTHREADS) ++#endif // USE(PTHREADS) && HAVE(MACHINE_CONTEXT) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b9c3629..ed8b1f1 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -21,6 +21,8 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=173544 Patch2: gcc7-functional.patch +# https://bugs.webkit.org/show_bug.cgi?id=173590 +Patch3: machine-context.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 78d867a7c3f3bb048d7f046e62cd0556a799c677 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 21 Jun 2017 09:54:56 +0200 Subject: [PATCH 070/101] Take two on increasing the DIE limit --- webkitgtk4.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index ed8b1f1..7bec9f9 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -147,6 +147,10 @@ rm -rf Source/ThirdParty/qunit/ # Decreases the size for x86_64 from ~5G to ~1.1G. # https://bugzilla.redhat.com/show_bug.cgi?id=1456261 %global _dwz_max_die_limit 250000000 +# The _dwz_max_die_limit is being overridden by the arch specific ones from the +# redhat-rpm-config so we need to set the arch specific ones as well - now it +# is only needed for x86_64. +%global _dwz_max_die_limit_x86_64 250000000 %ifarch s390 aarch64 # Use linker flags to reduce memory consumption - on other arches the ld.gold is @@ -264,6 +268,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Jun 21 2017 Tomas Popela - 2.17.4-2 +- Take two on increasing the DIE limit as the _dwz_max_die_limit is being + overridden by the arch specific ones from the redhat-rpm-config + * Mon Jun 19 2017 Tomas Popela - 2.17.4-1 - Update to 2.17.4 - Increase the DIE limit so our debuginfo packages could be size optimized - rhbz#1456261 From cf7fc828d1c426508557078e5917bd2e1a222388 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 17 Jul 2017 20:52:47 +0200 Subject: [PATCH 071/101] Add a missing build dep --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 7bec9f9..9a6e069 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -55,6 +55,7 @@ BuildRequires: libXt-devel BuildRequires: libwayland-client-devel BuildRequires: libwayland-egl-devel BuildRequires: libwayland-server-devel +BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel BuildRequires: pcre-devel BuildRequires: perl-Switch From 22bb3816cab3ad65babe80d5d75f88f93aa63558 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 18 Jul 2017 23:40:49 +0100 Subject: [PATCH 072/101] Bump release and rebuild to attempt to fix _ZSt11__once_call dynamic linking problem (RHBZ#1470692). I tested this first in a scratch build and it appears to have fixed the problem I was having with emacs on ppc64le. --- webkitgtk4.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 9a6e069..801bfa4 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -269,6 +269,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jul 18 2017 Richard W.M. Jones - 2.17.4-3 +- Bump release and rebuild to attempt to fix _ZSt11__once_call + dynamic linking problem (RHBZ#1470692). + * Wed Jun 21 2017 Tomas Popela - 2.17.4-2 - Take two on increasing the DIE limit as the _dwz_max_die_limit is being overridden by the arch specific ones from the redhat-rpm-config From 09677f6049d2da1177c71a5af5b0ead58ccd6b0d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 20 Jul 2017 14:41:03 +0200 Subject: [PATCH 073/101] Rebuild for rhbz#1470692 --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 801bfa4..e656675 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Jul 20 2017 Tomas Popela - 2.17.4-4 +- Rebuild for rhbz#1470692 + * Tue Jul 18 2017 Richard W.M. Jones - 2.17.4-3 - Bump release and rebuild to attempt to fix _ZSt11__once_call dynamic linking problem (RHBZ#1470692). From bcb93fa2b31ffc8cdccbf4c545f12e86f97680b1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 26 Jul 2017 10:43:24 +0200 Subject: [PATCH 074/101] Update to 2.17.5 --- .gitignore | 1 + fedora-crypto-policy.patch | 18 ++--- gcc7-functional.patch | 132 ------------------------------------- machine-context.patch | 38 ----------- sources | 2 +- webkitgtk4.spec | 10 +-- 6 files changed, 16 insertions(+), 185 deletions(-) delete mode 100644 gcc7-functional.patch delete mode 100644 machine-context.patch diff --git a/.gitignore b/.gitignore index 2e28a0e..bb016ec 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ /webkitgtk-2.17.2.tar.xz /webkitgtk-2.17.3.tar.xz /webkitgtk-2.17.4.tar.xz +/webkitgtk-2.17.5.tar.xz diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch index cee0eae..4b84f0f 100644 --- a/fedora-crypto-policy.patch +++ b/fedora-crypto-policy.patch @@ -1,6 +1,6 @@ -diff -up webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp ---- webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig 2017-05-22 11:25:38.492770258 +0200 -+++ webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-05-22 11:25:57.212665811 +0200 +diff -up webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +--- webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy 2017-07-26 10:41:35.729680485 +0200 ++++ webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-07-26 10:41:47.709611761 +0200 @@ -39,7 +39,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 @@ -10,15 +10,15 @@ diff -up webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkP return NetworkProcessMainUnix(argc, argv); } -diff -up webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp ---- webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig 2017-05-22 11:26:12.941578052 +0200 -+++ webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-05-22 11:26:25.051510485 +0200 -@@ -39,7 +39,7 @@ int main(int argc, char** argv) +diff -up webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp +--- webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy 2017-07-26 10:38:08.202870988 +0200 ++++ webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-07-26 10:38:35.342715297 +0200 +@@ -43,7 +43,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. - setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); + setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); - return WebProcessMainUnix(argc, argv); - } + #if USE(GCRYPT) + // Call gcry_check_version() before any other libgcrypt call, ignoring the diff --git a/gcc7-functional.patch b/gcc7-functional.patch deleted file mode 100644 index 8a467f8..0000000 --- a/gcc7-functional.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff --git a/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp b/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp -index d09102e65048871367b4161d994034cebecad62f..7c5b128090438885f7926cc645b8f026ebb587e4 100644 ---- a/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp -+++ b/Source/JavaScriptCore/API/tests/CompareAndSwapTest.cpp -@@ -26,6 +26,7 @@ - #include "config.h" - #include "CompareAndSwapTest.h" - -+#include - #include - #include - #include -diff --git a/Source/JavaScriptCore/runtime/VMEntryScope.h b/Source/JavaScriptCore/runtime/VMEntryScope.h -index d37fad6d73cb1391bf7ea71fd411dafe7d763d2b..1b7b267e36f87abf6c0af5426bd7eebadd74f965 100644 ---- a/Source/JavaScriptCore/runtime/VMEntryScope.h -+++ b/Source/JavaScriptCore/runtime/VMEntryScope.h -@@ -25,6 +25,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h b/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h -index 030bce9adb66c172266e1b24857d49ba9206ffdb..947bdfed418c344669b6907887abbd6215733fe6 100644 ---- a/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h -+++ b/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h -@@ -28,6 +28,7 @@ - #if ENABLE(MEDIA_STREAM) - - #include "URLRegistry.h" -+#include - #include - #include - -diff --git a/Source/WebCore/animation/DocumentAnimation.h b/Source/WebCore/animation/DocumentAnimation.h -index 27e6c3d7d83b9bfaf0ef492b3c2a1facc031aef7..ca03391899f77d5c3be6387c8cb9bef45139cdfc 100644 ---- a/Source/WebCore/animation/DocumentAnimation.h -+++ b/Source/WebCore/animation/DocumentAnimation.h -@@ -33,6 +33,7 @@ - #include "AnimationEffect.h" - #include "Supplementable.h" - #include "WebAnimation.h" -+#include - #include - #include - -diff --git a/Source/WebCore/page/WheelEventTestTrigger.h b/Source/WebCore/page/WheelEventTestTrigger.h -index c2b36ddcf465d9d648acc285a50d33c4d1757963..082db7d72335ce9b689b8a029082f8f5c29193fb 100644 ---- a/Source/WebCore/page/WheelEventTestTrigger.h -+++ b/Source/WebCore/page/WheelEventTestTrigger.h -@@ -28,6 +28,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.h b/Source/WebCore/page/csp/ContentSecurityPolicy.h -index 3d8bd0c569a0d6df1e423a86e9bc14cdfc18fc21..99a392f0fdd831fce27d3386599df2bafa42bfb3 100644 ---- a/Source/WebCore/page/csp/ContentSecurityPolicy.h -+++ b/Source/WebCore/page/csp/ContentSecurityPolicy.h -@@ -30,6 +30,7 @@ - #include "ContentSecurityPolicyResponseHeaders.h" - #include "SecurityOrigin.h" - #include "SecurityOriginHash.h" -+#include - #include - #include - #include -diff --git a/Source/WebCore/platform/Timer.h b/Source/WebCore/platform/Timer.h -index b3e051e702e3a8ad6f0e4dda779d36ee138ad332..e3fd7b96cd93bf9fa2706dbc4b5807b570ed56c5 100644 ---- a/Source/WebCore/platform/Timer.h -+++ b/Source/WebCore/platform/Timer.h -@@ -25,6 +25,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h b/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h -index 96b587ff946263614110342f47fa31afb5c1d3f4..f14050dd2ef4469c018092a5d7d872e06c1e8100 100644 ---- a/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h -+++ b/Source/WebCore/platform/graphics/gstreamer/MainThreadNotifier.h -@@ -18,6 +18,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/Source/WebCore/platform/network/NetworkStorageSession.h b/Source/WebCore/platform/network/NetworkStorageSession.h -index 7ce0d98c29bfe4064350bda8b68ae3eb7da21ae3..b0976d975206288e714dbc0fccb5646b33758915 100644 ---- a/Source/WebCore/platform/network/NetworkStorageSession.h -+++ b/Source/WebCore/platform/network/NetworkStorageSession.h -@@ -27,6 +27,7 @@ - - #include "CredentialStorage.h" - #include "SessionID.h" -+#include - #include - #include - -diff --git a/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp b/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp -index db596728f30360ae8a8af0edf1b63081b507b4ea..fff6b08bb834442374391eebd5eeb674b989ca44 100644 ---- a/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp -+++ b/Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp -@@ -29,6 +29,7 @@ - #include "DeletedAddressOfOperator.h" - #include "MoveOnly.h" - #include "RefLogger.h" -+#include - #include - #include - -diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h -index 3715eb91e090076f8429224e502b400a3cf8a8fe..3b3d13fabe7b19915e17a8504504d7013777e121 100644 ---- a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h -+++ b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h -@@ -17,6 +17,7 @@ - * Boston, MA 02110-1301, USA. - */ - -+#include - #include - #include - #include diff --git a/machine-context.patch b/machine-context.patch deleted file mode 100644 index fb566de..0000000 --- a/machine-context.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/Source/WTF/wtf/threads/Signals.cpp b/Source/WTF/wtf/threads/Signals.cpp -index f929952a4a13837162ffce395e2492cdb402ce1c..f01e39113b0c62190bdbef13eaba22a0e1489bc2 100644 ---- a/Source/WTF/wtf/threads/Signals.cpp -+++ b/Source/WTF/wtf/threads/Signals.cpp -@@ -26,7 +26,7 @@ - #include "config.h" - #include "Signals.h" - --#if USE(PTHREADS) -+#if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) - - #if HAVE(MACH_EXCEPTIONS) - extern "C" { -@@ -361,4 +361,4 @@ void jscSignalHandler(int sig, siginfo_t* info, void* ucontext) - - } // namespace WTF - --#endif // USE(PTHREADS) -+#endif // USE(PTHREADS) && HAVE(MACHINE_CONTEXT) -diff --git a/Source/WTF/wtf/threads/Signals.h b/Source/WTF/wtf/threads/Signals.h -index f4bb5305a4ae39ca1aa39b131db3aef2bdb1030a..2576fad5a004833208c5bc250e5470d378f752b4 100644 ---- a/Source/WTF/wtf/threads/Signals.h -+++ b/Source/WTF/wtf/threads/Signals.h -@@ -25,7 +25,7 @@ - - #pragma once - --#if USE(PTHREADS) -+#if USE(PTHREADS) && HAVE(MACHINE_CONTEXT) - - #include - #include -@@ -116,4 +116,4 @@ using WTF::fromSystemSignal; - using WTF::SignalAction; - using WTF::installSignalHandler; - --#endif // USE(PTHREADS) -+#endif // USE(PTHREADS) && HAVE(MACHINE_CONTEXT) diff --git a/sources b/sources index bb7ae95..b146d6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.4.tar.xz) = 356f9b3f3a246fd06047b7226a274ecc2c68b63fa49ebb1f1ecad2ce69fa284bf1bb3619d985c2ccee376a99b8ed990b6db947f4a96c6f96a04ea0095e3d55ed +SHA512 (webkitgtk-2.17.5.tar.xz) = 304187ca3b7e260061e985b3b0ca6f5d615154122882eda5a3bf879bfd58949137f4ca4e92dc5fb08b24c012d8dec88345ffbefc9c583de75505e3deecbff2c4 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e656675..5caff33 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.4 -Release: 4%{?dist} +Version: 2.17.5 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -20,9 +20,6 @@ Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=173544 -Patch2: gcc7-functional.patch -# https://bugs.webkit.org/show_bug.cgi?id=173590 -Patch3: machine-context.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -269,6 +266,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Jul 26 2017 Tomas Popela - 2.17.5-1 +- Update to 2.17.5 + * Thu Jul 20 2017 Tomas Popela - 2.17.4-4 - Rebuild for rhbz#1470692 From f3e6fa7795d7ea932a0fa6cb6bd6e5942fcdc6fa Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 26 Jul 2017 11:20:01 +0200 Subject: [PATCH 075/101] Add missing BR --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5caff33..28c8370 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -36,6 +36,7 @@ BuildRequires: gobject-introspection-devel BuildRequires: gperf BuildRequires: gstreamer1-devel BuildRequires: gstreamer1-plugins-base-devel +BuildRequires: gstreamer1-plugins-bad-free-devel BuildRequires: gtk2-devel BuildRequires: gtk3-devel BuildRequires: gtk-doc From 836c7e33f5ffe423605d88032dd934e608d9d876 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 27 Jul 2017 13:12:00 +0200 Subject: [PATCH 076/101] Add missing BR on mesa-libGLES-devel --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 28c8370..3a014fa 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -55,6 +55,7 @@ BuildRequires: libwayland-egl-devel BuildRequires: libwayland-server-devel BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLES-devel BuildRequires: pcre-devel BuildRequires: perl-Switch BuildRequires: perl-JSON-PP From c4e47114bb907ecf1cf3770e0cebc14a7574b013 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 27 Jul 2017 15:38:52 +0200 Subject: [PATCH 077/101] Package WebKitWebDriver --- webkitgtk4.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3a014fa..735fd03 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -233,6 +233,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib %{_libdir}/webkit2gtk-4.0/ %{_libexecdir}/webkit2gtk-4.0/ +%{_bindir}/WebKitWebDriver %exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 %files devel From 8c528317d9ce5c7c0bf3eacc6872595187e7bb35 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 10:13:46 +0000 Subject: [PATCH 078/101] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 735fd03..787afe3 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.17.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 2.17.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Tomas Popela - 2.17.5-1 - Update to 2.17.5 From 5cb6048bb73c0110b8a780252b8cfa59b50a5cd1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 9 Aug 2017 13:33:58 +0200 Subject: [PATCH 079/101] Update to 2.17.90 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bb016ec..a066c19 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /webkitgtk-2.17.3.tar.xz /webkitgtk-2.17.4.tar.xz /webkitgtk-2.17.5.tar.xz +/webkitgtk-2.17.90.tar.xz diff --git a/sources b/sources index b146d6e..21cfba1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.5.tar.xz) = 304187ca3b7e260061e985b3b0ca6f5d615154122882eda5a3bf879bfd58949137f4ca4e92dc5fb08b24c012d8dec88345ffbefc9c583de75505e3deecbff2c4 +SHA512 (webkitgtk-2.17.90.tar.xz) = 72993e7bf61607bf75682f387f2877492d0982f8c15de2ed8444d9ac889d635845d8b59b5f9373ef3605d9b376534ff923775a98d229da608c532508d5846aa4 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 787afe3..662809f 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.5 -Release: 2%{?dist} +Version: 2.17.90 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Aug 09 2017 Tomas Popela - 2.17.90-1 +- Update to 2.17.90 + * Thu Aug 03 2017 Fedora Release Engineering - 2.17.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 524bbde06b5fd269b704259228901b6b0674f5b6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 18 Aug 2017 13:45:59 +0200 Subject: [PATCH 080/101] Update to 2.17.91 --- .gitignore | 1 + sources | 2 +- ...-user-agent-branding.patch => user-agent-branding.patch | 6 +++--- webkitgtk4.spec | 7 +++++-- 4 files changed, 10 insertions(+), 6 deletions(-) rename webkitgtk-2.14.1-user-agent-branding.patch => user-agent-branding.patch (50%) diff --git a/.gitignore b/.gitignore index a066c19..188b46e 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ /webkitgtk-2.17.4.tar.xz /webkitgtk-2.17.5.tar.xz /webkitgtk-2.17.90.tar.xz +/webkitgtk-2.17.91.tar.xz diff --git a/sources b/sources index 21cfba1..ae66fa2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.90.tar.xz) = 72993e7bf61607bf75682f387f2877492d0982f8c15de2ed8444d9ac889d635845d8b59b5f9373ef3605d9b376534ff923775a98d229da608c532508d5846aa4 +SHA512 (webkitgtk-2.17.91.tar.xz) = f6ce14ce5838819e348ec300d6a98bde7a6fdeef4e2b88179169378b7193cfee3460c53c2f986fbfb55ba2dbdfe40ff509f9cf2ca615105765762b800cd1c980 diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/user-agent-branding.patch similarity index 50% rename from webkitgtk-2.14.1-user-agent-branding.patch rename to user-agent-branding.patch index d2dbd86..d87f3e7 100644 --- a/webkitgtk-2.14.1-user-agent-branding.patch +++ b/user-agent-branding.patch @@ -1,6 +1,6 @@ -diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp ---- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 -+++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 +diff -up webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp +--- webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig 2016-10-12 07:59:25.670057792 +0200 ++++ webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp 2016-10-12 08:01:06.251878684 +0200 @@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) else { uaString.append(platformForUAString()); diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 662809f..0c471a6 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.90 +Version: 2.17.91 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -15,7 +15,7 @@ URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=162611 -Patch0: webkitgtk-2.14.1-user-agent-branding.patch +Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Aug 18 2017 Tomas Popela - 2.17.91-1 +- Update to 2.17.91 + * Wed Aug 09 2017 Tomas Popela - 2.17.90-1 - Update to 2.17.90 From 0d98b2f496186bcedc12da43689badcdb825ae53 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 5 Sep 2017 13:41:39 +0200 Subject: [PATCH 081/101] Update to 2.17.92 --- .gitignore | 1 + fedora-crypto-policy.patch | 32 ++++++++++++++++---------------- sources | 2 +- webkitgtk4.spec | 5 ++++- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 188b46e..26e6a1a 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ /webkitgtk-2.17.5.tar.xz /webkitgtk-2.17.90.tar.xz /webkitgtk-2.17.91.tar.xz +/webkitgtk-2.17.92.tar.xz diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch index 4b84f0f..8a317db 100644 --- a/fedora-crypto-policy.patch +++ b/fedora-crypto-policy.patch @@ -1,18 +1,6 @@ -diff -up webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp ---- webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy 2017-07-26 10:41:35.729680485 +0200 -+++ webkitgtk-2.17.5/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-07-26 10:41:47.709611761 +0200 -@@ -39,7 +39,7 @@ int main(int argc, char** argv) - // overwrite this priority string if it's already set by the user. - // https://bugzilla.gnome.org/show_bug.cgi?id=738633 - // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); - - return NetworkProcessMainUnix(argc, argv); - } -diff -up webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp ---- webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy 2017-07-26 10:38:08.202870988 +0200 -+++ webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-07-26 10:38:35.342715297 +0200 +diff -up webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +--- webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:39:59.294426661 +0200 ++++ webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-09-05 13:40:09.144389997 +0200 @@ -43,7 +43,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 @@ -21,4 +9,16 @@ diff -up webkitgtk-2.17.5/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMai + setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); #if USE(GCRYPT) - // Call gcry_check_version() before any other libgcrypt call, ignoring the + PAL::GCrypt::initialize(); +diff -up webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp +--- webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:40:28.558317735 +0200 ++++ webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-09-05 13:40:56.057215378 +0200 +@@ -43,7 +43,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); + + #if USE(GCRYPT) + PAL::GCrypt::initialize(); diff --git a/sources b/sources index ae66fa2..e7fe10d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.91.tar.xz) = f6ce14ce5838819e348ec300d6a98bde7a6fdeef4e2b88179169378b7193cfee3460c53c2f986fbfb55ba2dbdfe40ff509f9cf2ca615105765762b800cd1c980 +SHA512 (webkitgtk-2.17.92.tar.xz) = e6d16460553e1f55ccc940274f4ca9a6fd46654dbd1176d03239bc8e90d0c9eee63860c6a78bf8992a0f6d8d29ced26226a996610c441edd57cb32628b9277cf diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 0c471a6..7b19de7 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.91 +Version: 2.17.92 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Sep 05 2017 Tomas Popela - 2.17.92-1 +- Update to 2.17.92 + * Fri Aug 18 2017 Tomas Popela - 2.17.91-1 - Update to 2.17.91 From 0987868e44ae9e4c52070e6415a18919c6f90646 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 11 Sep 2017 14:42:18 +0200 Subject: [PATCH 082/101] Update to 2.18.0 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 26e6a1a..e0112c6 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ /webkitgtk-2.17.90.tar.xz /webkitgtk-2.17.91.tar.xz /webkitgtk-2.17.92.tar.xz +/webkitgtk-2.18.0.tar.xz diff --git a/sources b/sources index e7fe10d..a6e55a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.17.92.tar.xz) = e6d16460553e1f55ccc940274f4ca9a6fd46654dbd1176d03239bc8e90d0c9eee63860c6a78bf8992a0f6d8d29ced26226a996610c441edd57cb32628b9277cf +SHA512 (webkitgtk-2.18.0.tar.xz) = 4a248e0f8128a61c123107baebb37efa9944fe490922b474f42400d68f3007e7d28a20886f9e60bfd86e357ea1aa9ede0c8bba3c34e2e3899720805b9145fc48 From 215dc52413a6643ec3024799f50318d6e1d9737b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 11 Sep 2017 14:43:00 +0200 Subject: [PATCH 083/101] Commit SPEC file changes --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 7b19de7..d2b0acc 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.17.92 +Version: 2.18.0 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -269,6 +269,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Sep 11 2017 Tomas Popela - 2.18.0-1 +- Update to 2.18.0 + * Tue Sep 05 2017 Tomas Popela - 2.17.92-1 - Update to 2.17.92 From 912491272f9f468db32178db98f428973a76b783 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 11 Sep 2017 14:50:20 +0200 Subject: [PATCH 084/101] Fix JSC on big-endian arches --- cloop-big-endians.patch | 30 ++++++++++++++++++++++++++++++ webkitgtk4.spec | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 cloop-big-endians.patch diff --git a/cloop-big-endians.patch b/cloop-big-endians.patch new file mode 100644 index 0000000..7bb12df --- /dev/null +++ b/cloop-big-endians.patch @@ -0,0 +1,30 @@ +diff -up webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp +--- webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 2017-02-07 09:05:07.000000000 +0100 ++++ webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp 2017-06-16 10:34:57.859748036 +0200 +@@ -2186,7 +2186,12 @@ void CodeBlock::finishCreation(VM& vm, S + instructions[i + 5].u.watchpointSet = op.watchpointSet; + else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ + break; + } + +@@ -2222,7 +2227,11 @@ void CodeBlock::finishCreation(VM& vm, S + op.watchpointSet->invalidate(vm, PutToScopeFireDetail(this, ident)); + } else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); + + break; + } diff --git a/webkitgtk4.spec b/webkitgtk4.spec index d2b0acc..5705395 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -19,7 +19,8 @@ Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=173544 +# https://bugs.webkit.org/show_bug.cgi?id=132333 +Patch2: cloop-big-endians.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 9c5df2c6b53b810a52edf4d6a49988cd8317f95c Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 13 Sep 2017 21:38:23 +0100 Subject: [PATCH 085/101] Rebuild to try to fix: libwebkit2gtk-4.0.so.37: undefined symbol: soup_auth_manager_clear_cached_credentials --- webkitgtk4.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5705395..5b7a093 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.18.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -270,6 +270,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Sep 13 2017 Richard W.M. Jones - 2.18.0-2 +- Rebuild to try to fix: libwebkit2gtk-4.0.so.37: undefined symbol: + soup_auth_manager_clear_cached_credentials + * Mon Sep 11 2017 Tomas Popela - 2.18.0-1 - Update to 2.18.0 From 9f6f6e7617ad61966f18c4d0828ddd0cbc639998 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Oct 2017 13:11:49 +0200 Subject: [PATCH 086/101] Update to 2.18.1 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e0112c6..816a75c 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ /webkitgtk-2.17.91.tar.xz /webkitgtk-2.17.92.tar.xz /webkitgtk-2.18.0.tar.xz +/webkitgtk-2.18.1.tar.xz diff --git a/sources b/sources index a6e55a2..08cef25 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.18.0.tar.xz) = 4a248e0f8128a61c123107baebb37efa9944fe490922b474f42400d68f3007e7d28a20886f9e60bfd86e357ea1aa9ede0c8bba3c34e2e3899720805b9145fc48 +SHA512 (webkitgtk-2.18.1.tar.xz) = 671392f46a34def51df34e5ce384acdcf7526b286e64f1220921f6c654a28148553e815f6f0fd02252b642dcabef9c646f5386b9ec3d2cb01520782833bb650b diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5b7a093..eea14c8 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.18.0 -Release: 2%{?dist} +Version: 2.18.1 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -270,6 +270,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Oct 18 2017 Tomas Popela - 2.18.1-1 +- Update to 2.18.1 + * Wed Sep 13 2017 Richard W.M. Jones - 2.18.0-2 - Rebuild to try to fix: libwebkit2gtk-4.0.so.37: undefined symbol: soup_auth_manager_clear_cached_credentials From 735ef250a3944249a11161ce93c2d3e83e4a6216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 26 Oct 2017 12:23:02 +0200 Subject: [PATCH 087/101] Drop the explicit dependnecy on rubypick. Better then depend on rubypick would be dependency on %{_bindir}/ruby. But rubypick is pulled in via transitive dependencies anyway, so drop the dependnecy altogether. --- webkitgtk4.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index eea14c8..13d0e6f 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.18.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -60,7 +60,7 @@ BuildRequires: mesa-libGLES-devel BuildRequires: pcre-devel BuildRequires: perl-Switch BuildRequires: perl-JSON-PP -BuildRequires: ruby rubypick rubygems +BuildRequires: ruby rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel BuildRequires: gnutls-devel @@ -270,6 +270,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Oct 26 2017 Vít Ondruch - 2.18.1-2 +- Drop the explicit dependnecy on rubypick. + * Wed Oct 18 2017 Tomas Popela - 2.18.1-1 - Update to 2.18.1 From 8f1c9762345f96aafde31a97b8db3ac2f11cd4ae Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 27 Oct 2017 15:20:57 +0200 Subject: [PATCH 088/101] Update to 2.18.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 816a75c..10bd44c 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ /webkitgtk-2.17.92.tar.xz /webkitgtk-2.18.0.tar.xz /webkitgtk-2.18.1.tar.xz +/webkitgtk-2.18.2.tar.xz diff --git a/sources b/sources index 08cef25..6760688 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.18.1.tar.xz) = 671392f46a34def51df34e5ce384acdcf7526b286e64f1220921f6c654a28148553e815f6f0fd02252b642dcabef9c646f5386b9ec3d2cb01520782833bb650b +SHA512 (webkitgtk-2.18.2.tar.xz) = 94c8ce0fcee741dc9c054fa3f8ecac9756245c623f36e6b0bb5588d12b660aaa8bbbe28e82d0f694b94b75f1985f9dbf9231a4b63832fcf4efbe7a0116c7585c diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 13d0e6f..8035d5a 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.18.1 -Release: 2%{?dist} +Version: 2.18.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -270,6 +270,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Oct 27 2017 Tomas Popela - 2.18.2-1 +- Update to 2.18.2 + * Thu Oct 26 2017 Vít Ondruch - 2.18.1-2 - Drop the explicit dependnecy on rubypick. From 465ca38ebee830a7a22ceb8010dc0e3e000869cd Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 31 Oct 2017 17:11:53 +0100 Subject: [PATCH 089/101] Update to 2.19.1 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 10 +++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 10bd44c..7bcb1e4 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ /webkitgtk-2.18.0.tar.xz /webkitgtk-2.18.1.tar.xz /webkitgtk-2.18.2.tar.xz +/webkitgtk-2.19.1.tar.xz diff --git a/sources b/sources index 6760688..d1e745b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.18.2.tar.xz) = 94c8ce0fcee741dc9c054fa3f8ecac9756245c623f36e6b0bb5588d12b660aaa8bbbe28e82d0f694b94b75f1985f9dbf9231a4b63832fcf4efbe7a0116c7585c +SHA512 (webkitgtk-2.19.1.tar.xz) = f6dc33867acdcd0f3c846019b337058c7cdb77bd387b56419461a9bf1767465a759abc51331f08e5c8ce077c446d577222bafcda721d9f67c8ab29a7d020324d diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8035d5a..b91fcd7 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.18.2 +Version: 2.19.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -64,6 +64,9 @@ BuildRequires: ruby rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel BuildRequires: gnutls-devel +BuildRequires: brotli-devel +BuildRequires: woff2-devel +BuildRequires: upower-devel %ifarch ppc BuildRequires: libatomic %endif @@ -77,8 +80,6 @@ Provides: libwebkit2gtk = %{version}-%{release} # We're supposed to specify versions here, but these crap Google libs don't do # normal releases. Accordingly, they're not suitable to be system libs. Provides: bundled(angle) -Provides: bundled(brotli) -Provides: bundled(woff2) # Require the jsc subpackage Requires: %{name}-jsc%{?_isa} = %{version}-%{release} @@ -270,6 +271,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Oct 31 2017 Tomas Popela - 2.19.1-1 +- Update to 2.19.1 + * Fri Oct 27 2017 Tomas Popela - 2.18.2-1 - Update to 2.18.2 From 1b94869d1b31eccaeb24610392093704621d4180 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 2 Nov 2017 16:21:44 +0100 Subject: [PATCH 090/101] Fix gir directory ownership Co-own the directories to make sure they get correctly removed when uninstalling webkitgtk4. --- webkitgtk4.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b91fcd7..e4bbc5c 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.19.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -231,6 +231,7 @@ make %{?_smp_mflags} -C %{_target_platform} %license _license_files/*WebInspectorUI* %license _license_files/*WTF* %{_libdir}/libwebkit2gtk-4.0.so.* +%dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/WebKit2-4.0.typelib %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib %{_libdir}/webkit2gtk-4.0/ @@ -245,12 +246,14 @@ make %{?_smp_mflags} -C %{_target_platform} %{_libdir}/libwebkit2gtk-4.0.so %{_libdir}/pkgconfig/webkit2gtk-4.0.pc %{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc +%dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/WebKit2-4.0.gir %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir %files jsc %license _license_files/*JavaScriptCore* %{_libdir}/libjavascriptcoregtk-4.0.so.* +%dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib %files jsc-devel @@ -259,6 +262,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_includedir}/webkitgtk-4.0/JavaScriptCore/ %{_libdir}/libjavascriptcoregtk-4.0.so %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc +%dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir %files plugin-process-gtk2 @@ -271,6 +275,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Nov 02 2017 Kalev Lember - 2.19.2-2 +- Fix gir directory ownership + * Tue Oct 31 2017 Tomas Popela - 2.19.1-1 - Update to 2.19.1 From 3c86d3a40ad5bb7e686fcdb98978a1281a113b6c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 21 Nov 2017 10:09:43 +0100 Subject: [PATCH 091/101] Update to 2.19.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7bcb1e4..5a57715 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ /webkitgtk-2.18.1.tar.xz /webkitgtk-2.18.2.tar.xz /webkitgtk-2.19.1.tar.xz +/webkitgtk-2.19.2.tar.xz diff --git a/sources b/sources index d1e745b..47796d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.19.1.tar.xz) = f6dc33867acdcd0f3c846019b337058c7cdb77bd387b56419461a9bf1767465a759abc51331f08e5c8ce077c446d577222bafcda721d9f67c8ab29a7d020324d +SHA512 (webkitgtk-2.19.2.tar.xz) = 418a247745acdd16917881604ba75f0abddae5d631e8c0f4b6e35b80fb9b76f17706a1fa847be096c74dcea71c7b47e2178c6a2ce5bcc0d965411d83234fef7b diff --git a/webkitgtk4.spec b/webkitgtk4.spec index e4bbc5c..b807912 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.19.1 -Release: 2%{?dist} +Version: 2.19.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -275,6 +275,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Nov 21 2017 Tomas Popela - 2.19.2-1 +- Update to 2.19.2 + * Thu Nov 02 2017 Kalev Lember - 2.19.2-2 - Fix gir directory ownership From 1e50340e235da62a7a7142b7c81efe73c07d0048 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 21 Nov 2017 11:32:53 +0100 Subject: [PATCH 092/101] Add perl-File-Copy-Recursive to BR And sort them. --- webkitgtk4.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b807912..5cb4ad0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -24,6 +24,7 @@ Patch2: cloop-big-endians.patch BuildRequires: at-spi2-core-devel BuildRequires: bison +BuildRequires: brotli-devel BuildRequires: cairo-devel BuildRequires: cmake BuildRequires: enchant-devel @@ -33,6 +34,7 @@ BuildRequires: freetype-devel BuildRequires: geoclue2-devel BuildRequires: gettext BuildRequires: glib2-devel +BuildRequires: gnutls-devel BuildRequires: gobject-introspection-devel BuildRequires: gperf BuildRequires: gstreamer1-devel @@ -42,6 +44,7 @@ BuildRequires: gtk2-devel BuildRequires: gtk3-devel BuildRequires: gtk-doc BuildRequires: harfbuzz-devel +BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libnotify-devel @@ -58,15 +61,14 @@ BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLES-devel BuildRequires: pcre-devel -BuildRequires: perl-Switch +BuildRequires: perl-File-Copy-Recursive BuildRequires: perl-JSON-PP -BuildRequires: ruby rubygems +BuildRequires: perl-Switch +BuildRequires: ruby +BuildRequires: rubygems BuildRequires: sqlite-devel -BuildRequires: hyphen-devel -BuildRequires: gnutls-devel -BuildRequires: brotli-devel -BuildRequires: woff2-devel BuildRequires: upower-devel +BuildRequires: woff2-devel %ifarch ppc BuildRequires: libatomic %endif From d514a8e3032fa53553589d86245787f33575c124 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 21 Nov 2017 13:19:50 +0100 Subject: [PATCH 093/101] Fix the build by including the missing file in tarball --- package-common-py.patch | 154 ++++++++++++++++++++++++++++++++++++++++ webkitgtk4.spec | 1 + 2 files changed, 155 insertions(+) create mode 100644 package-common-py.patch diff --git a/package-common-py.patch b/package-common-py.patch new file mode 100644 index 0000000..d8677e6 --- /dev/null +++ b/package-common-py.patch @@ -0,0 +1,154 @@ +diff -up webkitgtk-2.19.2/Tools/glib/common.py.package-common-py webkitgtk-2.19.2/Tools/glib/common.py +--- webkitgtk-2.19.2/Tools/glib/common.py.package-common-py 2017-11-21 13:18:14.258002441 +0100 ++++ webkitgtk-2.19.2/Tools/glib/common.py 2017-11-21 13:17:45.587105007 +0100 +@@ -0,0 +1,150 @@ ++#!/usr/bin/env python ++# Copyright (C) 2011 Igalia S.L. ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++import errno ++import os ++import select ++import subprocess ++import sys ++ ++top_level_dir = None ++build_dir = None ++library_build_dir = None ++binary_build_dir = None ++build_types = ('Release', 'Debug') ++ ++ ++def top_level_path(*args): ++ global top_level_dir ++ if not top_level_dir: ++ top_level_dir = os.path.join(os.path.dirname(__file__), '..', '..') ++ return os.path.join(*(top_level_dir,) + args) ++ ++ ++def set_build_types(new_build_types): ++ global build_types ++ build_types = new_build_types ++ ++ ++def library_build_path(*args): ++ global library_build_dir ++ if not library_build_dir: ++ library_build_dir = build_path('lib', *args) ++ return library_build_dir ++ ++ ++def binary_build_path(*args): ++ global binary_build_dir ++ if not binary_build_dir: ++ binary_build_dir = build_path('bin', *args) ++ return binary_build_dir ++ ++ ++def get_build_path(fatal=True): ++ global build_dir ++ if build_dir: ++ return build_dir ++ ++ def is_valid_build_directory(path): ++ return os.path.exists(os.path.join(path, 'CMakeCache.txt')) or \ ++ os.path.exists(os.path.join(path, 'bin/WebKitTestRunner')) ++ ++ if len(sys.argv[1:]) > 1 and os.path.exists(sys.argv[-1]) and is_valid_build_directory(sys.argv[-1]): ++ return sys.argv[-1] ++ ++ # Debian and Ubuntu build both flavours of the library (with gtk2 ++ # and with gtk3); they use directories build-2.0 and build-3.0 for ++ # that, which is not handled by the above cases; we check that the ++ # directory where we are called from is a valid build directory, ++ # which should handle pretty much all other non-standard cases. ++ build_dir = os.getcwd() ++ if is_valid_build_directory(build_dir): ++ return build_dir ++ ++ global build_types ++ for build_type in build_types: ++ build_dir = top_level_path('WebKitBuild', build_type) ++ if is_valid_build_directory(build_dir): ++ return build_dir ++ ++ # distcheck builds in a directory named _build in the top-level path. ++ build_dir = top_level_path("_build") ++ if is_valid_build_directory(build_dir): ++ return build_dir ++ ++ build_dir = top_level_path() ++ if is_valid_build_directory(build_dir): ++ return build_dir ++ ++ build_dir = top_level_path("WebKitBuild") ++ if is_valid_build_directory(build_dir): ++ return build_dir ++ ++ print('Could not determine build directory.') ++ if fatal: ++ sys.exit(1) ++ ++ ++def build_path(*args): ++ return os.path.join(*(get_build_path(),) + args) ++ ++ ++def pkg_config_file_variable(package, variable): ++ process = subprocess.Popen(['pkg-config', '--variable=%s' % variable, package], ++ stdout=subprocess.PIPE) ++ stdout = process.communicate()[0].decode("utf-8") ++ if process.returncode: ++ return None ++ return stdout.strip() ++ ++ ++def prefix_of_pkg_config_file(package): ++ return pkg_config_file_variable(package, 'prefix') ++ ++ ++def parse_output_lines(fd, parse_line_callback): ++ output = '' ++ read_set = [fd] ++ while read_set: ++ try: ++ rlist, wlist, xlist = select.select(read_set, [], []) ++ except select.error as e: ++ parse_line_callback("WARNING: error while waiting for fd %d to become readable\n" % fd) ++ parse_line_callback(" error code: %d, error message: %s\n" % (e[0], e[1])) ++ continue ++ ++ if fd in rlist: ++ try: ++ chunk = os.read(fd, 1024) ++ except OSError as e: ++ if e.errno == errno.EIO: ++ # Child process finished. ++ chunk = '' ++ else: ++ raise e ++ if not chunk: ++ read_set.remove(fd) ++ ++ output += chunk ++ while '\n' in output: ++ pos = output.find('\n') ++ parse_line_callback(output[:pos + 1]) ++ output = output[pos + 1:] ++ ++ if not chunk and output: ++ parse_line_callback(output) ++ output = '' diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5cb4ad0..60c4876 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -21,6 +21,7 @@ Patch0: user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=132333 Patch2: cloop-big-endians.patch +Patch3: package-common-py.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 903c50089b251dca5f647966356bc8c494538783 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 30 Nov 2017 07:52:45 +0100 Subject: [PATCH 094/101] Temporarily disable bmalloc --- webkitgtk4.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 60c4876..954ac53 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.19.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -181,6 +181,10 @@ rm -rf Source/ThirdParty/qunit/ # Disable ld.gold on s390 as it does not have it. # Also for aarch64 as the support is in upstream, but not packaged in Fedora. +# +# I really didn't want to do so, but looks like I have to disable bmalloc +# temporarily due to +# https://bugs.webkit.org/show_bug.cgi?id=179914 mkdir -p %{_target_platform} pushd %{_target_platform} %cmake \ @@ -194,9 +198,7 @@ pushd %{_target_platform} %ifarch s390 s390x ppc %{power64} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x ppc %{power64} -DUSE_SYSTEM_MALLOC=ON \ -%endif .. popd @@ -278,6 +280,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Nov 30 2017 Tomas Popela - 2.19.2-2 +- Temporarily disable bmalloc + * Tue Nov 21 2017 Tomas Popela - 2.19.2-1 - Update to 2.19.2 From 87938f22d06e3d94cbe7613dc6a2d66eb39f33a3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 30 Nov 2017 15:28:00 +0100 Subject: [PATCH 095/101] Fix compilation with BMalloc turned off --- system-malloc-gigacage-build-fix.patch | 36 ++++++++++++++++++++++++++ webkitgtk4.spec | 5 ++-- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 system-malloc-gigacage-build-fix.patch diff --git a/system-malloc-gigacage-build-fix.patch b/system-malloc-gigacage-build-fix.patch new file mode 100644 index 0000000..3aacd20 --- /dev/null +++ b/system-malloc-gigacage-build-fix.patch @@ -0,0 +1,36 @@ +diff --git a/Source/WTF/wtf/Gigacage.cpp b/Source/WTF/wtf/Gigacage.cpp +index ea3ecc6a216..48c2202e514 100644 +--- a/Source/WTF/wtf/Gigacage.cpp ++++ b/Source/WTF/wtf/Gigacage.cpp +@@ -32,9 +32,7 @@ + + #if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC + +-extern "C" { +-void* g_gigacageBasePtr; +-} ++char g_gigacageBasePtrs[GIGACAGE_BASE_PTRS_SIZE]; + + namespace Gigacage { + +diff --git a/Source/WTF/wtf/Gigacage.h b/Source/WTF/wtf/Gigacage.h +index ce84e32fb37..b27f3c4f333 100644 +--- a/Source/WTF/wtf/Gigacage.h ++++ b/Source/WTF/wtf/Gigacage.h +@@ -97,6 +97,16 @@ ALWAYS_INLINE BasePtrs& basePtrs() + return *reinterpret_cast(g_gigacageBasePtrs); + } + ++ALWAYS_INLINE void*& basePtr(Kind kind) ++{ ++ return basePtr(basePtrs(), kind); ++} ++ ++ALWAYS_INLINE bool isEnabled(Kind kind) ++{ ++ return !!basePtr(kind); ++} ++ + ALWAYS_INLINE size_t mask(Kind) { return 0; } + + template diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 954ac53..53463cb 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -22,6 +22,8 @@ Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=132333 Patch2: cloop-big-endians.patch Patch3: package-common-py.patch +# https://bugs.webkit.org/show_bug.cgi?id=180188 +Patch4: system-malloc-gigacage-build-fix.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -183,8 +185,7 @@ rm -rf Source/ThirdParty/qunit/ # Also for aarch64 as the support is in upstream, but not packaged in Fedora. # # I really didn't want to do so, but looks like I have to disable bmalloc -# temporarily due to -# https://bugs.webkit.org/show_bug.cgi?id=179914 +# temporarily due to https://bugs.webkit.org/show_bug.cgi?id=179914 mkdir -p %{_target_platform} pushd %{_target_platform} %cmake \ From b2c4344b8abf8497a36fc81da7aaef2ee4720e4c Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 30 Nov 2017 20:55:48 +0000 Subject: [PATCH 096/101] Rebuild for ICU 60.1 --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 53463cb..c87dab0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.19.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -281,6 +281,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Nov 30 2017 Pete Walter - 2.19.2-3 +- Rebuild for ICU 60.1 + * Thu Nov 30 2017 Tomas Popela - 2.19.2-2 - Temporarily disable bmalloc From 6fef8df7e0c9697eb2f6574ce64e2dda0500997a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 13 Dec 2017 13:40:49 +0100 Subject: [PATCH 097/101] Update to 2.19.3 Enable bmalloc again --- .gitignore | 1 + package-common-py.patch | 154 ------------------------- sources | 2 +- system-malloc-gigacage-build-fix.patch | 36 ------ webkitgtk4.spec | 16 ++- 5 files changed, 9 insertions(+), 200 deletions(-) delete mode 100644 package-common-py.patch delete mode 100644 system-malloc-gigacage-build-fix.patch diff --git a/.gitignore b/.gitignore index 5a57715..2fcaf03 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ /webkitgtk-2.18.2.tar.xz /webkitgtk-2.19.1.tar.xz /webkitgtk-2.19.2.tar.xz +/webkitgtk-2.19.3.tar.xz diff --git a/package-common-py.patch b/package-common-py.patch deleted file mode 100644 index d8677e6..0000000 --- a/package-common-py.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff -up webkitgtk-2.19.2/Tools/glib/common.py.package-common-py webkitgtk-2.19.2/Tools/glib/common.py ---- webkitgtk-2.19.2/Tools/glib/common.py.package-common-py 2017-11-21 13:18:14.258002441 +0100 -+++ webkitgtk-2.19.2/Tools/glib/common.py 2017-11-21 13:17:45.587105007 +0100 -@@ -0,0 +1,150 @@ -+#!/usr/bin/env python -+# Copyright (C) 2011 Igalia S.L. -+# -+# This library is free software; you can redistribute it and/or -+# modify it under the terms of the GNU Lesser General Public -+# License as published by the Free Software Foundation; either -+# version 2 of the License, or (at your option) any later version. -+# -+# This library is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public -+# License along with this library; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ -+import errno -+import os -+import select -+import subprocess -+import sys -+ -+top_level_dir = None -+build_dir = None -+library_build_dir = None -+binary_build_dir = None -+build_types = ('Release', 'Debug') -+ -+ -+def top_level_path(*args): -+ global top_level_dir -+ if not top_level_dir: -+ top_level_dir = os.path.join(os.path.dirname(__file__), '..', '..') -+ return os.path.join(*(top_level_dir,) + args) -+ -+ -+def set_build_types(new_build_types): -+ global build_types -+ build_types = new_build_types -+ -+ -+def library_build_path(*args): -+ global library_build_dir -+ if not library_build_dir: -+ library_build_dir = build_path('lib', *args) -+ return library_build_dir -+ -+ -+def binary_build_path(*args): -+ global binary_build_dir -+ if not binary_build_dir: -+ binary_build_dir = build_path('bin', *args) -+ return binary_build_dir -+ -+ -+def get_build_path(fatal=True): -+ global build_dir -+ if build_dir: -+ return build_dir -+ -+ def is_valid_build_directory(path): -+ return os.path.exists(os.path.join(path, 'CMakeCache.txt')) or \ -+ os.path.exists(os.path.join(path, 'bin/WebKitTestRunner')) -+ -+ if len(sys.argv[1:]) > 1 and os.path.exists(sys.argv[-1]) and is_valid_build_directory(sys.argv[-1]): -+ return sys.argv[-1] -+ -+ # Debian and Ubuntu build both flavours of the library (with gtk2 -+ # and with gtk3); they use directories build-2.0 and build-3.0 for -+ # that, which is not handled by the above cases; we check that the -+ # directory where we are called from is a valid build directory, -+ # which should handle pretty much all other non-standard cases. -+ build_dir = os.getcwd() -+ if is_valid_build_directory(build_dir): -+ return build_dir -+ -+ global build_types -+ for build_type in build_types: -+ build_dir = top_level_path('WebKitBuild', build_type) -+ if is_valid_build_directory(build_dir): -+ return build_dir -+ -+ # distcheck builds in a directory named _build in the top-level path. -+ build_dir = top_level_path("_build") -+ if is_valid_build_directory(build_dir): -+ return build_dir -+ -+ build_dir = top_level_path() -+ if is_valid_build_directory(build_dir): -+ return build_dir -+ -+ build_dir = top_level_path("WebKitBuild") -+ if is_valid_build_directory(build_dir): -+ return build_dir -+ -+ print('Could not determine build directory.') -+ if fatal: -+ sys.exit(1) -+ -+ -+def build_path(*args): -+ return os.path.join(*(get_build_path(),) + args) -+ -+ -+def pkg_config_file_variable(package, variable): -+ process = subprocess.Popen(['pkg-config', '--variable=%s' % variable, package], -+ stdout=subprocess.PIPE) -+ stdout = process.communicate()[0].decode("utf-8") -+ if process.returncode: -+ return None -+ return stdout.strip() -+ -+ -+def prefix_of_pkg_config_file(package): -+ return pkg_config_file_variable(package, 'prefix') -+ -+ -+def parse_output_lines(fd, parse_line_callback): -+ output = '' -+ read_set = [fd] -+ while read_set: -+ try: -+ rlist, wlist, xlist = select.select(read_set, [], []) -+ except select.error as e: -+ parse_line_callback("WARNING: error while waiting for fd %d to become readable\n" % fd) -+ parse_line_callback(" error code: %d, error message: %s\n" % (e[0], e[1])) -+ continue -+ -+ if fd in rlist: -+ try: -+ chunk = os.read(fd, 1024) -+ except OSError as e: -+ if e.errno == errno.EIO: -+ # Child process finished. -+ chunk = '' -+ else: -+ raise e -+ if not chunk: -+ read_set.remove(fd) -+ -+ output += chunk -+ while '\n' in output: -+ pos = output.find('\n') -+ parse_line_callback(output[:pos + 1]) -+ output = output[pos + 1:] -+ -+ if not chunk and output: -+ parse_line_callback(output) -+ output = '' diff --git a/sources b/sources index 47796d0..15f8043 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.19.2.tar.xz) = 418a247745acdd16917881604ba75f0abddae5d631e8c0f4b6e35b80fb9b76f17706a1fa847be096c74dcea71c7b47e2178c6a2ce5bcc0d965411d83234fef7b +SHA512 (webkitgtk-2.19.3.tar.xz) = 1fccf0046270ebe33f6fd834838e2d8813dbbac1dcc2e832becd18faab4cc72173f489ea96cd21964d578d7492c084c14606c401c0d2404744c0b48cf899b2cc diff --git a/system-malloc-gigacage-build-fix.patch b/system-malloc-gigacage-build-fix.patch deleted file mode 100644 index 3aacd20..0000000 --- a/system-malloc-gigacage-build-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/Source/WTF/wtf/Gigacage.cpp b/Source/WTF/wtf/Gigacage.cpp -index ea3ecc6a216..48c2202e514 100644 ---- a/Source/WTF/wtf/Gigacage.cpp -+++ b/Source/WTF/wtf/Gigacage.cpp -@@ -32,9 +32,7 @@ - - #if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC - --extern "C" { --void* g_gigacageBasePtr; --} -+char g_gigacageBasePtrs[GIGACAGE_BASE_PTRS_SIZE]; - - namespace Gigacage { - -diff --git a/Source/WTF/wtf/Gigacage.h b/Source/WTF/wtf/Gigacage.h -index ce84e32fb37..b27f3c4f333 100644 ---- a/Source/WTF/wtf/Gigacage.h -+++ b/Source/WTF/wtf/Gigacage.h -@@ -97,6 +97,16 @@ ALWAYS_INLINE BasePtrs& basePtrs() - return *reinterpret_cast(g_gigacageBasePtrs); - } - -+ALWAYS_INLINE void*& basePtr(Kind kind) -+{ -+ return basePtr(basePtrs(), kind); -+} -+ -+ALWAYS_INLINE bool isEnabled(Kind kind) -+{ -+ return !!basePtr(kind); -+} -+ - ALWAYS_INLINE size_t mask(Kind) { return 0; } - - template diff --git a/webkitgtk4.spec b/webkitgtk4.spec index c87dab0..991d0d9 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.19.2 -Release: 3%{?dist} +Version: 2.19.3 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -21,9 +21,6 @@ Patch0: user-agent-branding.patch Patch1: fedora-crypto-policy.patch # https://bugs.webkit.org/show_bug.cgi?id=132333 Patch2: cloop-big-endians.patch -Patch3: package-common-py.patch -# https://bugs.webkit.org/show_bug.cgi?id=180188 -Patch4: system-malloc-gigacage-build-fix.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -183,9 +180,6 @@ rm -rf Source/ThirdParty/qunit/ # Disable ld.gold on s390 as it does not have it. # Also for aarch64 as the support is in upstream, but not packaged in Fedora. -# -# I really didn't want to do so, but looks like I have to disable bmalloc -# temporarily due to https://bugs.webkit.org/show_bug.cgi?id=179914 mkdir -p %{_target_platform} pushd %{_target_platform} %cmake \ @@ -198,8 +192,8 @@ pushd %{_target_platform} %endif %ifarch s390 s390x ppc %{power64} -DENABLE_JIT=OFF \ -%endif -DUSE_SYSTEM_MALLOC=ON \ +%endif .. popd @@ -281,6 +275,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Dec 13 2017 Tomas Popela - 2.19.3-1 +- Update to 2.19.3 +- Enable bmalloc again + * Thu Nov 30 2017 Pete Walter - 2.19.2-3 - Rebuild for ICU 60.1 From 4cd57b35c60e0d5de67cfbeea1beadcf9bf25c2b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 13 Dec 2017 16:55:13 +0100 Subject: [PATCH 098/101] Fix licenses The build previously failed because one license was removed. --- webkitgtk4.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 991d0d9..b42712e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -208,14 +208,17 @@ make %{?_smp_mflags} -C %{_target_platform} %add_to_license_files Source/JavaScriptCore/COPYING.LIB %add_to_license_files Source/JavaScriptCore/icu/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/murmurhash/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE %add_to_license_files Source/WebCore/icu/LICENSE %add_to_license_files Source/WebCore/LICENSE-APPLE %add_to_license_files Source/WebCore/LICENSE-LGPL-2 %add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 %add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/ESLint/LICENSE %add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE %add_to_license_files Source/WTF/icu/LICENSE %add_to_license_files Source/WTF/wtf/dtoa/COPYING %add_to_license_files Source/WTF/wtf/dtoa/LICENSE From ed730dc62da82a2f8bec26200d58b4c70c3e8b29 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 9 Jan 2018 13:13:41 +0100 Subject: [PATCH 099/101] Update to 2.19.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2fcaf03..d74f3d3 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ /webkitgtk-2.19.1.tar.xz /webkitgtk-2.19.2.tar.xz /webkitgtk-2.19.3.tar.xz +/webkitgtk-2.19.4.tar.xz diff --git a/sources b/sources index 15f8043..4d98bed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.19.3.tar.xz) = 1fccf0046270ebe33f6fd834838e2d8813dbbac1dcc2e832becd18faab4cc72173f489ea96cd21964d578d7492c084c14606c401c0d2404744c0b48cf899b2cc +SHA512 (webkitgtk-2.19.4.tar.xz) = 7572567739b89db29c609186b35d9132e532ca4719304cdfec1fe1394c01e4c3591a12d71563529d6122e1e2d42b3dc30e2cf8fb0dc5541920a42760a7aebd06 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index b42712e..eccabb8 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.19.3 +Version: 2.19.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -278,6 +278,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jan 09 2018 Tomas Popela - 2.19.4-1 +- Update to 2.19.4 + * Wed Dec 13 2017 Tomas Popela - 2.19.3-1 - Update to 2.19.3 - Enable bmalloc again From 03f6a2b2a6444683ed7927bb861ff4d5d1b11c92 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 9 Jan 2018 19:19:46 +0100 Subject: [PATCH 100/101] Update to 2.19.5 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d74f3d3..62636b7 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ /webkitgtk-2.19.2.tar.xz /webkitgtk-2.19.3.tar.xz /webkitgtk-2.19.4.tar.xz +/webkitgtk-2.19.5.tar.xz diff --git a/sources b/sources index 4d98bed..06376b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.19.4.tar.xz) = 7572567739b89db29c609186b35d9132e532ca4719304cdfec1fe1394c01e4c3591a12d71563529d6122e1e2d42b3dc30e2cf8fb0dc5541920a42760a7aebd06 +SHA512 (webkitgtk-2.19.5.tar.xz) = a3f22d7764be5118ab9065931c19c87993e5a1fcdbb532462e7158200e98eda417fcc12cdef340e6612eb799926c70d61457d1bfe07347755102e7ed882a9285 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index eccabb8..d5d7a56 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.19.4 +Version: 2.19.5 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -278,6 +278,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jan 09 2018 Tomas Popela - 2.19.5-1 +- Update to 2.19.5 + * Tue Jan 09 2018 Tomas Popela - 2.19.4-1 - Update to 2.19.4 From 256d15f6647f1eb96adf30a688a640e135021ea7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 12 Jan 2018 15:49:56 +0100 Subject: [PATCH 101/101] Package was renamed to webkit2gtk3 --- .gitignore | 73 ---- cloop-big-endians.patch | 30 -- dead.package | 1 + fedora-crypto-policy.patch | 24 -- sources | 1 - user-agent-branding.patch | 13 - webkitgtk4.spec | 777 ------------------------------------- 7 files changed, 1 insertion(+), 918 deletions(-) delete mode 100644 .gitignore delete mode 100644 cloop-big-endians.patch create mode 100644 dead.package delete mode 100644 fedora-crypto-policy.patch delete mode 100644 sources delete mode 100644 user-agent-branding.patch delete mode 100644 webkitgtk4.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 62636b7..0000000 --- a/.gitignore +++ /dev/null @@ -1,73 +0,0 @@ -/webkitgtk-2.5.3.tar.xz -/webkitgtk-2.5.90.tar.xz -/webkitgtk-2.6.0.tar.xz -/webkitgtk-2.6.1.tar.xz -/webkitgtk-2.6.2.tar.xz -/webkitgtk-2.7.1.tar.xz -/webkitgtk-2.7.2.tar.xz -/webkitgtk-2.7.3.tar.xz -/webkitgtk-2.7.4.tar.xz -/webkitgtk-2.7.90.tar.xz -/webkitgtk-2.7.91.tar.xz -/webkitgtk-2.7.92.tar.xz -/webkitgtk-2.8.0.tar.xz -/webkitgtk-2.8.1.tar.xz -/webkitgtk-2.9.1.tar.xz -/webkitgtk-2.9.2.tar.xz -/webkitgtk-2.9.3.tar.xz -/webkitgtk-2.9.4.tar.xz -/webkitgtk-2.9.5.tar.xz -/webkitgtk-2.9.90.tar.xz -/webkitgtk-2.9.91.tar.xz -/webkitgtk-2.9.92.tar.xz -/webkitgtk-2.10.0.tar.xz -/webkitgtk-2.10.1.tar.xz -/webkitgtk-2.10.2.tar.xz -/webkitgtk-2.10.3.tar.xz -/webkitgtk-2.11.1.tar.xz -/webkitgtk-2.11.2.tar.xz -/webkitgtk-2.11.3.tar.xz -/webkitgtk-2.11.4.tar.xz -/webkitgtk-2.11.5.tar.xz -/webkitgtk-2.11.90.tar.xz -/webkitgtk-2.11.91.tar.xz -/webkitgtk-2.11.92.tar.xz -/webkitgtk-2.12.0.tar.xz -/webkitgtk-2.12.1.tar.xz -/webkitgtk-2.12.2.tar.xz -/webkitgtk-2.12.3.tar.xz -/webkitgtk-2.13.1.tar.xz -/webkitgtk-2.13.2.tar.xz -/webkitgtk-2.13.3.tar.xz -/webkitgtk-2.13.4.tar.xz -/webkitgtk-2.13.90.tar.xz -/webkitgtk-2.13.91.tar.xz -/webkitgtk-2.13.92.tar.xz -/webkitgtk-2.14.0.tar.xz -/webkitgtk-2.14.1.tar.xz -/webkitgtk-2.15.1.tar.xz -/webkitgtk-2.14.2.tar.xz -/webkitgtk-2.15.2.tar.xz -/webkitgtk-2.15.3.tar.xz -/webkitgtk-2.15.4.tar.xz -/webkitgtk-2.15.90.tar.xz -/webkitgtk-2.15.91.tar.xz -/webkitgtk-2.15.92.tar.xz -/webkitgtk-2.16.0.tar.xz -/webkitgtk-2.16.1.tar.xz -/webkitgtk-2.17.1.tar.xz -/webkitgtk-2.17.2.tar.xz -/webkitgtk-2.17.3.tar.xz -/webkitgtk-2.17.4.tar.xz -/webkitgtk-2.17.5.tar.xz -/webkitgtk-2.17.90.tar.xz -/webkitgtk-2.17.91.tar.xz -/webkitgtk-2.17.92.tar.xz -/webkitgtk-2.18.0.tar.xz -/webkitgtk-2.18.1.tar.xz -/webkitgtk-2.18.2.tar.xz -/webkitgtk-2.19.1.tar.xz -/webkitgtk-2.19.2.tar.xz -/webkitgtk-2.19.3.tar.xz -/webkitgtk-2.19.4.tar.xz -/webkitgtk-2.19.5.tar.xz diff --git a/cloop-big-endians.patch b/cloop-big-endians.patch deleted file mode 100644 index 7bb12df..0000000 --- a/cloop-big-endians.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp ---- webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 2017-02-07 09:05:07.000000000 +0100 -+++ webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp 2017-06-16 10:34:57.859748036 +0200 -@@ -2186,7 +2186,12 @@ void CodeBlock::finishCreation(VM& vm, S - instructions[i + 5].u.watchpointSet = op.watchpointSet; - else if (op.structure) - instructions[i + 5].u.structure.set(vm, this, op.structure); -- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); -+ -+ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) -+ instructions[i + 6].u.operand = op.operand; -+ else -+ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); -+ - break; - } - -@@ -2222,7 +2227,11 @@ void CodeBlock::finishCreation(VM& vm, S - op.watchpointSet->invalidate(vm, PutToScopeFireDetail(this, ident)); - } else if (op.structure) - instructions[i + 5].u.structure.set(vm, this, op.structure); -- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); -+ -+ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) -+ instructions[i + 6].u.operand = op.operand; -+ else -+ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); - - break; - } diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..f75d3fb --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Package was renamed to webkit2gtk3 diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch deleted file mode 100644 index 8a317db..0000000 --- a/fedora-crypto-policy.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp ---- webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:39:59.294426661 +0200 -+++ webkitgtk-2.17.92/Source/WebKit/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-09-05 13:40:09.144389997 +0200 -@@ -43,7 +43,7 @@ int main(int argc, char** argv) - // overwrite this priority string if it's already set by the user. - // https://bugzilla.gnome.org/show_bug.cgi?id=738633 - // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); - - #if USE(GCRYPT) - PAL::GCrypt::initialize(); -diff -up webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp ---- webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp.fedora-crypto-policy 2017-09-05 13:40:28.558317735 +0200 -+++ webkitgtk-2.17.92/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-09-05 13:40:56.057215378 +0200 -@@ -43,7 +43,7 @@ int main(int argc, char** argv) - // overwrite this priority string if it's already set by the user. - // https://bugzilla.gnome.org/show_bug.cgi?id=738633 - // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); - - #if USE(GCRYPT) - PAL::GCrypt::initialize(); diff --git a/sources b/sources deleted file mode 100644 index 06376b2..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (webkitgtk-2.19.5.tar.xz) = a3f22d7764be5118ab9065931c19c87993e5a1fcdbb532462e7158200e98eda417fcc12cdef340e6612eb799926c70d61457d1bfe07347755102e7ed882a9285 diff --git a/user-agent-branding.patch b/user-agent-branding.patch deleted file mode 100644 index d87f3e7..0000000 --- a/user-agent-branding.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp ---- webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp.orig 2016-10-12 07:59:25.670057792 +0200 -+++ webkitglib-2.14.1/Source/WebCore/platform/glib/UserAgentGLib.cpp 2016-10-12 08:01:06.251878684 +0200 -@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) - else { - uaString.append(platformForUAString()); - uaString.appendLiteral("; "); -+#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); -+#endif - uaString.append(platformVersionForUAString()); - } - diff --git a/webkitgtk4.spec b/webkitgtk4.spec deleted file mode 100644 index d5d7a56..0000000 --- a/webkitgtk4.spec +++ /dev/null @@ -1,777 +0,0 @@ -## NOTE: Lots of files in various subdirectories have the same name (such as -## "LICENSE") so this short macro allows us to distinguish them by using their -## directory names (from the source tree) as prefixes for the files. -%global add_to_license_files() \ - mkdir -p _license_files ; \ - cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') - -Name: webkitgtk4 -Version: 2.19.5 -Release: 1%{?dist} -Summary: GTK+ Web content engine library - -License: LGPLv2 -URL: http://www.webkitgtk.org/ -Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz - -# https://bugs.webkit.org/show_bug.cgi?id=162611 -Patch0: user-agent-branding.patch -# https://fedoraproject.org/wiki/Packaging:CryptoPolicies -# https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=132333 -Patch2: cloop-big-endians.patch - -BuildRequires: at-spi2-core-devel -BuildRequires: bison -BuildRequires: brotli-devel -BuildRequires: cairo-devel -BuildRequires: cmake -BuildRequires: enchant-devel -BuildRequires: flex -BuildRequires: fontconfig-devel -BuildRequires: freetype-devel -BuildRequires: geoclue2-devel -BuildRequires: gettext -BuildRequires: glib2-devel -BuildRequires: gnutls-devel -BuildRequires: gobject-introspection-devel -BuildRequires: gperf -BuildRequires: gstreamer1-devel -BuildRequires: gstreamer1-plugins-base-devel -BuildRequires: gstreamer1-plugins-bad-free-devel -BuildRequires: gtk2-devel -BuildRequires: gtk3-devel -BuildRequires: gtk-doc -BuildRequires: harfbuzz-devel -BuildRequires: hyphen-devel -BuildRequires: libicu-devel -BuildRequires: libjpeg-devel -BuildRequires: libnotify-devel -BuildRequires: libpng-devel -BuildRequires: libsecret-devel -BuildRequires: libsoup-devel -BuildRequires: libwebp-devel -BuildRequires: libxslt-devel -BuildRequires: libXt-devel -BuildRequires: libwayland-client-devel -BuildRequires: libwayland-egl-devel -BuildRequires: libwayland-server-devel -BuildRequires: mesa-libEGL-devel -BuildRequires: mesa-libGL-devel -BuildRequires: mesa-libGLES-devel -BuildRequires: pcre-devel -BuildRequires: perl-File-Copy-Recursive -BuildRequires: perl-JSON-PP -BuildRequires: perl-Switch -BuildRequires: ruby -BuildRequires: rubygems -BuildRequires: sqlite-devel -BuildRequires: upower-devel -BuildRequires: woff2-devel -%ifarch ppc -BuildRequires: libatomic -%endif - -Requires: geoclue2 - -# Obsolete libwebkit2gtk from the webkitgtk3 package -Obsoletes: libwebkit2gtk < 2.5.0 -Provides: libwebkit2gtk = %{version}-%{release} - -# We're supposed to specify versions here, but these crap Google libs don't do -# normal releases. Accordingly, they're not suitable to be system libs. -Provides: bundled(angle) - -# Require the jsc subpackage -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} - -# Recommend the support for the GTK+ 2 based NPAPI plugins -Recommends: %{name}-plugin-process-gtk2%{?_isa} = %{version}-%{release} -Obsoletes: %{name} < 2.12.0-3 - -# Filter out provides for private libraries -%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ - -%description -WebKitGTK+ is the port of the portable web rendering engine WebKit to the -GTK+ platform. - -This package contains WebKitGTK+ for GTK+ 3. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} -Requires: %{name}-jsc-devel%{?_isa} = %{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 files for %{name} -BuildArch: noarch -Requires: %{name} = %{version}-%{release} - -%description doc -This package contains developer documentation for %{name}. - -%package jsc -Summary: JavaScript engine from %{name} - -%description jsc -This package contains JavaScript engine from %{name}. - -%package jsc-devel -Summary: Development files for JavaScript engine from %{name} -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} - -%description jsc-devel -The %{name}-jsc-devel package contains libraries, build data, and header -files for developing applications that use JavaScript engine from %{name}. - -%package plugin-process-gtk2 -Summary: GTK+ 2 based NPAPI plugins support for %{name} -Obsoletes: %{name} < 2.12.0-3 -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} - -%description plugin-process-gtk2 -Support for the GTK+ 2 based NPAPI plugins (such as Adobe Flash) for %{name}. - -%prep -%autosetup -p1 -n webkitgtk-%{version} - -# Remove bundled libraries -rm -rf Source/ThirdParty/gtest/ -rm -rf Source/ThirdParty/qunit/ - -%build -# Increase the DIE limit so our debuginfo packages could be size optimized. -# Decreases the size for x86_64 from ~5G to ~1.1G. -# https://bugzilla.redhat.com/show_bug.cgi?id=1456261 -%global _dwz_max_die_limit 250000000 -# The _dwz_max_die_limit is being overridden by the arch specific ones from the -# redhat-rpm-config so we need to set the arch specific ones as well - now it -# is only needed for x86_64. -%global _dwz_max_die_limit_x86_64 250000000 - -%ifarch s390 aarch64 -# Use linker flags to reduce memory consumption - on other arches the ld.gold is -# used and also it doesn't have the --reduce-memory-overheads option -%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -%endif - -# Decrease debuginfo even on ix86 because of: -# https://bugs.webkit.org/show_bug.cgi?id=140176 -%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} -# Decrease debuginfo verbosity to reduce memory consumption even more -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif - -%ifarch ppc -# Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled -%global optflags %{optflags} -Wl,-relax -%endif - -%if 0%{?fedora} -%global optflags %{optflags} -DUSER_AGENT_GTK_DISTRIBUTOR_NAME=\'\\"Fedora\\"\' -%endif - -# Disable ld.gold on s390 as it does not have it. -# Also for aarch64 as the support is in upstream, but not packaged in Fedora. -mkdir -p %{_target_platform} -pushd %{_target_platform} -%cmake \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_GTKDOC=ON \ - -DENABLE_MINIBROWSER=ON \ -%ifarch s390 aarch64 - -DUSE_LD_GOLD=OFF \ -%endif -%ifarch s390 s390x ppc %{power64} - -DENABLE_JIT=OFF \ - -DUSE_SYSTEM_MALLOC=ON \ -%endif - .. -popd - -make %{?_smp_mflags} -C %{_target_platform} - -%install -%make_install -C %{_target_platform} - -%find_lang WebKit2GTK-4.0 - -# Finally, copy over and rename various files for %%license inclusion -%add_to_license_files Source/JavaScriptCore/COPYING.LIB -%add_to_license_files Source/JavaScriptCore/icu/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE -%add_to_license_files Source/WebCore/icu/LICENSE -%add_to_license_files Source/WebCore/LICENSE-APPLE -%add_to_license_files Source/WebCore/LICENSE-LGPL-2 -%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 -%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE -%add_to_license_files Source/WebInspectorUI/UserInterface/External/ESLint/LICENSE -%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE -%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE -%add_to_license_files Source/WTF/icu/LICENSE -%add_to_license_files Source/WTF/wtf/dtoa/COPYING -%add_to_license_files Source/WTF/wtf/dtoa/LICENSE - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig -%post jsc -p /sbin/ldconfig -%postun jsc -p /sbin/ldconfig - -%files -f WebKit2GTK-4.0.lang -%license _license_files/*ThirdParty* -%license _license_files/*WebCore* -%license _license_files/*WebInspectorUI* -%license _license_files/*WTF* -%{_libdir}/libwebkit2gtk-4.0.so.* -%dir %{_libdir}/girepository-1.0 -%{_libdir}/girepository-1.0/WebKit2-4.0.typelib -%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib -%{_libdir}/webkit2gtk-4.0/ -%{_libexecdir}/webkit2gtk-4.0/ -%{_bindir}/WebKitWebDriver -%exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 - -%files devel -%{_libexecdir}/webkit2gtk-4.0/MiniBrowser -%{_includedir}/webkitgtk-4.0/ -%exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore -%{_libdir}/libwebkit2gtk-4.0.so -%{_libdir}/pkgconfig/webkit2gtk-4.0.pc -%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc -%dir %{_datadir}/gir-1.0 -%{_datadir}/gir-1.0/WebKit2-4.0.gir -%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir - -%files jsc -%license _license_files/*JavaScriptCore* -%{_libdir}/libjavascriptcoregtk-4.0.so.* -%dir %{_libdir}/girepository-1.0 -%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib - -%files jsc-devel -%{_libexecdir}/webkit2gtk-4.0/jsc -%dir %{_includedir}/webkitgtk-4.0 -%{_includedir}/webkitgtk-4.0/JavaScriptCore/ -%{_libdir}/libjavascriptcoregtk-4.0.so -%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc -%dir %{_datadir}/gir-1.0 -%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir - -%files plugin-process-gtk2 -%{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 - -%files doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/webkit2gtk-4.0/ -%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ - -%changelog -* Tue Jan 09 2018 Tomas Popela - 2.19.5-1 -- Update to 2.19.5 - -* Tue Jan 09 2018 Tomas Popela - 2.19.4-1 -- Update to 2.19.4 - -* Wed Dec 13 2017 Tomas Popela - 2.19.3-1 -- Update to 2.19.3 -- Enable bmalloc again - -* Thu Nov 30 2017 Pete Walter - 2.19.2-3 -- Rebuild for ICU 60.1 - -* Thu Nov 30 2017 Tomas Popela - 2.19.2-2 -- Temporarily disable bmalloc - -* Tue Nov 21 2017 Tomas Popela - 2.19.2-1 -- Update to 2.19.2 - -* Thu Nov 02 2017 Kalev Lember - 2.19.2-2 -- Fix gir directory ownership - -* Tue Oct 31 2017 Tomas Popela - 2.19.1-1 -- Update to 2.19.1 - -* Fri Oct 27 2017 Tomas Popela - 2.18.2-1 -- Update to 2.18.2 - -* Thu Oct 26 2017 Vít Ondruch - 2.18.1-2 -- Drop the explicit dependnecy on rubypick. - -* Wed Oct 18 2017 Tomas Popela - 2.18.1-1 -- Update to 2.18.1 - -* Wed Sep 13 2017 Richard W.M. Jones - 2.18.0-2 -- Rebuild to try to fix: libwebkit2gtk-4.0.so.37: undefined symbol: - soup_auth_manager_clear_cached_credentials - -* Mon Sep 11 2017 Tomas Popela - 2.18.0-1 -- Update to 2.18.0 - -* Tue Sep 05 2017 Tomas Popela - 2.17.92-1 -- Update to 2.17.92 - -* Fri Aug 18 2017 Tomas Popela - 2.17.91-1 -- Update to 2.17.91 - -* Wed Aug 09 2017 Tomas Popela - 2.17.90-1 -- Update to 2.17.90 - -* Thu Aug 03 2017 Fedora Release Engineering - 2.17.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Tomas Popela - 2.17.5-1 -- Update to 2.17.5 - -* Thu Jul 20 2017 Tomas Popela - 2.17.4-4 -- Rebuild for rhbz#1470692 - -* Tue Jul 18 2017 Richard W.M. Jones - 2.17.4-3 -- Bump release and rebuild to attempt to fix _ZSt11__once_call - dynamic linking problem (RHBZ#1470692). - -* Wed Jun 21 2017 Tomas Popela - 2.17.4-2 -- Take two on increasing the DIE limit as the _dwz_max_die_limit is being - overridden by the arch specific ones from the redhat-rpm-config - -* Mon Jun 19 2017 Tomas Popela - 2.17.4-1 -- Update to 2.17.4 -- Increase the DIE limit so our debuginfo packages could be size optimized - rhbz#1456261 - -* Mon May 22 2017 Tomas Popela - 2.17.3-1 -- Update to 2.17.3 - -* Mon May 15 2017 Fedora Release Engineering - 2.17.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Mon May 15 2017 Tomas Popela - 2.17.2-1 -- Update to 2.17.2 - -* Tue May 09 2017 Michael Catanzaro - 2.17.1-1 -- Update to 2.17.1 - -* Mon Apr 10 2017 Tomas Popela - 2.16.1-3 -- Enable JIT and bmalloc on aarch64 and MIPS - -* Thu Apr 06 2017 Tomas Popela - 2.16.1-2 -- Add patch for freezing regression - -* Tue Apr 04 2017 Tomas Popela - 2.16.1-1 -- Update to 2.16.1 - -* Mon Mar 20 2017 Tomas Popela - 2.16.0-1 -- Update to 2.16.0 - -* Tue Mar 14 2017 Tomas Popela - 2.15.92-1 -- Update to 2.15.92 - -* Wed Mar 01 2017 Tomas Popela - 2.15.91-1 -- Update to 2.15.91 - -* Fri Feb 24 2017 Bastien Nocera - 2.15.90-2 -- Add patch to fix hangs when showing the Google search page - -* Tue Feb 21 2017 Tomas Popela - 2.15.90-1 -- Update to 2.15.90 - -* Tue Feb 07 2017 Tomas Popela - 2.15.4-4 -- Add patches to make Evolution usable again - rhbz#1418413 - -* Thu Feb 02 2017 Tomas Popela - 2.15.4-3 -- Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher - -* Wed Feb 01 2017 Sandro Mani - 2.15.4-2 -- Rebuild (libwebp) - -* Tue Jan 31 2017 Tomas Popela - 2.15.4-1 -- Update to 2.15.4 - -* Mon Jan 23 2017 Tomas Popela - 2.15.3-1 -- Update to 2.15.3 - -* Mon Nov 21 2016 Tomas Popela - 2.15.2-1 -- Update to 2.15.2 - -* Wed Oct 26 2016 Tomas Popela - 2.15.1-1 -- Update to 2.15.1 - -* Wed Oct 12 2016 Adam Jackson - 2.14.1-2 -- Prefer eglGetPlatformDisplay to eglGetDisplay - -* Wed Oct 12 2016 Tomas Popela - 2.14.1-1 -- Update to 2.14.1 - -* Tue Sep 20 2016 Tomas Popela - 2.14.0-1 -- Update to 2.14.0 - -* Thu Sep 15 2016 Tomas Popela - 2.13.92-1 -- Update to 2.13.92 - -* Mon Sep 12 2016 Tomas Popela - 2.13.91-1 -- Update to 2.13.91 - -* Wed Aug 31 2016 Tomas Popela - 2.13.90-1 -- Update to 2.13.90 - -* Wed Jul 27 2016 Tomas Popela - 2.13.4-1 -- Update to 2.13.4 - -* Mon Jul 18 2016 Tomas Popela - 2.13.3-1 -- Update to 2.13.3 -- Enable JIT on ARMv7 - -* Fri Jul 08 2016 Tomas Popela - 2.13.2-4 -- Remove the wrong patch for THUMB2 support - -* Tue Jun 28 2016 Michael Catanzaro - 2.13.2-3 -- Disable NPAPI in Wayland -- Specify more bundled provides -- Again disable JIT on ARMv7 until rhbz#1350982 is fixed - -* Tue Jun 28 2016 Tomas Popela - 2.13.2-2 -- Enable JIT and BMalloc on ARMv7 - -* Thu Jun 23 2016 Tomas Popela - 2.13.2-1 -- Update to 2.13.2 -- Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159083 is fixed - -* Sun Jun 19 2016 Michael Catanzaro - 2.13.1-2 -- Add patch to comply with Fedora crypto policy - -* Tue May 31 2016 Tomas Popela - 2.13.1-1 -- Update to 2.13.1 - -* Tue May 24 2016 Tomas Popela - 2.12.3-1 -- Update to 2.12.3 - -* Fri Apr 29 2016 Igor Gnatenko - 2.12.2-2 -- Remove typelib from jsc-devel because it is in jsc - -* Thu Apr 28 2016 Tomas Popela - 2.12.2-1 -- Update to 2.12.2 - -* Tue Apr 26 2016 Tomas Popela - 2.12.1-3 -- Fix the build on aarch64 - disable bmalloc as it's crashing when generating - the documentation - -* Fri Apr 15 2016 David Tardon - 2.12.1-2 -- rebuild for ICU 57.1 - -* Thu Apr 14 2016 Tomas Popela - 2.12.1-1 -- Update to 2.12.1 - -* Thu Apr 07 2016 Michael Catanzaro - 2.12.0-3 -- Attempt harder to ensure plugin-process-gtk2 is installed on upgrade - -* Wed Apr 06 2016 Michael Catanzaro - 2.12.0-2 -- Attempt to ensure plugin-process-gtk2 is installed on upgrade -- Add patch for WebKit#155885 - -* Tue Mar 22 2016 Tomas Popela - 2.12.0-1 -- Update to 2.12.0 - -* Sun Mar 20 2016 Igor Gnatenko - 2.11.92-3 -- Add missing ldconfig call for jsc subpkg - -* Thu Mar 17 2016 Tomas Popela - 2.11.92-2 -- Fix the build with gcc6 - -* Thu Mar 17 2016 Tomas Popela - 2.11.92-1 -- Update to 2.11.92 - -* Tue Mar 15 2016 Tomas Popela - 2.11.91-2 -- Subpackage the WebKitPluginProcess2 -- Resolves: rhbz#1317692 - -* Tue Mar 01 2016 Tomas Popela - 2.11.91-1 -- Update to 2.11.91 - -* Mon Feb 29 2016 David King - 2.11.90-4 -- Move JavaScriptCore headers to jsc-devel subpackage (#1312894) - -* Wed Feb 24 2016 Michael Catanzaro - 2.11.90-3 -- Stop building with ENABLE_OPENGL=OFF, see WebKit#126122 and WebKit#150955. - -* Mon Feb 22 2016 Tomas Popela - 2.11.90-1 -- Update to 2.11.90 - -* Tue Feb 9 2016 Peter Robinson 2.11.5-2 -- Add ruby deps for build - -* Tue Feb 09 2016 Tomas Popela - 2.11.5-1 -- Update to 2.11.5 -- Drop the llvm dependencies as we switched to B3 -- Rebase the YouTube patch - -* Fri Feb 05 2016 Fedora Release Engineering - 2.11.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 28 2016 Tomas Popela - 2.11.4-2 -- Rebuilt for LLVM rebase - -* Wed Jan 20 2016 Tomas Popela - 2.11.4-1 -- Update to 2.11.4 - -* Wed Jan 13 2016 Michael Catanzaro - 2.11.3-2 -- Build with ENABLE_OPENGL=OFF as I think it is causing bugs. -- Stop static linking to LLVM. - -* Wed Jan 13 2016 Tomas Popela - 2.11.3-1 -- Update to 2.11.3 - -* Wed Dec 30 2015 Michael Catanzaro - 2.11.2-6 -- Remove webkitgtk-2.5.90-cloop_fix.patch and - webkitgtk-2.8.0-page_size_align.patch. These have been broken for ages. -- Remove webkitgtk-2.8.0-s390_fixes.patch since this is a patch for bmalloc, but - we disable bmalloc on s390. -- Don't request hardened build, it's the default. -- Use public USE_SYSTEM_MALLOC option instead of unsupported USE_BMALLOC. -- lldb is not bundled anymore. - -* Wed Dec 30 2015 Michal Toman - 2.11.2-5 -- Add support for MIPS - -* Mon Dec 28 2015 Igor Gnatenko - 2.11.2-4 -- Rebuilt for libwebp soname bump - -* Mon Dec 07 2015 Tomas Popela - 2.11.2-3 -- rhbz#1289053 - Retire nspluginwrapper and remove from Fedora 24 - -* Mon Nov 30 2015 Tomas Popela - 2.11.2-2 -- Introduce the jsc and jsc-devel subpackages with JavaScriptCore packaged -- Resolves: rhbz#1176677 - -* Mon Nov 23 2015 Tomas Popela - 2.11.2-1 -- Update to 2.11.2 -- Enable FTL on x86_64 - -* Tue Nov 03 2015 Tomas Popela - 2.11.1-1 -- Update to 2.11.1 - -* Wed Oct 28 2015 David Tardon - 2.10.3-2 -- rebuild for ICU 56.1 - -* Tue Oct 27 2015 Tomas Popela - 2.10.3-1 -- Update to 2.10.3 - -* Thu Oct 15 2015 Tomas Popela - 2.10.2-1 -- Update to 2.10.2 - -* Thu Oct 15 2015 Kalev Lember - 2.10.1-2 -- Rebuilt - -* Wed Oct 14 2015 Tomas Popela - 2.10.1-1 -- Update to 2.10.1 - -* Fri Oct 09 2015 Michael Catanzaro - 2.10.0-2 -- Add provides bundled(angle) since it's finally safe to do so. - -* Mon Sep 21 2015 Kalev Lember - 2.10.0-1 -- Update to 2.10.0 - -* Wed Sep 16 2015 Tomas Popela - 2.9.92-1 -- Update to 2.9.92 - -* Wed Aug 26 2015 Kalev Lember - 2.9.91-1 -- Update to 2.9.91 - -* Mon Aug 24 2015 Michael Catanzaro - 2.9.90-2 -- Remove the address space limit patch: it was causing too many problems. -- (Warning! This means Red Hat Bugzilla can hang your computer again.) -- Improve the YouTube patch to avoid spamming the journal with rpm output. -- Add patch from upstream to workaround severe a performance regression. -- No need to explicitly enable Wayland support anymore; it's now default. - -* Wed Aug 19 2015 Kalev Lember - 2.9.90-1 -- Update to 2.9.90 - -* Mon Aug 03 2015 Tomas Popela - 2.9.5-1 -- Update to 2.9.5 - -* Sat Aug 01 2015 Michael Catanzaro - 2.9.4-3 -- Make YouTube work. - -* Tue Jul 28 2015 Michael Catanzaro - 2.9.4-2 -- Exempt the plugin process from the address space limit. - -* Wed Jul 22 2015 Tomas Popela - 2.9.4-1 -- Update to 2.9.4 - -* Thu Jul 09 2015 Michael Catanzaro - 2.9.3-3 -- Prevent runaway web processes from using unlimited memory. - -* Wed Jul 01 2015 Michael Catanzaro - 2.9.3-2 -- Enable Wayland support at long last. Hopefully fixes #1220811. - -* Tue Jun 23 2015 Tomas Popela - 2.9.3-1 -- Update to 2.9.3 - -* Fri Jun 19 2015 Fedora Release Engineering - 2.9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed May 27 2015 Tomas Popela - 2.9.2-1 -- Update to 2.9.2 - -* Thu May 07 2015 Tomas Popela - 2.9.1-1 -- Update to 2.9.1 -- Add hyphen-devel as BR - -* Tue Apr 21 2015 Michael Catanzaro - 2.8.1-2 -- Reenable fast matrix multiplication on x86_64 - -* Tue Apr 14 2015 Tomas Popela - 2.8.1-1 -- Update to 2.8.1 - -* Wed Apr 08 2015 Michael Catanzaro - 2.8.0-4 -- Build with support for HTML5 desktop notifications - -* Wed Apr 08 2015 Tomas Popela - 2.8.0-3 -- Fix CLoop on secondary arches - -* Fri Mar 27 2015 Than Ngo - 2.8.0-2 -- Fix build failures on s390 -- Fix build failures with gcc 5 -- Decrease the debuginfo verbosity on ppc and others - -* Mon Mar 23 2015 Tomas Popela - 2.8.0-1 -- Update to 2.8.0 - -* Tue Mar 17 2015 Tomas Popela - 2.7.92-1 -- Update to 2.7.92 -- Re-enable parallel build -- Compile and ship MiniBrowser - -* Mon Mar 16 2015 Michael Catanzaro 2.7.91-3 -- Add a couple patches to fix more crashes - -* Wed Mar 04 2015 Michael Catanzaro 2.7.91-2 -- Add patch to make gnome-online-accounts 3.15.91 not crash - -* Tue Mar 03 2015 Tomas Popela - 2.7.91-1 -- Update to 2.7.91 - -* Thu Feb 26 2015 Michael Catanzaro - 2.7.90-10 -- Add Fedora branding to the user agent - -* Thu Feb 19 2015 Tomas Popela - 2.7.90-9 -- Fix the build with cmake 3.2.x - -* Thu Feb 19 2015 Tomas Popela - 2.7.90-8 -- Fix crash in CLoop -- Forgot to reset the release number so continuing with 8 -- Decrease the debuginfo verbosity on s390x - -* Wed Feb 18 2015 Tomas Popela - 2.7.90-7 -- Update to 2.7.90 -- Add JIT and CLoop fixes - -* Mon Feb 16 2015 Michael Catanzaro - 2.7.4-7 -- Remove disable codec installer patch, not needed in GNOME 3.15.90 - -* Tue Feb 10 2015 Michael Catanzaro - 2.7.4-6 -- Temporarily disable cloop patch since it breaks js -- Add patch for gmutexlocker namespace collision with glib 2.43.4 - -* Fri Feb 06 2015 Michael Catanzaro - 2.7.4-5 -- Revert yesterday's changes since they don't help. - -* Thu Feb 05 2015 Michael Catanzaro - 2.7.4-4 -- Disable JIT to see if it fixes js. - -* Thu Feb 05 2015 Michael Catanzaro - 2.7.4-3 -- Disable hardened build to see if it fixes js - -* Mon Jan 26 2015 David Tardon - 2.7.4-2 -- rebuild for ICU 54.1 - -* Tue Jan 20 2015 Tomas Popela - 2.7.4-1 -- Update to 2.7.4 - -* Mon Jan 19 2015 Tomas Popela - 2.7.3-3 -- Fix compilation on secondary arches - -* Thu Jan 08 2015 Tomas Popela - 2.7.3-2 -- Decrease debuginfo verbosity on ix86 to let it build - -* Tue Dec 16 2014 Tomas Popela - 2.7.3-1 -- Update to 2.7.3 - -* Tue Dec 09 2014 Michael Catanzaro - 2.7.2-3 -- Disable the PackageKit codec installer - -* Sun Dec 07 2014 Michael Catanzaro - 2.7.2-2 -- Enable hardened build - -* Mon Nov 24 2014 Tomas Popela - 2.7.2-1 -- Update to 2.7.2 -- Don't use ld.gold on s390 and aarch64 - -* Wed Nov 12 2014 Tomas Popela - 2.7.1-5 -- Enable JIT where possible (accidentally turned off when updating to 2.5.90) - -* Fri Nov 07 2014 Kalev Lember - 2.7.1-4 -- Build developer documentation - -* Fri Oct 31 2014 Michael Catanzaro - 2.7.1-3 -- Obsolete libwebkit2gtk < 2.5.0 to be future-proof - -* Fri Oct 31 2014 Kalev Lember - 2.7.1-2 -- Bump libwebkit2gtk obsoletes version - -* Wed Oct 29 2014 Tomas Popela - 2.7.1-1 -- Update to 2.7.1 - -* Wed Oct 22 2014 Tomas Popela - 2.6.2-1 -- Update to 2.6.2 - -* Tue Oct 21 2014 Tomas Popela - 2.6.1-2 -- Disable the SSLv3 to address the POODLE vulnerability - -* Tue Oct 14 2014 Tomas Popela - 2.6.1-1 -- Update to 2.6.1 - -* Thu Sep 25 2014 Tomas Popela - 2.6.0-1 -- Add the wrongly removed CLoop patch and remove the one that was upstreamed - -* Wed Sep 24 2014 Kalev Lember - 2.6.0-1 -- Update to 2.6.0 - -* Mon Sep 22 2014 Tomas Popela - 2.5.90-1 -- Update to 2.5.90 - -* Tue Aug 26 2014 Kalev Lember - 2.5.3-7 -- Obsolete libwebkit2gtk from the webkitgtk3 package - -* Tue Aug 26 2014 David Tardon - 2.5.3-6 -- rebuild for ICU 53.1 - -* Mon Aug 25 2014 Tomas Popela - 2.5.3-5 -- Add support for secondary arches - -* Fri Aug 22 2014 Michael Catanzaro - 2.5.3-4 -- Add webkitgtk-2.5.3-toggle-buttons.patch - -* Thu Aug 21 2014 Kalev Lember - 2.5.3-3 -- More package review fixes (#1131284) -- Correct the license tag to read LGPLv2 -- Filter out provides for private libraries - -* Tue Aug 19 2014 Kalev Lember - 2.5.3-2 -- Remove bundled leveldb, gtest, qunit in %%prep (#1131284) - -* Fri Aug 15 2014 Kalev Lember - 2.5.3-1 -- Update to 2.5.3 - -* Fri Aug 01 2014 Kalev Lember - 2.5.1-1 -- Initial Fedora packaging, based on the webkitgtk3 package