pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/webkit-gtk webkit-gtk: Backport upstream patches t...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f511e33343e2
branches:  trunk
changeset: 451298:f511e33343e2
user:      leot <leot%pkgsrc.org@localhost>
date:      Sun Apr 25 12:00:24 2021 +0000

description:
webkit-gtk: Backport upstream patches to fix the build for ICU >= 69

PKGREVISION++

Thanks to <wiz> for pointing out them!

diffstat:

 www/webkit-gtk/Makefile                                                       |   4 +-
 www/webkit-gtk/distinfo                                                       |   7 +-
 www/webkit-gtk/patches/patch-Source_JavaScriptCore_Sources.txt                |  18 ++
 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.cpp  |  19 ++
 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.h    |  19 ++
 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegments.cpp   |  19 ++
 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlWorkaround.cpp |  64 ++++++++++
 7 files changed, 147 insertions(+), 3 deletions(-)

diffs (199 lines):

diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/Makefile
--- a/www/webkit-gtk/Makefile   Sun Apr 25 11:39:28 2021 +0000
+++ b/www/webkit-gtk/Makefile   Sun Apr 25 12:00:24 2021 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.204 2021/04/21 11:40:44 adam Exp $
+# $NetBSD: Makefile,v 1.205 2021/04/25 12:00:24 leot Exp $
 
 DISTNAME=      webkitgtk-2.32.0
 PKGNAME=       ${DISTNAME:S/webkitgtk/webkit-gtk/}
-PKGREVISION=   1
+PKGREVISION=   2
 CATEGORIES=    www
 MASTER_SITES=  https://www.webkitgtk.org/releases/
 EXTRACT_SUFX=  .tar.xz
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/distinfo
--- a/www/webkit-gtk/distinfo   Sun Apr 25 11:39:28 2021 +0000
+++ b/www/webkit-gtk/distinfo   Sun Apr 25 12:00:24 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.147 2021/03/30 12:47:42 leot Exp $
+$NetBSD: distinfo,v 1.148 2021/04/25 12:00:24 leot Exp $
 
 SHA1 (webkitgtk-2.32.0.tar.xz) = 8abdb3ba2732c892dd06bb2bd63208b090462bf7
 RMD160 (webkitgtk-2.32.0.tar.xz) = c825873ec544e505f84e3b8a900619dac08e01ce
@@ -6,11 +6,16 @@
 Size (webkitgtk-2.32.0.tar.xz) = 23315936 bytes
 SHA1 (patch-Source_JavaScriptCore_Scripts_check-xcfilelists.sh) = f4f117e6c1cd8eb8e4905f74946e0367156ed528
 SHA1 (patch-Source_JavaScriptCore_Scripts_generate-unified-sources.sh) = 308a7c8f687253b4fc75de0c66016dd18666e697
+SHA1 (patch-Source_JavaScriptCore_Sources.txt) = 51de2568e6255ee77f6ea7f3ab657eb3c43c8ce6
 SHA1 (patch-Source_JavaScriptCore_assembler_ARM64Assembler.h) = 79c282ca90d0ba2ef4769da40d4648f5f709951b
 SHA1 (patch-Source_JavaScriptCore_assembler_ARMv7Assembler.h) = 70975aac175ec4131a4ed26a54dfe51e16ffb7cd
 SHA1 (patch-Source_JavaScriptCore_heap_MarkedSpace.cpp) = 709e5dcf4cdb834617c2ef542686bb2aa4aa37b3
 SHA1 (patch-Source_JavaScriptCore_jit_ExecutableAllocator.cpp) = 7f6c0c57d46478e83c4ff21dae2415f44085ba32
 SHA1 (patch-Source_JavaScriptCore_offlineasm_arm64.rb) = 8c05dafa317667bbf55504d05eeb8ae06fba4e93
