Gentoo Archives: gentoo-commits

From: Jory Pratt <anarchy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: net-libs/webkit-gtk/
Date: Sat, 23 Jan 2021 01:49:02
Message-Id: 1611366495.dab933835a083ba3ad99877b9d932acaf4c7ddc3.anarchy@gentoo
1 commit: dab933835a083ba3ad99877b9d932acaf4c7ddc3
2 Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz>
3 AuthorDate: Sun Dec 27 16:05:46 2020 +0000
4 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 23 01:48:15 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=dab93383
7
8 net-libs/webkit-gtk: security cleanup
9
10 Package-Manager: Portage-3.0.9, Repoman-3.0.2
11 Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
12 Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
13
14 net-libs/webkit-gtk/Manifest | 1 -
15 net-libs/webkit-gtk/webkit-gtk-2.28.4.ebuild | 299 ---------------------------
16 2 files changed, 300 deletions(-)
17
18 diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest
19 index ab2f785..5e05ea7 100644
20 --- a/net-libs/webkit-gtk/Manifest
21 +++ b/net-libs/webkit-gtk/Manifest
22 @@ -1,2 +1 @@
23 -DIST webkitgtk-2.28.4.tar.xz 21424908 BLAKE2B 5ca9206c3c7d0a00bc76487ae8fe79e6c5b94a86f23300f196b3edbd5e3f1ea68768ef4465b32fa694a7b6a4a2b274dfb9dba4a20b8329f9138970f1a82eb7e6 SHA512 227cd4066235180521a32a83d3a906212adf4f234f15a1fff4ac86b48e39c431f1e0cb4a56f62924015099a0c8909a73a21a56f8dc71a16c53ac65de4a5773a1
24 DIST webkitgtk-2.30.3.tar.xz 22311704 BLAKE2B d5a8ba1fe7fbbcd3d8504ad98650ec685a41ddaa43e1392172cf7840100157a283e4ccf4cf62f2f581deffd8d860cf61b43fe59178b02306efb88c8e1a803520 SHA512 cbb8298bdb791eb60a214c36ec9ced398fc5c07f580d60d001483ca3f616a309394013239affd16f6eefd8c2fb178bbf5b566ab4480fe3349e1856c80ec78ddf
25
26 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.28.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.28.4.ebuild
27 deleted file mode 100644
28 index 074f545..0000000
29 --- a/net-libs/webkit-gtk/webkit-gtk-2.28.4.ebuild
30 +++ /dev/null
31 @@ -1,299 +0,0 @@
32 -# Copyright 1999-2020 Gentoo Authors
33 -# Distributed under the terms of the GNU General Public License v2
34 -
35 -EAPI=6
36 -CMAKE_MAKEFILE_GENERATOR="ninja"
37 -PYTHON_COMPAT=( python{3_6,3_7} )
38 -USE_RUBY="ruby24 ruby25 ruby26 ruby27"
39 -CMAKE_MIN_VERSION=3.10
40 -
41 -inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
42 -
43 -MY_P="webkitgtk-${PV}"
44 -DESCRIPTION="Open source web browser engine"
45 -HOMEPAGE="https://www.webkitgtk.org"
46 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
47 -
48 -LICENSE="LGPL-2+ BSD"
49 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
50 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~sparc ~x86"
51 -
52 -IUSE="aqua +egl +geolocation gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build libnotify +opengl seccomp spell wayland +X"
53 -
54 -# gstreamer with opengl/gles2 needs egl
55 -REQUIRED_USE="
56 - gles2-only? ( egl !opengl )
57 - gstreamer? ( opengl? ( egl ) )
58 - wayland? ( egl )
59 - || ( aqua wayland X )
60 -"
61 -
62 -# Tests fail to link for inexplicable reasons
63 -# https://bugs.webkit.org/show_bug.cgi?id=148210
64 -RESTRICT="test"
65 -
66 -# Aqua support in gtk3 is untested
67 -# Dependencies found at Source/cmake/OptionsGTK.cmake
68 -# Various compile-time optionals for gtk+-3.22.0 - ensure it
69 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.26
70 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
71 -wpe_depend="
72 - >=gui-libs/libwpe-1.3.0:1.0
73 - >=gui-libs/wpebackend-fdo-1.3.1:1.0
74 -"
75 -# 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
76 -RDEPEND="
77 - >=x11-libs/cairo-1.16.0:=[X?]
78 - >=media-libs/fontconfig-2.13.0:1.0
79 - >=media-libs/freetype-2.9.0:2
80 - >=dev-libs/libgcrypt-1.7.0:0=
81 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
82 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
83 - >=dev-libs/icu-3.8.1-r1:=
84 - virtual/jpeg:0=
85 - >=net-libs/libsoup-2.54:2.4[introspection?]
86 - >=dev-libs/libxml2-2.8.0:2
87 - >=media-libs/libpng-1.4:0=
88 - dev-db/sqlite:3=
89 - sys-libs/zlib:0
90 - >=dev-libs/atk-2.16.0
91 - media-libs/libwebp:=
92 -
93 - >=dev-libs/glib-2.44.0:2
94 - >=dev-libs/libxslt-1.1.7
95 - media-libs/woff2
96 - gnome-keyring? ( app-crypt/libsecret )
97 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
98 - dev-libs/libtasn1:=
99 - spell? ( >=app-text/enchant-0.22:2 )
100 - gstreamer? (
101 - >=media-libs/gstreamer-1.14:1.0
102 - >=media-libs/gst-plugins-base-1.14:1.0[egl?,opengl?,X?]
103 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
104 - >=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
105 - >=media-libs/gst-plugins-bad-1.14:1.0 )
106 -
107 - X? (
108 - x11-libs/libX11
109 - x11-libs/libXcomposite
110 - x11-libs/libXdamage
111 - x11-libs/libXrender
112 - x11-libs/libXt )
113 -
114 - libnotify? ( x11-libs/libnotify )
115 - dev-libs/hyphen
116 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
117 -
118 - egl? ( media-libs/mesa[egl] )
119 - gles2-only? ( media-libs/mesa[gles2] )
120 - opengl? ( virtual/opengl )
121 - wayland? (
122 - dev-libs/wayland
123 - >=dev-libs/wayland-protocols-1.12
124 - opengl? ( ${wpe_depend} )
125 - gles2-only? ( ${wpe_depend} )
126 - )
127 -
128 - seccomp? (
129 - >=sys-apps/bubblewrap-0.3.1
130 - sys-libs/libseccomp
131 - sys-apps/xdg-dbus-proxy
132 - )
133 -"
134 -unset wpe_depend
135 -# paxctl needed for bug #407085
136 -# Need real bison, not yacc
137 -DEPEND="${RDEPEND}
138 - ${PYTHON_DEPS}
139 - ${RUBY_DEPS}
140 - >=app-accessibility/at-spi2-core-2.5.3
141 - dev-util/glib-utils
142 - >=dev-util/gperf-3.0.1
143 - >=sys-devel/bison-2.4.3
144 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
145 - sys-devel/gettext
146 - virtual/pkgconfig
147 -
148 - >=dev-lang/perl-5.10
149 - virtual/perl-Data-Dumper
150 - virtual/perl-Carp
151 - virtual/perl-JSON-PP
152 -
153 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
154 - geolocation? ( dev-util/gdbus-codegen )
155 -"
156 -# test? (
157 -# dev-python/pygobject:3[python_targets_python2_7]
158 -# x11-themes/hicolor-icon-theme
159 -# jit? ( sys-apps/paxctl ) )
160 -RDEPEND="${RDEPEND}
161 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
162 -"
163 -
164 -S="${WORKDIR}/${MY_P}"
165 -
166 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
167 -
168 -pkg_pretend() {
169 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
170 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
171 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
172 - check-reqs_pkg_pretend
173 - fi
174 -
175 - if ! test-flag-CXX -std=c++17 ; then
176 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
177 - fi
178 - fi
179 -
180 - if ! use opengl && ! use gles2-only; then
181 - ewarn
182 - ewarn "You are disabling OpenGL usage (USE=opengl or USE=gles2-only) completely."
183 - ewarn "This is an unsupported configuration meant for very specific embedded"
184 - ewarn "use cases, where there truly is no GL possible (and even that use case"
185 - ewarn "is very unlikely to come by). If you have GL (even software-only), you"
186 - ewarn "really really should be enabling OpenGL!"
187 - ewarn
188 - fi
189 -}
190 -
191 -pkg_setup() {
192 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
193 - check-reqs_pkg_setup
194 - fi
195 -
196 - python-any-r1_pkg_setup
197 -}
198 -
199 -src_prepare() {
200 - eapply "${FILESDIR}/${PN}-2.24.4-eglmesaext-include.patch" # bug 699054 # https://bugs.webkit.org/show_bug.cgi?id=204108
201 - eapply "${FILESDIR}"/2.28.2-opengl-without-X-fixes.patch
202 - eapply "${FILESDIR}"/2.28.2-non-jumbo-fix.patch
203 - eapply "${FILESDIR}"/2.28.4-non-jumbo-fix2.patch
204 - if use elibc_musl ; then
205 - # Taken from https://git.alpinelinux.org/aports/tree/community/webkit2gtk/musl-fixes.patch?id=be463923b10a7268117c27c7e5515fc32457918c
206 - eapply "${FILESDIR}/${PN}-2.28.1-musl.patch"
207 - eapply "${FILESDIR}/${PN}-2.28.4-lower-stack-usage.patch"
208 - fi
209 - cmake-utils_src_prepare
210 - gnome2_src_prepare
211 -}
212 -
213 -src_configure() {
214 - # Respect CC, otherwise fails on prefix #395875
215 - tc-export CC
216 -
217 - # It does not compile on alpha without this in LDFLAGS
218 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
219 - use alpha && append-ldflags "-Wl,--no-relax"
220 -
221 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
222 - use ia64 && append-ldflags "-Wl,--no-as-needed"
223 -
224 - # Sigbuses on SPARC with mcpu and co., bug #???
225 - use sparc && filter-flags "-mvis"
226 -
227 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
228 - use ppc64 && append-flags "-mminimal-toc"
229 -
230 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
231 - # --no-keep-memory doesn't work on ia64, bug #502492
232 - if ! use ia64; then
233 - append-ldflags "-Wl,--no-keep-memory"
234 - fi
235 -
236 - # We try to use gold when possible for this package
237 -# if ! tc-ld-is-gold ; then
238 -# append-ldflags "-Wl,--reduce-memory-overheads"
239 -# fi
240 -
241 - # Ruby situation is a bit complicated. See bug 513888
242 - local rubyimpl
243 - local ruby_interpreter=""
244 - for rubyimpl in ${USE_RUBY}; do
245 - if has_version --host-root "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
246 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
247 - fi
248 - done
249 - # This will rarely occur. Only a couple of corner cases could lead us to
250 - # that failure. See bug 513888
251 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
252 -
253 - # TODO: Check Web Audio support
254 - # should somehow let user select between them?
255 - #
256 - # opengl needs to be explicetly handled, bug #576634
257 -
258 - local use_wpe_renderer=OFF
259 - local opengl_enabled
260 - if use opengl || use gles2-only; then
261 - opengl_enabled=ON
262 - use wayland && use_wpe_renderer=ON
263 - else
264 - opengl_enabled=OFF
265 - fi
266 -
267 - local mycmakeargs=(
268 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
269 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
270 - -DENABLE_API_TESTS=$(usex test)
271 - -DENABLE_GTKDOC=$(usex gtk-doc)
272 - -DENABLE_GEOLOCATION=$(usex geolocation) # Runtime optional (talks over dbus service)
273 - $(cmake-utils_use_find_package gles2-only OpenGLES2)
274 - -DENABLE_GLES2=$(usex gles2-only)
275 - -DENABLE_VIDEO=$(usex gstreamer)
276 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
277 - -DENABLE_INTROSPECTION=$(usex introspection)
278 - -DUSE_LIBNOTIFY=$(usex libnotify)
279 - -DUSE_LIBSECRET=$(usex gnome-keyring)
280 - -DUSE_OPENJPEG=$(usex jpeg2k)
281 - -DUSE_WOFF2=ON
282 - -DENABLE_SPELLCHECK=$(usex spell)
283 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
284 - -DUSE_WPE_RENDERER=${use_wpe_renderer} # WPE renderer is used to implement accelerated compositing under wayland
285 - $(cmake-utils_use_find_package egl EGL)
286 - $(cmake-utils_use_find_package opengl OpenGL)
287 - -DENABLE_X11_TARGET=$(usex X)
288 - -DENABLE_OPENGL=${opengl_enabled}
289 - -DENABLE_WEBGL=${opengl_enabled}
290 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
291 - -DBWRAP_EXECUTABLE="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
292 - -DCMAKE_BUILD_TYPE=Release
293 - -DPORT=GTK
294 - ${ruby_interpreter}
295 - )
296 -
297 - if use elibc_musl ; then
298 - mycmakeargs+=( -DENABLE_SAMPLING_PROFILER=OFF )
299 - fi
300 -
301 - # Allow it to use GOLD when possible as it has all the magic to
302 - # detect when to use it and using gold for this concrete package has
303 - # multiple advantages and is also the upstream default, bug #585788
304 -# if tc-ld-is-gold ; then
305 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
306 -# else
307 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
308 -# fi
309 -
310 - WK_USE_CCACHE=NO cmake-utils_src_configure
311 -}
312 -
313 -src_compile() {
314 - cmake-utils_src_compile
315 -}
316 -
317 -src_test() {
318 - # Prevents test failures on PaX systems
319 - pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
320 -
321 - cmake-utils_src_test
322 -}
323 -
324 -src_install() {
325 - cmake-utils_src_install
326 -
327 - # Prevents crashes on PaX systems, bug #522808
328 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
329 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
330 -}