diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2024-01-12 18:51:57 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2024-01-12 22:30:46 +0300 |
commit | 705982a51d24e74df1786f60cc99d1106de626df (patch) | |
tree | 4e81a89c017c50483d786294ea823752b5f55017 /meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb | |
parent | ad3455d69e100ba61b43c715039b793ce936527b (diff) | |
download | openbmc-705982a51d24e74df1786f60cc99d1106de626df.tar.xz |
subtree updates
meta-openembedded: 7d8115d550..098dc606f9:
Alex Kiernan (2):
c-ares: Filter out "Live" tests
ptest-packagelists-meta-oe.inc Add c-ares to PTESTS_SLOW_META_OE
Alexander Kanavin (25):
fontforge: add a readline PACKAGECONFIG
volume-key: disable python bindings
audit: disable python bindings as incompatible with python 3.12
cmpi-bindings: update 1.0.1 -> 1.0.4
libpwquality: backport a python 3.12 compatibility patch
mycroft: do not depend on python3-xmlrunner
python3-xmlrunner: remove the recipe
system-config-printer: rely on setuptools to obtain distutils copy
python3-gmpy2: fix python 3.12 issues
python3-custom-inherit: fix python 3.12 builds
python3-jsonrpcserver: remove
python3-oslash: remove
nmap: disable ndiff
wireshark: update 4.0.10 -> 4.2.0
openipmi: update 2.0.32 -> 2.0.34
libsigrokdecode: add python 3.12 support
cockpit: add setuptools dependency to bring in distutils copy
mongodb: skip until python 3.12 fixes are available.
mercurial: ensure setuptools is present as distutils is no longer (mercurial tries both)
rwmem: fix python modules packaging
upm: get disutils copy via setuptools
python3-kmod: remove the recipe
hplip: provide setuptools for the distutils copy
audit: reenable python bindings and bring in distutils via setuptools (needed with python 3.12)
python3-h5py: backport a cython 3.x compatibility patch
Christophe Vu-Brugier (1):
nvme-cli: upgrade 2.6 -> 2.7.1
Enrico Scholz (1):
krb5: use PACKAGE_BEFORE_PN
Fabio Estevam (2):
i2cdev_git: Remove AUTHOR field
picocom: Update to 2023-04
Ilya A. Kriveshko (1):
srecord: fix install prefix
Jordan Crouse (2):
collectd: Remove rrdtool from DEPENDS
keepalived: Move the sample configuration files to a separate package
Jose Quaresma (1):
layer.conf: Add libdevmapper-native PREFERRED_RPROVIDER
Khem Raj (8):
mraa: Update to latest tip of trunk
libcppkafka: Update to tip of trunk
python3-pydantic-core: Rename the cpython module on musl
libtinyxml2: Package needed resources to run ptests
python3-pylint: Ignore failing ptests
libconfig-general-perl: Enable on musl targets
tgt: Fix build with musl
kernel-selftest: remove Wno-alloc-size-larger-than from scripts/Makefile.extrawarn
Leon Anavi (5):
ssd1306_git.bb: Add ssd1306_linux
ssd1306: Update and remove patch
python3-webargs: Upgrade 8.3.0 -> 8.4.0
python3-wtforms: Upgrade 3.1.1 -> 3.1.2
python3-kivy: Upgrade 2.2.1 -> 2.3.0
Markus Volk (9):
luajit: upgrade 2.1beta -> 2.1
gnome-terminal: fix search_provider build
libplist: make sure rm doesn't fail on nonexistent file
imagemagick: upgrade 7.1.1-8 -> 7.1.1.26
mutter: update 45.1 -> 45.3
gnome-shell: update 45.1 -> 45.3
gnome-control-center: update 45.1 -> 45.2
gnome-software: update 45.1 -> 45.3
gnome-shell-extensions: update 45.1 -> 45.2
Martin Jansa (1):
libpwquality: respect PYTHONSITEDIR
Michael Haener (1):
mdio-tools: upgrade 1.3.0 -> 1.3.1
Mingli Yu (2):
usleep: Make the version consistent
ipmitool: Make the version consistent
Peter Marko (1):
protobuf-c: upgrade 1.4.1 -> 1.5.0
Richard Leitner (1):
python3-pytest-cov: add missing python3-coverage dependency
Robert Yang (1):
v4l-utils: Add PACKAGECONFIG for v4l2-tracer to fix determinstic build
Wang Mingyu (52):
cglm: upgrade 0.9.1 -> 0.9.2
ctags: upgrade 6.0.20231224.0 -> 6.1.20231231.0
exiftool: upgrade 12.71 -> 12.72
feh: upgrade 3.10.1 -> 3.10.2
libssh: upgrade 0.10.5 -> 0.10.6
squid: upgrade 6.5 -> 6.6
imapfilter: upgrade 2.8.1 -> 2.8.2
redis-plus-plus: upgrade 1.3.10 -> 1.3.11
python3-netaddr: upgrade 0.9.0 -> 0.10.0
plocate: upgrade 1.1.19 -> 1.1.20
python3-cantools: upgrade 39.4.1 -> 39.4.2
python3-coverage: upgrade 7.3.4 -> 7.4.0
python3-flask: upgrade 2.3.3 -> 3.0.0
python3-gspread: upgrade 5.12.3 -> 5.12.4
python3-pydot: upgrade 1.4.2 -> 2.0.0
qpdf: upgrade 11.6.4 -> 11.7.0
thingsboard-gateway: upgrade 3.4.3.1 -> 3.4.4
python3-pydantic-core: upgrade 2.14.5 -> 2.14.6
libtinyxml2: upgrade 9.0.0 -> 10.0.0
adw-gtk3: upgrade 5.1 -> 5.2
dialog: upgrade 1.3-20231002 -> 1.3-20240101
ghex: upgrade 45.0 -> 45.1
jwt-cpp: upgrade 0.6.0 -> 0.7.0
libcloudproviders: upgrade 0.3.4 -> 0.3.5
libgedit-gtksourceview: upgrade 299.0.4 -> 299.0.5
libjcat: upgrade 0.1.14 -> 0.2.0
libraw: upgrade 0.21.1 -> 0.21.2
libsass: upgrade 3.6.5 -> 3.6.6
chrony: upgrade 4.4 -> 4.5
tgt: upgrade 1.0.83 -> 1.0.90
lapack: upgrade 3.10.1 -> 3.12.0
libio-pty-perl: upgrade 1.17 -> 1.20
webkitgtk3: upgrade 2.42.3 -> 2.42.4
xmlsec1: upgrade 1.3.2 -> 1.3.3
python3-argh: upgrade 0.30.5 -> 0.31.0
python3-cvxopt: upgrade 1.2.7 -> 1.3.2
python3-sqlalchemy: upgrade 2.0.24 -> 2.0.25
python3-aiohttp-jinja2: upgrade 1.5.1 -> 1.6
python3-bitarray: upgrade 2.9.1 -> 2.9.2
python3-google-api-python-client: upgrade 2.111.0 -> 2.112.0
python3-google-auth: upgrade 2.25.2 -> 2.26.1
python3-lz4: upgrade 4.3.2 -> 4.3.3
python3-pdm: upgrade 2.11.1 -> 2.11.2
python3-pyflakes: upgrade 3.1.0 -> 3.2.0
python3-pymisp: upgrade 2.4.182 -> 2.4.183
python3-pytest-asyncio: upgrade 0.23.2 -> 0.23.3
python3-traitlets: upgrade 5.14.0 -> 5.14.1
traceroute: upgrade 2.1.3 -> 2.1.5
wolfssl: upgrade 5.6.4 -> 5.6.6
xerces-c: upgrade 3.2.4 -> 3.2.5
zenity: upgrade 4.0.0 -> 4.0.1
daq: Fix install conflict when enable multilib.
Yi Zhao (6):
vsomeip: upgrade 3.3.8 -> 3.4.10
libtdb: upgrade 1.4.8 -> 1.4.9
libtalloc: upgrade 2.4.0 -> 2.4.1
libtevent: upgrade 0.14.1 -> 0.16.0
libldb: upgrade 2.7.2 -> 2.8.0
samba: upgrade 4.18.9 -> 4.19.3
alperak (10):
libnvme: upgrade 1.6 -> 1.7.1
libpaper: upgrade 2.1.0 -> 2.1.2
onig: upgrade 6.9.8 -> 6.9.9
clinfo: upgrade 3.0.21.02.21 -> 3.0.23.01.25
opensc: upgrade 0.23.0 -> 0.24.0
pcsc-lite: upgrade 2.0.0 -> 2.0.1
pcsc-tools: upgrade 1.6.2 -> 1.7.1
wavpack: upgrade 5.1.0 -> 5.6.0
nginx: fix CVE-2023-44487
grpc: upgrade 1.59.2 -> 1.60.0
meta-arm: 4d22f982bc..5712422011:
Emekcan Aras (1):
arm-bsp/linux-yocto: corstone1000: bump to v6.6%
Jon Mason (8):
arm-bsp/trusted-firmware-m: update libmetal and open-amp to a release
arm-bsp/trusted-firmware-m: update libmetal and open-amp to 2023.04.0
arm: modify patches to have email headers and correct date fields
arm-bsp/optee-os: remove unused 3.18 files
arm/optee-os: use sysroot in CFLAGS
arm/optee-os: remove unneeded clang patches
arm/scp-firmware: update git repository to new location
arm-bsp/u-boot: rebase patches for v2024.01
Ross Burton (1):
arm-bsp/linux-yocto: add linux-yocto 6.5 temporarily
meta-raspberrypi: 4c033eb074..b859bc3eca:
Leon Anavi (1):
bcm2835: update 1.71 -> 1.73
poky: 4675bbb757..61182659c2:
Adrian Freihofer (1):
ref-manual: document cmake-qemu class
Alassane Yattara (7):
bitbake: toaster/tests: Bug-fix on TestProjectConfigTab::test_image_recipe_show_rows
bitbake: toaster/tests: Bug-fix element click intercepted
bitbake: toaster/tests: Delay driver first action on create new project page
bitbake: toaster/tests: Setup delay after driver action self.get(url)
bitbake: toaster/tests: bug-fix "#hint-error-project-name" should be visible
bitbake: toaster/tests: Bug-fix "element not interactable" in TestLayerDetailsPage::test_edit_layerdetails
bitbake: toaster/tests: Bug-fix ToasterTable show_rows testcases
Alexander Kanavin (16):
speexdsp: enable native variant
devtool/standard: correctly escape \
bitbake: fetch/checkstatus(): do not print the URI twice in FetchError exception
bitbake: fetch/wget/checkstatus(): include the URL in debugging output about status check failure
bitbake: bitbake/runqueue: rework 'bitbake -S printdiff' logic
selftest/sstatetests: fix up printdiff test to match rework of printdiff logic
selftest/sstatetest: re-enable gcc printdiff test
python3-pyyaml: make compatible with cython 3.x
python3-cython: update 0.29.36 -> 3.0.7
taglib: fix upstream version check
libpcre2: fix upstream version check
icon-naming-utils: take tarball from debian
selftest/sstatetests: include fetcher diagnostics into CDN test failure message
selftest/SStatePrintdiff: ensure all base signatures are present in sstate in test_image_minimal_vs_base_do_configure
shadow: update 4.13 -> 4.14.2
shadow: link executables statically for -native variant
Chen Qi (5):
gawk: upgrade from 5.2.2 to 5.3.0
systemd-bootchart: upgrade from 234 to 235
dbus-wait: bump srcrev
sudo: upgrade from 1.9.15p2 to 1.9.15p5
util-linux/util-linux-libuuid: ugprade from 2.39.2 to 2.39.3
Corentin Guillevic (1):
systemd: add udev-bash-completion package
Enguerrand de Ribaucourt (1):
manuals: document VSCode extension
Fabio Estevam (5):
libusb1: Do not match on -rc versions
usbutils: Update to version 017
u-boot: Upgrade to 2024.01
kmscube: Change header file to <GLES3/gl3.h>
kmscube: Add package version
Ilya A. Kriveshko (1):
dev-manual: update license manifest path
Jamin Lin (1):
devtool: modify: fix exception
Joshua Watt (1):
syslinux: Allow mtools to be optional
Jörg Sommer (1):
documentation: Add UBOOT_BINARY, extend UBOOT_CONFIG
Khem Raj (6):
connman: Fix build with musl
rpm: Fix build with musl
gawk: Add coreutils to rdeps for ptests package
tcl: Fix prepending to run-ptest script
coreutils: Ignore line-bytes.sh and no-allocate tests on musl
opkg-utils: Backport fix to drop --numeric-owner parameter
Lee Chee Yang (1):
migration-guide: add release notes for 4.3.2
Mark Asselstine (2):
bitbake: server/process: catch and expand multiprocessing connection exceptions
bitbake: ui/knotty: properly handle exceptions when calling runCommand()
Maxin B. John (1):
ref-manual: classes: remove insserv bbclass
Michael Opdenacker (2):
contributor-guide: use "apt" instead of "aptitude"
ref-manual: update tested and supported distros
Mikko Rapeli (1):
oeqa systemd.py: settle() using "running" or "degraded" state
Ming Liu (1):
qemu.bbclass: fix a python TypeError
Mingli Yu (2):
openssh: Add PACKAGECONFIG option to customize sshd mode
gptfdisk: Make the version consistent
Richard Purdie (2):
bitbake: ast: Fix EXPORT_FUNCTIONS bug
bitbake: runqueue: Fix runall all bug
Robert Yang (2):
bitbake: bitbake: event: Inject empty lines to make code match lineno in filename
bitbake: bitbake: tests/event: Add test_lineno_in_eventhandler
Rodrigo M. Duarte (1):
linux-firmware: Fix the linux-firmware-bcm4373 FILES variable
Ross Burton (12):
glib-2.0: no need to depend on target gtk-doc
autotools: append to EXTRA_AUTORECONF
autotools: don't exclude gtkdocize
gtk-doc: fix DEPENDS
gtk-doc: remove obsolete logic
gtk-doc: don't use docdir set in environment in gtkdocize
gtk-doc: don't manually call gtkdocize
kmod: fix configure with autopoint calling gtkdocize
util-linux: enable gtk-doc
meson: use pkg-config in the cross files
cairo: upgrade to 1.18.0
xmlcatalog: limit to native recipes only
Simone Weiß (2):
dev-manual: start.rst: update use of Download page
glibc: Set status for CVE-2023-5156 & CVE-2023-0687
Tim Orling (2):
python3-bcrypt: upgrade 4.1.1 -> 4.1.2
python3-attrs: enable ptest
Wang Mingyu (13):
ffmpeg: upgrade 6.1 -> 6.1.1
meson: upgrade 1.3.0 -> 1.3.1
ccache: upgrade 4.8.3 -> 4.9
mesa: upgrade 23.3.1 -> 23.3.2
subversion: upgrade 1.14.2 -> 1.14.3
python3-dbusmock: upgrade 0.30.1 -> 0.30.2
python3-hatch-fancy-pypi-readme: upgrade 23.1.0 -> 24.1.0
python3-hypothesis: upgrade 6.92.1 -> 6.92.2
python3-pycryptodome: upgrade 3.19.0 -> 3.19.1
python3-pycryptodomex: upgrade 3.19.0 -> 3.19.1
python3-pytest: upgrade 7.4.3 -> 7.4.4
python3-attrs: upgrade 22.1.0 -> 23.2.0
python3-lxml: upgrade 4.9.4 -> 45.0.0
William Lyu (1):
elfutils: Update license information
Yang Xu (1):
rootfs.py: check depmodwrapper execution result
Yi Zhao (2):
libcap-ng: upgrade 0.8.3 -> 0.8.4
libcap-ng-python: upgrade 0.8.3 -> 0.8.4
david d zuhn (1):
rng-tools: remove obsolete build time dependency on sysfsutils
Change-Id: I43eda44bb889eedb45fae65caf2e5ed8d2c9de39
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb new file mode 100644 index 0000000000..3c6b7db811 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.4.bb @@ -0,0 +1,183 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://reproducibility.patch \ + file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ + file://no-musttail-arm.patch \ + " +SRC_URI[sha256sum] = "52288b30bda22373442cecb86f9c9a569ad8d4769a1f97b352290ed92a67ed86" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen + +S = "${WORKDIR}/webkitgtk-${PV}" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS += " \ + ruby-native \ + gperf-native \ + unifdef-native \ + cairo \ + harfbuzz \ + jpeg \ + atk \ + libwebp \ + gtk+3 \ + libxslt \ + libtasn1 \ + libnotify \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ + " + +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ + enchant \ + libsecret \ + ${PACKAGECONFIG_SOUP} \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" +PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," +PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" +PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" +PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" +PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" +PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" +PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF" +PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + " +# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the +# debug symbols (4.3GB to 700M at time of writing) +DEBUG_FLAGS:append = "${@oe.utils.vartrue('DEBUG_BUILD', '', ' -g1', d)}" + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS:append:arc = " -mlong-calls" +CXXFLAGS:append:arc = " -mlong-calls" + +# Needed for non-mesa graphics stacks when x11 is disabled +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " + +# And for armv7* don't enable it for softfp, because after: +# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918 +# https://bugs.webkit.org/show_bug.cgi?id=242172 +# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets +# explicitly disabled causing: +# http://errors.yoctoproject.org/Errors/Details/734587/ +# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled +# https://github.com/WebKit/WebKit/pull/17447 +EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" +EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" +EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" + +EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS:remove:aarch64 = "-fpie" +SECURITY_CFLAGS:append:aarch64 = " -fPIE" + +FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET:armv7a = "thumb" +ARM_INSTRUCTION_SET:armv7r = "thumb" +ARM_INSTRUCTION_SET:armv7ve = "thumb" + +# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86 +COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED:libc-musl:armv7a = "False" +GI_DATA_ENABLED:libc-musl:armv7ve = "False" + +do_install:append() { + mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3 +} + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/JavaScriptCore/DerivedSources/*.h \ + ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ + ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ + ${B}/WebCore/DerivedSources/*.cpp \ + ${B}/WebKitGTK/DerivedSources/webkit/*.cpp +} + |