+SHA1 (patch-Source_JavaScriptCore_runtime_IntlSegmenter.cpp) = 326b0405fc433e579c115e174e516f1c79e8edc5
+SHA1 (patch-Source_JavaScriptCore_runtime_IntlSegmenter.h) = 36abe8dd1cf6fceefc05d8f6fe0d1a6c18f4d0c5
+SHA1 (patch-Source_JavaScriptCore_runtime_IntlSegments.cpp) = 8c357e32a256c06f05c0aeb6bea485f90ef8219d
+SHA1 (patch-Source_JavaScriptCore_runtime_IntlWorkaround.cpp) = b4a793edefa3c500b167d6fe3cdb9244ec38bcf5
 SHA1 (patch-Source_JavaScriptCore_runtime_MachineContext.h) = 23bc86a389f8009ec829c3ee0fe3effe3f20b012
 SHA1 (patch-Source_ThirdParty_ANGLE_src_common_third__party_smhasher_src_PMurHash.cpp) = 73dfe781efe7e8aa7d49094af8820a87c501818f
 SHA1 (patch-Source_ThirdParty_ANGLE_src_compiler_translator_SymbolTable.h) = 10debffda84bc752ed434657a337a466aad19a3a
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/patches/patch-Source_JavaScriptCore_Sources.txt
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkit-gtk/patches/patch-Source_JavaScriptCore_Sources.txt    Sun Apr 25 12:00:24 2021 +0000
@@ -0,0 +1,18 @@
+$NetBSD: patch-Source_JavaScriptCore_Sources.txt,v 1.1 2021/04/25 12:00:24 leot Exp $
+
+Fix build for ICU >= 69.
+
+From:
+
+ https://trac.webkit.org/changeset/275920/webkit?format=diff&new=275920
+
+--- Source/JavaScriptCore/Sources.txt.orig     2021-02-26 09:57:05.000000000 +0000
++++ Source/JavaScriptCore/Sources.txt
+@@ -848,6 +848,7 @@ runtime/IntlSegmenterConstructor.cpp
+ runtime/IntlSegmenterPrototype.cpp
+ runtime/IntlSegments.cpp
+ runtime/IntlSegmentsPrototype.cpp
++runtime/IntlWorkaround.cpp @no-unify // Confine U_HIDE_DRAFT_API's effect to this file.
+ runtime/IteratorOperations.cpp
+ runtime/IteratorPrototype.cpp
+ runtime/JSArray.cpp
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.cpp      Sun Apr 25 12:00:24 2021 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-Source_JavaScriptCore_runtime_IntlSegmenter.cpp,v 1.1 2021/04/25 12:00:24 leot Exp $
+
+Fix build for ICU >= 69.
+
+From:
+
+ https://trac.webkit.org/changeset/275920/webkit?format=diff&new=275920
+
+--- Source/JavaScriptCore/runtime/IntlSegmenter.cpp.orig       2021-02-26 09:57:05.000000000 +0000
++++ Source/JavaScriptCore/runtime/IntlSegmenter.cpp
+@@ -125,7 +125,7 @@ JSValue IntlSegmenter::segment(JSGlobalO
+     auto upconvertedCharacters = Box<Vector<UChar>>::create(string.charactersWithoutNullTermination());
+ 
+     UErrorCode status = U_ZERO_ERROR;
+-    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status));
++    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status));
+     if (U_FAILURE(status)) {
+         throwTypeError(globalObject, scope, "failed to initialize Segments"_s);
+         return { };
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegmenter.h        Sun Apr 25 12:00:24 2021 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-Source_JavaScriptCore_runtime_IntlSegmenter.h,v 1.1 2021/04/25 12:00:24 leot Exp $
+
+Fix build for ICU >= 69.
+
+From:
+
+ https://trac.webkit.org/changeset/275920/webkit?format=diff&new=275920
+
+--- Source/JavaScriptCore/runtime/IntlSegmenter.h.orig 2021-02-26 09:57:05.000000000 +0000
++++ Source/JavaScriptCore/runtime/IntlSegmenter.h
+@@ -75,4 +75,8 @@ private:
+     Granularity m_granularity { Granularity::Grapheme };
+ };
+ 
++// Abstraction to call ubrk_safeClone or ubrk_clone depending on ICU version.
++// This is implemented in IntlWorkaround.cpp in order to confine draft API visibility.
++UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*);
++
+ } // namespace JSC
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegments.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlSegments.cpp       Sun Apr 25 12:00:24 2021 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-Source_JavaScriptCore_runtime_IntlSegments.cpp,v 1.1 2021/04/25 12:00:24 leot Exp $
+
+Fix build for ICU >= 69.
+
+From:
+
+ https://trac.webkit.org/changeset/275920/webkit?format=diff&new=275920
+
+--- Source/JavaScriptCore/runtime/IntlSegments.cpp.orig        2021-02-26 09:57:05.000000000 +0000
++++ Source/JavaScriptCore/runtime/IntlSegments.cpp
+@@ -100,7 +100,7 @@ JSObject* IntlSegments::createSegmentIte
+     auto scope = DECLARE_THROW_SCOPE(vm);
+ 
+     UErrorCode status = U_ZERO_ERROR;
+-    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status));
++    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status));
+     if (U_FAILURE(status)) {
+         throwTypeError(globalObject, scope, "failed to initialize SegmentIterator"_s);
+         return nullptr;
diff -r 6f11b5f99fca -r f511e33343e2 www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlWorkaround.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkit-gtk/patches/patch-Source_JavaScriptCore_runtime_IntlWorkaround.cpp     Sun Apr 25 12:00:24 2021 +0000
@@ -0,0 +1,64 @@
+$NetBSD: patch-Source_JavaScriptCore_runtime_IntlWorkaround.cpp,v 1.1 2021/04/25 12:00:24 leot Exp $
+
+Fix build for ICU >= 69.
+
+From:
+
+ https://trac.webkit.org/changeset/275920/webkit?format=diff&new=275920
+
+--- Source/JavaScriptCore/runtime/IntlWorkaround.cpp.orig      2021-04-25 09:57:43.581734903 +0000
++++ Source/JavaScriptCore/runtime/IntlWorkaround.cpp
+@@ -0,0 +1,53 @@
++/*
++ * Copyright (C) 2021 Sony Interactive Entertainment Inc.
++ *
++ * 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.
++ */
++
++#include "config.h"
++
++#include <unicode/uvernum.h>
++
++// ICU 69 introduces draft API ubrk_clone and deprecates ubrk_safeClone.
++#if U_ICU_VERSION_MAJOR_NUM >= 69
++#define HAVE_ICU_UBRK_CLONE 1
++#endif
++
++#if defined(U_HIDE_DRAFT_API)
++#undef U_HIDE_DRAFT_API
++#endif
++#include <unicode/ubrk.h>
++
++namespace JSC {
++
++UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*);
++
++UBreakIterator* cloneUBreakIterator(const UBreakIterator* iterator, UErrorCode* status)
++{
++#if HAVE(ICU_UBRK_CLONE)
++    return ubrk_clone(iterator, status);
++#else
++    return ubrk_safeClone(iterator, nullptr, nullptr, status);
++#endif
++}
++
++} // namespace JSC



Home | Main Index | Thread Index | Old Index