Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: net-libs/webkit-gtk/files/, net-libs/webkit-gtk/
Date: Sat, 01 Aug 2020 12:22:35
Message-Id: 1596284532.4d1ae6d2c3062e843b0485815940beeff2f6b5a4.blueness@gentoo
1 commit: 4d1ae6d2c3062e843b0485815940beeff2f6b5a4
2 Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz>
3 AuthorDate: Fri Jul 31 19:46:53 2020 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Aug 1 12:22:12 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=4d1ae6d2
7
8 net-libs/webkit-gtk: security cleanup
9
10 Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
11 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
12
13 net-libs/webkit-gtk/Manifest | 1 -
14 .../webkit-gtk/files/2.28.3-non-jumbo-fix2.patch | 44 ---
15 .../webkit-gtk-2.28.1-lower-stack-usage.patch | 17 --
16 net-libs/webkit-gtk/webkit-gtk-2.28.3.ebuild | 299 ---------------------
17 4 files changed, 361 deletions(-)
18
19 diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest
20 index 63a7c52..e700873 100644
21 --- a/net-libs/webkit-gtk/Manifest
22 +++ b/net-libs/webkit-gtk/Manifest
23 @@ -1,2 +1 @@
24 -DIST webkitgtk-2.28.3.tar.xz 21425556 BLAKE2B f51522c33fa97aa00dee1428bc256ef910dd8764b3731580639c79642965c60b91b8d2f5c1d3bdb60975c68706d415447e8b52520ecfa1687968f3790137234b SHA512 575184edb8279f1dca67cbeeb45280ca5da9aa388e208251d9ad7a56907950cfd85b1fc426eee90699593c428f4e1037c96cb6aa16f534c71734c64950f2d643
25 DIST webkitgtk-2.28.4.tar.xz 21424908 BLAKE2B 5ca9206c3c7d0a00bc76487ae8fe79e6c5b94a86f23300f196b3edbd5e3f1ea68768ef4465b32fa694a7b6a4a2b274dfb9dba4a20b8329f9138970f1a82eb7e6 SHA512 227cd4066235180521a32a83d3a906212adf4f234f15a1fff4ac86b48e39c431f1e0cb4a56f62924015099a0c8909a73a21a56f8dc71a16c53ac65de4a5773a1
26
27 diff --git a/net-libs/webkit-gtk/files/2.28.3-non-jumbo-fix2.patch b/net-libs/webkit-gtk/files/2.28.3-non-jumbo-fix2.patch
28 deleted file mode 100644
29 index 6813906..0000000
30 --- a/net-libs/webkit-gtk/files/2.28.3-non-jumbo-fix2.patch
31 +++ /dev/null
32 @@ -1,44 +0,0 @@
33 -From f6b0ae5334eb9de1858b5f3b0edc2f7245087cab Mon Sep 17 00:00:00 2001
34 -From: Mart Raudsepp <leio@g.o>
35 -Date: Sat, 11 Jul 2020 15:28:05 +0300
36 -Subject: [PATCH] Try to fix another apparent non-unified build error
37 -MIME-Version: 1.0
38 -Content-Type: text/plain; charset=UTF-8
39 -Content-Transfer-Encoding: 8bit
40 -
41 -Source/WebCore/rendering/svg/RenderSVGResourceClipper.h:70:42: required from here
42 -/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/bits/unique_ptr.h:79:16: error: invalid application of ‘sizeof’ to incomplete type ‘WebCore::ImageBuffer’
43 - 79 | static_assert(sizeof(_Tp)>0,
44 - | ^~~~~~~~~~~
45 ----
46 - Source/WebCore/rendering/svg/RenderSVGResourceClipper.h | 1 +
47 - 1 file changed, 1 insertion(+)
48 -
49 -diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
50 -index 55d9e34df61..12a7a83cc61 100644
51 ---- a/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
52 -+++ b/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
53 -@@ -19,6 +19,7 @@
54 -
55 - #pragma once
56 -
57 -+#include "ImageBuffer.h"
58 - #include "RenderSVGResourceContainer.h"
59 - #include "SVGClipPathElement.h"
60 - #include "SVGUnitTypes.h"
61 -diff --git a/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp b/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
62 -index ec2fbe165b1..ab0688615a6 100644
63 ---- a/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
64 -+++ b/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
65 -@@ -42,6 +42,8 @@
66 - #include "HTTPParsers.h"
67 - #include "InlineClassicScript.h"
68 - #include "MIMETypeRegistry.h"
69 -+#include "Page.h"
70 -+#include "PageConsoleClient.h"
71 - #include "PendingScript.h"
72 - #include "ProcessingInstruction.h"
73 - #include "ResourceError.h"
74 ---
75 -2.20.1
76 -
77
78 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-2.28.1-lower-stack-usage.patch b/net-libs/webkit-gtk/files/webkit-gtk-2.28.1-lower-stack-usage.patch
79 deleted file mode 100644
80 index 71955f3..0000000
81 --- a/net-libs/webkit-gtk/files/webkit-gtk-2.28.1-lower-stack-usage.patch
82 +++ /dev/null
83 @@ -1,17 +0,0 @@
84 -diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h
85 -index 41cab118..2ac66c7a 100644
86 ---- a/Source/JavaScriptCore/runtime/OptionsList.h
87 -+++ b/Source/JavaScriptCore/runtime/OptionsList.h
88 -@@ -90,9 +90,9 @@ constexpr bool enableWebAssemblyStreamingApi = false;
89 - \
90 - v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
91 - \
92 -- v(Unsigned, maxPerThreadStackUsage, 5 * MB, Normal, "Max allowed stack usage by the VM") \
93 -- v(Unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
94 -- v(Unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
95 -+ v(Unsigned, maxPerThreadStackUsage, 80 * KB , Normal, "Max allowed stack usage by the VM") \
96 -+ v(Unsigned, softReservedZoneSize, 32 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
97 -+ v(Unsigned, reservedZoneSize, 16 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
98 - \
99 - v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
100 - v(Unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \
101
102 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.28.3.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.28.3.ebuild
103 deleted file mode 100644
104 index 0a6e751..0000000
105 --- a/net-libs/webkit-gtk/webkit-gtk-2.28.3.ebuild
106 +++ /dev/null
107 @@ -1,299 +0,0 @@
108 -# Copyright 1999-2020 Gentoo Authors
109 -# Distributed under the terms of the GNU General Public License v2
110 -
111 -EAPI=6
112 -CMAKE_MAKEFILE_GENERATOR="ninja"
113 -PYTHON_COMPAT=( python{3_6,3_7} )
114 -USE_RUBY="ruby24 ruby25 ruby26 ruby27"
115 -CMAKE_MIN_VERSION=3.10
116 -
117 -inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
118 -
119 -MY_P="webkitgtk-${PV}"
120 -DESCRIPTION="Open source web browser engine"
121 -HOMEPAGE="https://www.webkitgtk.org"
122 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
123 -
124 -LICENSE="LGPL-2+ BSD"
125 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
126 -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~sparc x86"
127 -
128 -IUSE="aqua +egl +geolocation gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build libnotify +opengl seccomp spell wayland +X"
129 -
130 -# gstreamer with opengl/gles2 needs egl
131 -REQUIRED_USE="
132 - gles2-only? ( egl !opengl )
133 - gstreamer? ( opengl? ( egl ) )
134 - wayland? ( egl )
135 - || ( aqua wayland X )
136 -"
137 -
138 -# Tests fail to link for inexplicable reasons
139 -# https://bugs.webkit.org/show_bug.cgi?id=148210
140 -RESTRICT="test"
141 -
142 -# Aqua support in gtk3 is untested
143 -# Dependencies found at Source/cmake/OptionsGTK.cmake
144 -# Various compile-time optionals for gtk+-3.22.0 - ensure it
145 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.26
146 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
147 -wpe_depend="
148 - >=gui-libs/libwpe-1.3.0:1.0
149 - >=gui-libs/wpebackend-fdo-1.3.1:1.0
150 -"
151 -# TODO: gst-plugins-base[X] is only needed when build configuration ends up with GLX set, but that's a bit automagic too to fix
152 -RDEPEND="
153 - >=x11-libs/cairo-1.16.0:=[X?]
154 - >=media-libs/fontconfig-2.13.0:1.0
155 - >=media-libs/freetype-2.9.0:2
156 - >=dev-libs/libgcrypt-1.7.0:0=
157 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
158 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
159 - >=dev-libs/icu-3.8.1-r1:=
160 - virtual/jpeg:0=
161 - >=net-libs/libsoup-2.54:2.4[introspection?]
162 - >=dev-libs/libxml2-2.8.0:2
163 - >=media-libs/libpng-1.4:0=
164 - dev-db/sqlite:3=
165 - sys-libs/zlib:0
166 - >=dev-libs/atk-2.16.0
167 - media-libs/libwebp:=
168 -
169 - >=dev-libs/glib-2.44.0:2
170 - >=dev-libs/libxslt-1.1.7
171 - media-libs/woff2
172 - gnome-keyring? ( app-crypt/libsecret )
173 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
174 - dev-libs/libtasn1:=
175 - spell? ( >=app-text/enchant-0.22:2 )
176 - gstreamer? (
177 - >=media-libs/gstreamer-1.14:1.0
178 - >=media-libs/gst-plugins-base-1.14:1.0[egl?,opengl?,X?]
179 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
180 - >=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
181 - >=media-libs/gst-plugins-bad-1.14:1.0 )
182 -
183 - X? (
184 - x11-libs/libX11
185 - x11-libs/libXcomposite
186 - x11-libs/libXdamage
187 - x11-libs/libXrender
188 - x11-libs/libXt )
189 -
190 - libnotify? ( x11-libs/libnotify )
191 - dev-libs/hyphen
192 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
193 -
194 - egl? ( media-libs/mesa[egl] )
195 - gles2-only? ( media-libs/mesa[gles2] )
196 - opengl? ( virtual/opengl )
197 - wayland? (
198 - dev-libs/wayland
199 - >=dev-libs/wayland-protocols-1.12
200 - opengl? ( ${wpe_depend} )
201 - gles2-only? ( ${wpe_depend} )
202 - )
203 -
204 - seccomp? (
205 - >=sys-apps/bubblewrap-0.3.1
206 - sys-libs/libseccomp
207 - sys-apps/xdg-dbus-proxy
208 - )
209 -"
210 -unset wpe_depend
211 -# paxctl needed for bug #407085
212 -# Need real bison, not yacc
213 -DEPEND="${RDEPEND}
214 - ${PYTHON_DEPS}
215 - ${RUBY_DEPS}
216 - >=app-accessibility/at-spi2-core-2.5.3
217 - dev-util/glib-utils
218 - >=dev-util/gperf-3.0.1
219 - >=sys-devel/bison-2.4.3
220 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
221 - sys-devel/gettext
222 - virtual/pkgconfig
223 -
224 - >=dev-lang/perl-5.10
225 - virtual/perl-Data-Dumper
226 - virtual/perl-Carp
227 - virtual/perl-JSON-PP
228 -
229 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
230 - geolocation? ( dev-util/gdbus-codegen )
231 -"
232 -# test? (
233 -# dev-python/pygobject:3[python_targets_python2_7]
234 -# x11-themes/hicolor-icon-theme
235 -# jit? ( sys-apps/paxctl ) )
236 -RDEPEND="${RDEPEND}
237 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
238 -"
239 -
240 -S="${WORKDIR}/${MY_P}"
241 -
242 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
243 -
244 -pkg_pretend() {
245 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
246 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
247 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
248 - check-reqs_pkg_pretend
249 - fi
250 -
251 - if ! test-flag-CXX -std=c++17 ; then
252 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
253 - fi
254 - fi
255 -
256 - if ! use opengl && ! use gles2-only; then
257 - ewarn
258 - ewarn "You are disabling OpenGL usage (USE=opengl or USE=gles2-only) completely."
259 - ewarn "This is an unsupported configuration meant for very specific embedded"
260 - ewarn "use cases, where there truly is no GL possible (and even that use case"
261 - ewarn "is very unlikely to come by). If you have GL (even software-only), you"
262 - ewarn "really really should be enabling OpenGL!"
263 - ewarn
264 - fi
265 -}
266 -
267 -pkg_setup() {
268 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
269 - check-reqs_pkg_setup
270 - fi
271 -
272 - python-any-r1_pkg_setup
273 -}
274 -
275 -src_prepare() {
276 - eapply "${FILESDIR}/${PN}-2.24.4-eglmesaext-include.patch" # bug 699054 # https://bugs.webkit.org/show_bug.cgi?id=204108
277 - eapply "${FILESDIR}"/2.28.2-opengl-without-X-fixes.patch
278 - eapply "${FILESDIR}"/2.28.2-non-jumbo-fix.patch
279 - eapply "${FILESDIR}"/2.28.3-non-jumbo-fix2.patch
280 - if use elibc_musl ; then
281 - # Taken from https://git.alpinelinux.org/aports/tree/community/webkit2gtk/musl-fixes.patch?id=be463923b10a7268117c27c7e5515fc32457918c
282 - eapply "${FILESDIR}/${PN}-2.28.1-musl.patch"
283 - eapply "${FILESDIR}/${PN}-2.28.1-lower-stack-usage.patch"
284 - fi
285 - cmake-utils_src_prepare
286 - gnome2_src_prepare
287 -}
288 -
289 -src_configure() {
290 - # Respect CC, otherwise fails on prefix #395875
291 - tc-export CC
292 -
293 - # It does not compile on alpha without this in LDFLAGS
294 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
295 - use alpha && append-ldflags "-Wl,--no-relax"
296 -
297 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
298 - use ia64 && append-ldflags "-Wl,--no-as-needed"
299 -
300 - # Sigbuses on SPARC with mcpu and co., bug #???
301 - use sparc && filter-flags "-mvis"
302 -
303 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
304 - use ppc64 && append-flags "-mminimal-toc"
305 -
306 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
307 - # --no-keep-memory doesn't work on ia64, bug #502492
308 - if ! use ia64; then
309 - append-ldflags "-Wl,--no-keep-memory"
310 - fi
311 -
312 - # We try to use gold when possible for this package
313 -# if ! tc-ld-is-gold ; then
314 -# append-ldflags "-Wl,--reduce-memory-overheads"
315 -# fi
316 -
317 - # Ruby situation is a bit complicated. See bug 513888
318 - local rubyimpl
319 - local ruby_interpreter=""
320 - for rubyimpl in ${USE_RUBY}; do
321 - if has_version --host-root "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
322 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
323 - fi
324 - done
325 - # This will rarely occur. Only a couple of corner cases could lead us to
326 - # that failure. See bug 513888
327 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
328 -
329 - # TODO: Check Web Audio support
330 - # should somehow let user select between them?
331 - #
332 - # opengl needs to be explicetly handled, bug #576634
333 -
334 - local use_wpe_renderer=OFF
335 - local opengl_enabled
336 - if use opengl || use gles2-only; then
337 - opengl_enabled=ON
338 - use wayland && use_wpe_renderer=ON
339 - else
340 - opengl_enabled=OFF
341 - fi
342 -
343 - local mycmakeargs=(
344 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
345 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
346 - -DENABLE_API_TESTS=$(usex test)
347 - -DENABLE_GTKDOC=$(usex gtk-doc)
348 - -DENABLE_GEOLOCATION=$(usex geolocation) # Runtime optional (talks over dbus service)
349 - $(cmake-utils_use_find_package gles2-only OpenGLES2)
350 - -DENABLE_GLES2=$(usex gles2-only)
351 - -DENABLE_VIDEO=$(usex gstreamer)
352 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
353 - -DENABLE_INTROSPECTION=$(usex introspection)
354 - -DUSE_LIBNOTIFY=$(usex libnotify)
355 - -DUSE_LIBSECRET=$(usex gnome-keyring)
356 - -DUSE_OPENJPEG=$(usex jpeg2k)
357 - -DUSE_WOFF2=ON
358 - -DENABLE_SPELLCHECK=$(usex spell)
359 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
360 - -DUSE_WPE_RENDERER=${use_wpe_renderer} # WPE renderer is used to implement accelerated compositing under wayland
361 - $(cmake-utils_use_find_package egl EGL)
362 - $(cmake-utils_use_find_package opengl OpenGL)
363 - -DENABLE_X11_TARGET=$(usex X)
364 - -DENABLE_OPENGL=${opengl_enabled}
365 - -DENABLE_WEBGL=${opengl_enabled}
366 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
367 - -DBWRAP_EXECUTABLE="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
368 - -DCMAKE_BUILD_TYPE=Release
369 - -DPORT=GTK
370 - ${ruby_interpreter}
371 - )
372 -
373 - if use elibc_musl ; then
374 - mycmakeargs+=( -DENABLE_SAMPLING_PROFILER=OFF )
375 - fi
376 -
377 - # Allow it to use GOLD when possible as it has all the magic to
378 - # detect when to use it and using gold for this concrete package has
379 - # multiple advantages and is also the upstream default, bug #585788
380 -# if tc-ld-is-gold ; then
381 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
382 -# else
383 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
384 -# fi
385 -
386 - WK_USE_CCACHE=NO cmake-utils_src_configure
387 -}
388 -
389 -src_compile() {
390 - cmake-utils_src_compile
391 -}
392 -
393 -src_test() {
394 - # Prevents test failures on PaX systems
395 - pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
396 -
397 - cmake-utils_src_test
398 -}
399 -
400 -src_install() {
401 - cmake-utils_src_install
402 -
403 - # Prevents crashes on PaX systems, bug #522808
404 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
405 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
406 -}