Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 919109 Details for
Bug 946940
net-libs/webkit-gtk: Enable LTO
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
net-libs/webkit-gtk: 2.46.6 version bump
webkit-gtk (text/plain), 29.77 KB, created by
zyxhere
on 2025-02-16 16:04:58 UTC
(
hide
)
Description:
net-libs/webkit-gtk: 2.46.6 version bump
Filename:
MIME Type:
Creator:
zyxhere
Created:
2025-02-16 16:04:58 UTC
Size:
29.77 KB
patch
obsolete
>commit 2f5bd29a0a80a02a7b7bffa088e441a4e6f0ef8c >Author: zyxhere <zyx@envs.net> >Date: Sun Feb 16 20:55:00 2025 +0500 > > net-libs/webkit-gtk: version bump to 2.46.6 > > The icu patch was dropped as it's no longer required. > LTO was enabled since upstream supports it and -Werror=odr > was filtered out since upstream also filters it out. > > Bug: https://bugs.gentoo.org/943213 > Signed-off-by: zyxhere <zyx@envs.net> >--- > net-libs/webkit-gtk/Manifest | 1 + > net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch | 31 --- > net-libs/webkit-gtk/webkit-gtk-2.46.6-r410.ebuild | 262 +++++++++++++++++++ > net-libs/webkit-gtk/webkit-gtk-2.46.6-r600.ebuild | 278 +++++++++++++++++++++ > net-libs/webkit-gtk/webkit-gtk-2.46.6.ebuild | 262 +++++++++++++++++++ > 5 files changed, 803 insertions(+), 31 deletions(-) > >diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest >index 0b9f831d4403..7ed218928c71 100644 >--- a/net-libs/webkit-gtk/Manifest >+++ b/net-libs/webkit-gtk/Manifest >@@ -1,2 +1,3 @@ > DIST webkitgtk-2.44.4.tar.xz 35858056 BLAKE2B 9e3d016bfb2b4e80d2ebeda95e75f8ec8b909b41b17a879d3e1119ed66e3bf4d590a22ed814bb1572dac8d8a8838bb37b5ab1372121b276e02ee8925f6c5b00c SHA512 037ef6a9faca68b68dc62927a475134450493129043ea6cc03595cd4a684d590f80a1e9c3ed40a9176874ba43fc9efbc5065a264dfe131ebd72e272756612db9 > DIST webkitgtk-2.46.5.tar.xz 42898600 BLAKE2B 04f824f9864749c13810318c06e5da90265025062a706030bece73661cf89b8d972040c508ca5b4267d476f9dac8fcdaa82943409f6ae45ab84801d899a1ed7f SHA512 9a0eb018361d407f13b303f66babcdc9960075bf69b83cf2ee8f708e5396cfa9e0a720f77695aea216072392e0603c2dc8ad50e6d56f962d4a52e9cdadf38275 >+DIST webkitgtk-2.46.6.tar.xz 42914744 BLAKE2B 9428b17c4dd605667ba189da1587f6114eb175b319155f9c6e55c71f2b6a638778434dd0b5b32a5ee8320d1f69b622a5b0aac530d6e75ee3c17ba406ebfab7da SHA512 2b9a004ea1d70e9b5298a0964ed04> >diff --git a/net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch b/net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch >deleted file mode 100644 >index f60c1651a04f..000000000000 >--- a/net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch >+++ /dev/null >@@ -1,31 +0,0 @@ >-https://bugs.gentoo.org/943213 >-https://bugs.webkit.org/show_bug.cgi?id=282120 >-https://github.com/WebKit/WebKit/commit/63f7badbada070ebaadd318b2801818ecf7e7ea0 >-https://github.com/WebKit/WebKit/pull/35743 >-https://unicode-org.atlassian.net/jira/software/c/projects/ICU/issues/ICU-22954 >- >-From 63f7badbada070ebaadd318b2801818ecf7e7ea0 Mon Sep 17 00:00:00 2001 >-From: Don Olmstead <don.olmstead@sony.com> >-Date: Sat, 26 Oct 2024 08:27:01 -0700 >-Subject: [PATCH] Support ICU 76.1 build >- https://bugs.webkit.org/show_bug.cgi?id=282120 >- >-Reviewed by Yusuke Suzuki. >- >-In ICU 76.1 an additional macro `U_SHOW_CPLUSPLUS_HEADER_API` was added to >-control visibility of the C++ API within ICU. Set this value to `0` since WebKit >-wants to only use the C API. >- >-* Source/WTF/wtf/Platform.h: >- >-Canonical link: https://commits.webkit.org/285727@main >---- a/Source/WTF/wtf/Platform.h >-+++ b/Source/WTF/wtf/Platform.h >-@@ -115,6 +115,7 @@ >- /* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */ >- #define U_HIDE_DEPRECATED_API 1 >- #define U_SHOW_CPLUSPLUS_API 0 >-+#define U_SHOW_CPLUSPLUS_HEADER_API 0 >- #ifdef __cplusplus >- #define UCHAR_TYPE char16_t >- #endif >diff --git a/net-libs/webkit-gtk/webkit-gtk-2.46.6-r410.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.46.6-r410.ebuild >new file mode 100644 >index 000000000000..22361abf93c8 >--- /dev/null >+++ b/net-libs/webkit-gtk/webkit-gtk-2.46.6-r410.ebuild >@@ -0,0 +1,262 @@ >+# Copyright 1999-2025 Gentoo Authors >+# Distributed under the terms of the GNU General Public License v2 >+ >+EAPI=8 >+PYTHON_REQ_USE="xml(+)" >+PYTHON_COMPAT=( python3_{10..13} ) >+USE_RUBY="ruby31 ruby32 ruby33 ruby34" >+ >+inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake >+ >+MY_P="webkitgtk-${PV}" >+DESCRIPTION="Open source web browser engine" >+HOMEPAGE="https://www.webkitgtk.org" >+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz" >+ >+S="${WORKDIR}/${MY_P}" >+ >+LICENSE="LGPL-2+ BSD" >+SLOT="4.1/0" # soname version of libwebkit2gtk-4.1 >+KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~sparc ~x86" >+ >+IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X" >+REQUIRED_USE="|| ( aqua wayland X )" >+ >+# Tests do not run when built from tarballs >+# https://bugs.webkit.org/show_bug.cgi?id=215986 >+RESTRICT="test" >+ >+# Dependencies can be found in Source/cmake/OptionsGTK.cmake. >+# >+# * Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream. >+# >+# * media-libs/mesa dep is for libgbm >+# >+# * >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE) >+# >+# * 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 >+# >+# * Cairo is only needed on big-endian systems, where Skia is not officially >+# supported (the build system will choose a backend for you). We could probably >+# hard-code a list of BE arches here, to avoid the extra dependency? But I am >+# holding out hope that this might actually get fixed before we need to do that. >+# >+# * dev-util/sysprof-capture is disabled because it was a new dependency in 2.46 >+# and we don't need any more new problems. >+# >+RDEPEND=" >+ app-accessibility/at-spi2-core:2 >+ dev-db/sqlite:3 >+ dev-libs/glib:2 >+ dev-libs/hyphen >+ dev-libs/icu:= >+ dev-libs/libgcrypt:0= >+ dev-libs/libtasn1:= >+ dev-libs/libxml2:2 >+ dev-libs/libxslt >+ media-libs/fontconfig:1.0 >+ media-libs/freetype:2 >+ media-libs/harfbuzz:=[icu(+)] >+ media-libs/libjpeg-turbo:0= >+ media-libs/libepoxy[egl(+)] >+ media-libs/libglvnd >+ media-libs/libpng:0= >+ media-libs/libwebp:= >+ media-libs/mesa >+ media-libs/woff2 >+ net-libs/libsoup:3.0[introspection?] >+ sys-libs/zlib:0 >+ x11-libs/cairo[X?] >+ x11-libs/gtk+:3[aqua?,introspection?,wayland?,X?] >+ x11-libs/libdrm >+ avif? ( media-libs/libavif:= ) >+ gamepad? ( dev-libs/libmanette ) >+ gstreamer? ( >+ media-libs/gstreamer:1.0 >+ media-libs/gst-plugins-base:1.0[egl,opengl,X?] >+ media-plugins/gst-plugins-opus:1.0 >+ media-libs/gst-plugins-bad:1.0 >+ ) >+ introspection? ( dev-libs/gobject-introspection:= ) >+ jpegxl? ( media-libs/libjxl:= ) >+ keyring? ( app-crypt/libsecret ) >+ lcms? ( media-libs/lcms:2 ) >+ seccomp? ( >+ sys-apps/bubblewrap >+ sys-libs/libseccomp >+ sys-apps/xdg-dbus-proxy >+ ) >+ spell? ( app-text/enchant:2 ) >+ systemd? ( sys-apps/systemd:= ) >+ X? ( x11-libs/libX11 ) >+ wayland? ( >+ dev-libs/wayland >+ dev-libs/wayland-protocols >+ ) >+" >+DEPEND="${RDEPEND}" >+# Need real bison, not yacc >+BDEPEND=" >+ ${PYTHON_DEPS} >+ ${RUBY_DEPS} >+ app-accessibility/at-spi2-core >+ dev-lang/perl >+ dev-util/gdbus-codegen >+ dev-util/glib-utils >+ dev-util/gperf >+ dev-util/unifdef >+ sys-devel/bison >+ sys-devel/gettext >+ virtual/perl-Data-Dumper >+ virtual/perl-Carp >+ virtual/perl-JSON-PP >+ virtual/pkgconfig >+ wayland? ( dev-util/wayland-scanner ) >+" >+ >+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 >+ >+# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and >+# gnome2_src_prepare, and both apply ${PATCHES[@]} >+PATCHES=() >+ >+pkg_pretend() { >+ if [[ ${MERGE_TYPE} != "binary" ]] ; then >+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" >+ check-reqs_pkg_pretend >+ fi >+ >+ if ! test-flag-CXX -std=c++17 ; then >+ die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags" >+ fi >+ fi >+} >+ >+pkg_setup() { >+ if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ check-reqs_pkg_setup >+ fi >+ >+ python-any-r1_pkg_setup >+} >+ >+src_prepare() { >+ cmake_src_prepare >+ gnome2_src_prepare >+ >+ # https://bugs.gentoo.org/943213 >+ eapply "${FILESDIR}"/2.44.4-fix-icu76.1.patch >+ >+ # We don't want -Werror for gobject-introspection (bug #947761) >+ sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die >+} >+ >+src_configure() { >+ # Respect CC, otherwise fails on prefix #395875 >+ tc-export CC >+ >+ # ODR violations (bug #946940, https://bugs.webkit.org/show_bug.cgi?id=233007) >+ # but upstream still supports LTO builds and passes -no-Werror=odr to build flags >+ filter-flags -Werror=odr >+ >+ # bug #948072 (gcc PR118464) >+ if tc-is-gcc && [[ $(gcc-major-version) -eq 15 ]]; then >+ append-cxxflags "-fno-tree-loop-optimize" >+ fi >+ >+ # It does not compile on alpha without this in LDFLAGS >+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761 >+ use alpha && append-ldflags "-Wl,--no-relax" >+ >+ # Sigbuses on SPARC with mcpu and co., bug #??? >+ use sparc && filter-flags "-mvis" >+ >+ # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 >+ use ppc64 && append-flags "-mminimal-toc" >+ >+ # Try to use less memory, bug #469942 (see Fedora .spec for reference) >+ append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory") >+ >+ # Ruby situation is a bit complicated. See bug 513888 >+ local rubyimpl >+ local ruby_interpreter="" >+ local RUBY >+ for rubyimpl in ${USE_RUBY}; do >+ if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then >+ RUBY="$(type -P ${rubyimpl})" >+ ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}" >+ fi >+ done >+ # This will rarely occur. Only a couple of corner cases could lead us to >+ # that failure. See bug 513888 >+ [[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found" >+ # JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly >+ # so it doesn't respect RUBY_EXECUTABLE, bug #771744. >+ sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die >+ >+ # TODO: Check Web Audio support >+ # should somehow let user select between them? >+ local mycmakeargs=( >+ -DPython_EXECUTABLE="${PYTHON}" >+ ${ruby_interpreter} >+ # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that >+ -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap >+ -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy >+ -DPORT=GTK >+ # Source/cmake/WebKitFeatures.cmake >+ -DENABLE_API_TESTS=OFF >+ -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp) >+ -DENABLE_GAMEPAD=$(usex gamepad) >+ -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service) >+ -DENABLE_MINIBROWSER=$(usex examples) >+ -DENABLE_PDFJS=$(usex pdf) >+ -DENABLE_SPELLCHECK=$(usex spell) >+ -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build) >+ -DENABLE_VIDEO=$(usex gstreamer) >+ -DENABLE_WEB_AUDIO=$(usex gstreamer) >+ -DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147 >+ -DENABLE_WEBDRIVER=OFF >+ -DENABLE_WEBGL=ON >+ -DUSE_AVIF=$(usex avif) >+ -DUSE_GSTREAMER_WEBRTC=$(usex gstreamer) >+ -DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer) >+ # Source/cmake/OptionsGTK.cmake >+ -DENABLE_DOCUMENTATION=OFF >+ -DENABLE_INTROSPECTION=$(usex introspection) >+ -DENABLE_JOURNALD_LOG=$(usex systemd) >+ -DENABLE_QUARTZ_TARGET=$(usex aqua) >+ -DENABLE_WAYLAND_TARGET=$(usex wayland) >+ -DENABLE_X11_TARGET=$(usex X) >+ -DUSE_GBM=ON >+ -DUSE_GTK4=OFF >+ -DUSE_JPEGXL=$(usex jpegxl) >+ -DUSE_LCMS=$(usex lcms) >+ -DUSE_LIBBACKTRACE=OFF >+ -DUSE_LIBDRM=ON >+ -DUSE_LIBHYPHEN=ON >+ -DUSE_LIBSECRET=$(usex keyring) >+ -DUSE_SOUP2=OFF >+ -DUSE_SYSPROF_CAPTURE=OFF >+ -DUSE_WOFF2=ON >+ ) >+ >+ # Temporary workaround for bug 938162 (upstream bug 271371). >+ # The idea to disable WebAssembly and the FTL JIT instead >+ # of using ENABLE_JIT=OFF was stolen from OpenBSD. >+ use riscv && mycmakeargs+=( -DENABLE_WEBASSEMBLY=OFF -DENABLE_FTL_JIT=OFF ) >+ >+ # https://bugs.gentoo.org/761238 >+ append-cppflags -DNDEBUG >+ >+ WK_USE_CCACHE=NO cmake_src_configure >+} >+ >+pkg_postinst() { >+ optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue" >+ optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta" >+ optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]" >+ optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash" >+ optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls" >+} >diff --git a/net-libs/webkit-gtk/webkit-gtk-2.46.6-r600.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.46.6-r600.ebuild >new file mode 100644 >index 000000000000..9bf15985b743 >--- /dev/null >+++ b/net-libs/webkit-gtk/webkit-gtk-2.46.6-r600.ebuild >@@ -0,0 +1,278 @@ >+# Copyright 1999-2025 Gentoo Authors >+# Distributed under the terms of the GNU General Public License v2 >+ >+EAPI=8 >+PYTHON_REQ_USE="xml(+)" >+PYTHON_COMPAT=( python3_{10..13} ) >+USE_RUBY="ruby31 ruby32 ruby33 ruby34" >+ >+inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake >+ >+MY_P="webkitgtk-${PV}" >+DESCRIPTION="Open source web browser engine" >+HOMEPAGE="https://www.webkitgtk.org" >+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz" >+ >+S="${WORKDIR}/${MY_P}" >+ >+LICENSE="LGPL-2+ BSD" >+SLOT="6/0" # soname version of libwebkit2gtk-6.0 >+KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~sparc ~x86" >+ >+IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X" >+REQUIRED_USE="|| ( aqua wayland X )" >+ >+# Tests do not run when built from tarballs >+# https://bugs.webkit.org/show_bug.cgi?id=215986 >+RESTRICT="test" >+ >+# Dependencies can be found in Source/cmake/OptionsGTK.cmake. >+# >+# * Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream. >+# >+# * media-libs/mesa dep is for libgbm >+# >+# * >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE) >+# >+# * 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 >+# >+# * Softblocking <webkit-gtk-2.38:4 and <webkit-gtk-2.44:4.1 as since >+# 2.44 this SLOT ships the WebKitWebDriver binary; WebKitWebDriver is >+# an automation tool for web developers, which lets one control the >+# browser via WebDriver API - only one SLOT can ship it. >+# >+# * at-spi2-core (atspi-2.pc) is checked at build time, but not linked >+# to in the gtk4 SLOT - is it an upstream check bug and only gtk-4.14 >+# a11y support is used? >+# >+# * Cairo is only needed on big-endian systems, where Skia is not officially >+# supported (the build system will choose a backend for you). We could probably >+# hard-code a list of BE arches here, to avoid the extra dependency? But I am >+# holding out hope that this might actually get fixed before we need to do that. >+# >+# * dev-util/sysprof-capture is disabled because it was a new dependency in 2.46 >+# and we don't need any more new problems. >+# >+RDEPEND=" >+ !<net-libs/webkit-gtk-2.38:4 >+ !<net-libs/webkit-gtk-2.44:4.1 >+ app-accessibility/at-spi2-core:2 >+ dev-db/sqlite:3 >+ dev-libs/glib:2 >+ dev-libs/hyphen >+ dev-libs/icu:= >+ dev-libs/libgcrypt:0= >+ dev-libs/libtasn1:= >+ dev-libs/libxml2:2 >+ dev-libs/libxslt >+ >=gui-libs/gtk-4.14.0:4[aqua?,introspection?,wayland?,X?] >+ media-libs/fontconfig:1.0 >+ media-libs/freetype:2 >+ media-libs/harfbuzz:=[icu(+)] >+ media-libs/libjpeg-turbo:0= >+ media-libs/libepoxy[egl(+)] >+ media-libs/libglvnd >+ media-libs/libpng:0= >+ media-libs/libwebp:= >+ media-libs/mesa >+ media-libs/woff2 >+ net-libs/libsoup:3.0[introspection?] >+ sys-libs/zlib:0 >+ x11-libs/cairo[X?] >+ x11-libs/libdrm >+ avif? ( media-libs/libavif:= ) >+ gamepad? ( dev-libs/libmanette ) >+ gstreamer? ( >+ media-libs/gstreamer:1.0 >+ media-libs/gst-plugins-base:1.0[egl,opengl,X?] >+ media-plugins/gst-plugins-opus:1.0 >+ media-libs/gst-plugins-bad:1.0 >+ ) >+ introspection? ( dev-libs/gobject-introspection:= ) >+ jpegxl? ( media-libs/libjxl:= ) >+ keyring? ( app-crypt/libsecret ) >+ lcms? ( media-libs/lcms:2 ) >+ seccomp? ( >+ sys-apps/bubblewrap >+ sys-libs/libseccomp >+ sys-apps/xdg-dbus-proxy >+ ) >+ spell? ( app-text/enchant:2 ) >+ systemd? ( sys-apps/systemd:= ) >+ X? ( x11-libs/libX11 ) >+ wayland? ( >+ dev-libs/wayland >+ dev-libs/wayland-protocols >+ ) >+" >+DEPEND="${RDEPEND}" >+# Need real bison, not yacc >+BDEPEND=" >+ ${PYTHON_DEPS} >+ ${RUBY_DEPS} >+ app-accessibility/at-spi2-core >+ dev-lang/perl >+ dev-util/gdbus-codegen >+ dev-util/glib-utils >+ dev-util/gperf >+ dev-util/unifdef >+ sys-devel/bison >+ sys-devel/gettext >+ virtual/perl-Data-Dumper >+ virtual/perl-Carp >+ virtual/perl-JSON-PP >+ virtual/pkgconfig >+ wayland? ( dev-util/wayland-scanner ) >+" >+ >+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 >+ >+# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and >+# gnome2_src_prepare, and both apply ${PATCHES[@]} >+PATCHES=() >+ >+pkg_pretend() { >+ if [[ ${MERGE_TYPE} != "binary" ]] ; then >+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" >+ check-reqs_pkg_pretend >+ fi >+ >+ if ! test-flag-CXX -std=c++17 ; then >+ die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags" >+ fi >+ fi >+} >+ >+pkg_setup() { >+ if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ check-reqs_pkg_setup >+ fi >+ >+ python-any-r1_pkg_setup >+} >+ >+src_prepare() { >+ cmake_src_prepare >+ gnome2_src_prepare >+ >+ # We don't want -Werror for gobject-introspection (bug #947761) >+ sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die >+} >+ >+src_configure() { >+ # Respect CC, otherwise fails on prefix #395875 >+ tc-export CC >+ >+ # ODR violations (bug #946940, https://bugs.webkit.org/show_bug.cgi?id=233007) >+ # but upstream still supports LTO builds and passes -no-Werror=odr to build flags >+ filter-flags -Werror=odr >+ >+ # bug #948072 (gcc PR118464) >+ if tc-is-gcc && [[ $(gcc-major-version) -eq 15 ]]; then >+ append-cxxflags "-fno-tree-loop-optimize" >+ fi >+ >+ # It does not compile on alpha without this in LDFLAGS >+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761 >+ use alpha && append-ldflags "-Wl,--no-relax" >+ >+ # Sigbuses on SPARC with mcpu and co., bug #??? >+ use sparc && filter-flags "-mvis" >+ >+ # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 >+ use ppc64 && append-flags "-mminimal-toc" >+ >+ # Try to use less memory, bug #469942 (see Fedora .spec for reference) >+ append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory") >+ >+ # Ruby situation is a bit complicated. See bug 513888 >+ local rubyimpl >+ local ruby_interpreter="" >+ local RUBY >+ for rubyimpl in ${USE_RUBY}; do >+ if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then >+ RUBY="$(type -P ${rubyimpl})" >+ ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}" >+ fi >+ done >+ # This will rarely occur. Only a couple of corner cases could lead us to >+ # that failure. See bug 513888 >+ [[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found" >+ # JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly >+ # so it doesn't respect RUBY_EXECUTABLE, bug #771744. >+ sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die >+ >+ # TODO: Check Web Audio support >+ # should somehow let user select between them? >+ local mycmakeargs=( >+ -DPython_EXECUTABLE="${PYTHON}" >+ ${ruby_interpreter} >+ # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that >+ -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap >+ -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy >+ -DPORT=GTK >+ # Source/cmake/WebKitFeatures.cmake >+ -DENABLE_API_TESTS=OFF >+ -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp) >+ -DENABLE_GAMEPAD=$(usex gamepad) >+ -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service) >+ -DENABLE_MINIBROWSER=$(usex examples) >+ -DENABLE_PDFJS=$(usex pdf) >+ -DENABLE_SPELLCHECK=$(usex spell) >+ -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build) >+ -DENABLE_VIDEO=$(usex gstreamer) >+ -DENABLE_WEB_AUDIO=$(usex gstreamer) >+ -DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147 >+ -DENABLE_WEBDRIVER=ON >+ -DENABLE_WEBGL=ON >+ -DUSE_AVIF=$(usex avif) >+ -DUSE_GSTREAMER_WEBRTC=$(usex gstreamer) >+ -DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer) >+ # Source/cmake/OptionsGTK.cmake >+ -DENABLE_DOCUMENTATION=OFF >+ -DENABLE_INTROSPECTION=$(usex introspection) >+ -DENABLE_JOURNALD_LOG=$(usex systemd) >+ -DENABLE_QUARTZ_TARGET=$(usex aqua) >+ -DENABLE_WAYLAND_TARGET=$(usex wayland) >+ -DENABLE_X11_TARGET=$(usex X) >+ -DUSE_GBM=ON >+ -DUSE_GTK4=ON # webkit2gtk-6.0 >+ -DUSE_JPEGXL=$(usex jpegxl) >+ -DUSE_LCMS=$(usex lcms) >+ -DUSE_LIBBACKTRACE=OFF >+ -DUSE_LIBDRM=ON >+ -DUSE_LIBHYPHEN=ON >+ -DUSE_LIBSECRET=$(usex keyring) >+ -DUSE_SOUP2=OFF >+ -DUSE_SYSPROF_CAPTURE=OFF >+ -DUSE_WOFF2=ON >+ ) >+ >+ # Temporary workaround for bug 938162 (upstream bug 271371). >+ # The idea to disable WebAssembly and the FTL JIT instead >+ # of using ENABLE_JIT=OFF was stolen from OpenBSD. >+ use riscv && mycmakeargs+=( -DENABLE_WEBASSEMBLY=OFF -DENABLE_FTL_JIT=OFF ) >+ >+ # https://bugs.gentoo.org/761238 >+ append-cppflags -DNDEBUG >+ >+ WK_USE_CCACHE=NO cmake_src_configure >+} >+ >+src_install() { >+ cmake_src_install >+ >+ insinto /usr/share/gtk-doc/html >+ # This will install API docs specific to webkit2gtk-6.0 >+ doins -r "${S}"/Documentation/{jsc-glib,webkitgtk,webkitgtk-web-process-extension}-6.0 >+} >+ >+pkg_postinst() { >+ optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue" >+ optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta" >+ optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]" >+ optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash" >+ optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls" >+} >diff --git a/net-libs/webkit-gtk/webkit-gtk-2.46.6.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.46.6.ebuild >new file mode 100644 >index 000000000000..42d624c0a922 >--- /dev/null >+++ b/net-libs/webkit-gtk/webkit-gtk-2.46.6.ebuild >@@ -0,0 +1,262 @@ >+# Copyright 1999-2025 Gentoo Authors >+# Distributed under the terms of the GNU General Public License v2 >+ >+EAPI=8 >+PYTHON_REQ_USE="xml(+)" >+PYTHON_COMPAT=( python3_{10..13} ) >+USE_RUBY="ruby31 ruby32 ruby33 ruby34" >+ >+inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake >+ >+MY_P="webkitgtk-${PV}" >+DESCRIPTION="Open source web browser engine" >+HOMEPAGE="https://www.webkitgtk.org" >+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz" >+ >+S="${WORKDIR}/${MY_P}" >+ >+LICENSE="LGPL-2+ BSD" >+SLOT="4/37" # soname version of libwebkit2gtk-4.0 >+KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~sparc ~x86" >+ >+IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X" >+REQUIRED_USE="|| ( aqua wayland X )" >+ >+# Tests do not run when built from tarballs >+# https://bugs.webkit.org/show_bug.cgi?id=215986 >+RESTRICT="test" >+ >+# Dependencies can be found in Source/cmake/OptionsGTK.cmake. >+# >+# * Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream. >+# >+# * media-libs/mesa dep is for libgbm >+# >+# * >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE) >+# >+# * 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 >+# >+# * Cairo is only needed on big-endian systems, where Skia is not officially >+# supported (the build system will choose a backend for you). We could probably >+# hard-code a list of BE arches here, to avoid the extra dependency? But I am >+# holding out hope that this might actually get fixed before we need to do that. >+# >+# * dev-util/sysprof-capture is disabled because it was a new dependency in 2.46 >+# and we don't need any more new problems. >+# >+RDEPEND=" >+ app-accessibility/at-spi2-core:2 >+ dev-db/sqlite:3 >+ dev-libs/glib:2 >+ dev-libs/hyphen >+ dev-libs/icu:= >+ dev-libs/libgcrypt:0= >+ dev-libs/libtasn1:= >+ dev-libs/libxml2:2 >+ dev-libs/libxslt >+ media-libs/fontconfig:1.0 >+ media-libs/freetype:2 >+ media-libs/harfbuzz:=[icu(+)] >+ media-libs/libjpeg-turbo:0= >+ media-libs/libepoxy[egl(+)] >+ media-libs/libglvnd >+ media-libs/libpng:0= >+ media-libs/libwebp:= >+ media-libs/mesa >+ media-libs/woff2 >+ net-libs/libsoup:2.4[introspection?] >+ sys-libs/zlib:0 >+ x11-libs/cairo[X?] >+ x11-libs/gtk+:3[aqua?,introspection?,wayland?,X?] >+ x11-libs/libdrm >+ avif? ( media-libs/libavif:= ) >+ gamepad? ( dev-libs/libmanette ) >+ gstreamer? ( >+ media-libs/gstreamer:1.0 >+ media-libs/gst-plugins-base:1.0[egl,opengl,X?] >+ media-plugins/gst-plugins-opus:1.0 >+ media-libs/gst-plugins-bad:1.0 >+ ) >+ introspection? ( dev-libs/gobject-introspection:= ) >+ jpegxl? ( media-libs/libjxl:= ) >+ keyring? ( app-crypt/libsecret ) >+ lcms? ( media-libs/lcms:2 ) >+ seccomp? ( >+ sys-apps/bubblewrap >+ sys-libs/libseccomp >+ sys-apps/xdg-dbus-proxy >+ ) >+ spell? ( app-text/enchant:2 ) >+ systemd? ( sys-apps/systemd:= ) >+ X? ( x11-libs/libX11 ) >+ wayland? ( >+ dev-libs/wayland >+ dev-libs/wayland-protocols >+ ) >+" >+DEPEND="${RDEPEND}" >+# Need real bison, not yacc >+BDEPEND=" >+ ${PYTHON_DEPS} >+ ${RUBY_DEPS} >+ app-accessibility/at-spi2-core >+ dev-lang/perl >+ dev-util/gdbus-codegen >+ dev-util/glib-utils >+ dev-util/gperf >+ dev-util/unifdef >+ sys-devel/bison >+ sys-devel/gettext >+ virtual/perl-Data-Dumper >+ virtual/perl-Carp >+ virtual/perl-JSON-PP >+ virtual/pkgconfig >+ wayland? ( dev-util/wayland-scanner ) >+" >+ >+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 >+ >+# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and >+# gnome2_src_prepare, and both apply ${PATCHES[@]} >+PATCHES=() >+ >+pkg_pretend() { >+ if [[ ${MERGE_TYPE} != "binary" ]] ; then >+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" >+ check-reqs_pkg_pretend >+ fi >+ >+ if ! test-flag-CXX -std=c++17 ; then >+ die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags" >+ fi >+ fi >+} >+ >+pkg_setup() { >+ if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then >+ check-reqs_pkg_setup >+ fi >+ >+ python-any-r1_pkg_setup >+} >+ >+src_prepare() { >+ cmake_src_prepare >+ gnome2_src_prepare >+ >+ # https://bugs.gentoo.org/943213 >+ eapply "${FILESDIR}"/2.44.4-fix-icu76.1.patch >+ >+ # We don't want -Werror for gobject-introspection (bug #947761) >+ sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die >+} >+ >+src_configure() { >+ # Respect CC, otherwise fails on prefix #395875 >+ tc-export CC >+ >+ # ODR violations (bug #946940, https://bugs.webkit.org/show_bug.cgi?id=233007) >+ # but upstream still supports LTO builds and passes -no-Werror=odr to build flags >+ filter-flags -Werror=odr >+ >+ # bug #948072 (gcc PR118464) >+ if tc-is-gcc && [[ $(gcc-major-version) -eq 15 ]]; then >+ append-cxxflags "-fno-tree-loop-optimize" >+ fi >+ >+ # It does not compile on alpha without this in LDFLAGS >+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761 >+ use alpha && append-ldflags "-Wl,--no-relax" >+ >+ # Sigbuses on SPARC with mcpu and co., bug #??? >+ use sparc && filter-flags "-mvis" >+ >+ # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 >+ use ppc64 && append-flags "-mminimal-toc" >+ >+ # Try to use less memory, bug #469942 (see Fedora .spec for reference) >+ append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory") >+ >+ # Ruby situation is a bit complicated. See bug 513888 >+ local rubyimpl >+ local ruby_interpreter="" >+ local RUBY >+ for rubyimpl in ${USE_RUBY}; do >+ if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then >+ RUBY="$(type -P ${rubyimpl})" >+ ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}" >+ fi >+ done >+ # This will rarely occur. Only a couple of corner cases could lead us to >+ # that failure. See bug 513888 >+ [[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found" >+ # JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly >+ # so it doesn't respect RUBY_EXECUTABLE, bug #771744. >+ sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die >+ >+ # TODO: Check Web Audio support >+ # should somehow let user select between them? >+ local mycmakeargs=( >+ -DPython_EXECUTABLE="${PYTHON}" >+ ${ruby_interpreter} >+ # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that >+ -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap >+ -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy >+ -DPORT=GTK >+ # Source/cmake/WebKitFeatures.cmake >+ -DENABLE_API_TESTS=OFF >+ -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp) >+ -DENABLE_GAMEPAD=$(usex gamepad) >+ -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service) >+ -DENABLE_MINIBROWSER=$(usex examples) >+ -DENABLE_PDFJS=$(usex pdf) >+ -DENABLE_SPELLCHECK=$(usex spell) >+ -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build) >+ -DENABLE_VIDEO=$(usex gstreamer) >+ -DENABLE_WEB_AUDIO=$(usex gstreamer) >+ -DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147 >+ -DENABLE_WEBDRIVER=OFF >+ -DENABLE_WEBGL=ON >+ -DUSE_AVIF=$(usex avif) >+ -DUSE_GSTREAMER_WEBRTC=$(usex gstreamer) >+ -DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer) >+ # Source/cmake/OptionsGTK.cmake >+ -DENABLE_DOCUMENTATION=OFF >+ -DENABLE_INTROSPECTION=$(usex introspection) >+ -DENABLE_JOURNALD_LOG=$(usex systemd) >+ -DENABLE_QUARTZ_TARGET=$(usex aqua) >+ -DENABLE_WAYLAND_TARGET=$(usex wayland) >+ -DENABLE_X11_TARGET=$(usex X) >+ -DUSE_GBM=ON >+ -DUSE_GTK4=OFF >+ -DUSE_JPEGXL=$(usex jpegxl) >+ -DUSE_LCMS=$(usex lcms) >+ -DUSE_LIBBACKTRACE=OFF >+ -DUSE_LIBDRM=ON >+ -DUSE_LIBHYPHEN=ON >+ -DUSE_LIBSECRET=$(usex keyring) >+ -DUSE_SOUP2=ON >+ -DUSE_SYSPROF_CAPTURE=OFF >+ -DUSE_WOFF2=ON >+ ) >+ >+ # Temporary workaround for bug 938162 (upstream bug 271371). >+ # The idea to disable WebAssembly and the FTL JIT instead >+ # of using ENABLE_JIT=OFF was stolen from OpenBSD. >+ use riscv && mycmakeargs+=( -DENABLE_WEBASSEMBLY=OFF -DENABLE_FTL_JIT=OFF ) >+ >+ # https://bugs.gentoo.org/761238 >+ append-cppflags -DNDEBUG >+ >+ WK_USE_CCACHE=NO cmake_src_configure >+} >+ >+pkg_postinst() { >+ optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue" >+ optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta" >+ optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]" >+ optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash" >+ optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls" >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 946940
:
914891
| 919109