On December 9, 2021 11:08:31 PM GMT+01:00, Joshua Watt <jpewhac...@gmail.com> wrote: >On Thu, Dec 9, 2021 at 3:55 PM Quentin Schulz <foss+yo...@0leil.net> wrote: >> >> Hi Joshua, >> >> On December 9, 2021 9:44:17 PM GMT+01:00, Joshua Watt <jpewhac...@gmail.com> >> wrote: >> >Adds a PACKAGECONFIG option to use libsoup2 instead of libsoup3. >> >Including libsoup2 and libsoup3 in the same process can cause strange >> >runtime failures, and the latest release of each major version will >> >cause the process to exit if either if both are detected on process >> >startup. >> > >> >The default is changed from libsoup3 back to libsoup2. Most GNOME >> >packages are still using libsoup2, and a large number of these pull in >> >webkitgtk either directly or indirectly. If webkitgtk uses libsoup3, >> >this causes all of these packages to fail at startup. It appears that >> >most GNOME packages will have to switch to libsoup3 when they transition >> >to GTK4. >> > >> >Signed-off-by: Joshua Watt <jpewhac...@gmail.com> >> >--- >> > meta/recipes-sato/webkit/webkitgtk_2.34.2.bb | 6 ++++-- >> > 1 file changed, 4 insertions(+), 2 deletions(-) >> > >> >diff --git a/meta/recipes-sato/webkit/webkitgtk_2.34.2.bb >> >b/meta/recipes-sato/webkit/webkitgtk_2.34.2.bb >> >index 413e0cdf92..279e260441 100644 >> >--- a/meta/recipes-sato/webkit/webkitgtk_2.34.2.bb >> >+++ b/meta/recipes-sato/webkit/webkitgtk_2.34.2.bb >> >@@ -38,12 +38,12 @@ DEPENDS = " \ >> > atk \ >> > libwebp \ >> > gtk+3 \ >> >- libsoup \ >> > libxslt \ >> > libtasn1 \ >> > libnotify \ >> > gstreamer1.0 \ >> > gstreamer1.0-plugins-base \ >> >+ ${@bb.utils.contains("PACKAGECONFIG", "soup2", "libsoup-2.4", >> >"libsoup", d)} \ >> > " >> > >> > PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland >> > x11', d)} \ >> >@@ -52,6 +52,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', >> >'systemd wayland x11', >> > ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', >> > 'opengl-or-es', '', d)} \ >> > enchant \ >> > libsecret \ >> >+ soup2 \ >> > " >> > >> > PACKAGECONFIG[wayland] = >> > "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe >> > wpebackend-fdo wayland-native" >> >@@ -70,6 +71,7 @@ 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,," >> > >> >> What about leveraging package conflicts in PACKAGECONFIG? >> >> e.g.: >> PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup" >> PACKAGECONFIG[soup] = ",,libsoup,,,soup2" >> ? >> No need for the check on PACKAGECONFIG in depends then. > >Ya, the weird part there is that if you want libsoup3, you *must* put >"soup" in PACKAGECONFIG *and* remove soup2, otherwise libsoup won't be >added to DEPENDS and the build fails. >
I can suggest a solution à la qt package from meta-qt5: PACKAGECONFIG_LIBSOUP ?= "soup2" PACKAGECONFIG ??= "[...] ${PACKAGECONFIG_LIBSOUP}" If you want to make really sure one or the other is selected, you can add a check in an anonymous Python function? This should tackle the "must" part and also allow easy swap in bbappends in addition of making sure libsoup and libsoup-2.4 can't be selected at the same time? What do you think? On a side note, I feel like this patch could be split in two. One for the libsoup switch mechanism and one for switching the default to libsoup-2.4? I don't think Richard care usually though, so no biggie :) Cheers, Quentin >> >> > # webkitgtk is full of /usr/bin/env python, particular for generating docs >> > do_configure[postfuncs] += "setup_python_link" >> >@@ -124,7 +126,7 @@ EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " >> > SECURITY_CFLAGS:remove:aarch64 = "-fpie" >> > SECURITY_CFLAGS:append:aarch64 = " -fPIE" >> > >> >-FILES:${PN} += >> >"${libdir}/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so" >> >+FILES:${PN} += >> >"${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" >> > >> >> Was this change suppose to make it in this commit? > >Yes. The minor version of the library changes based on libsoup3 (4.1) >vs. libsoup2 (4.0) > >> >> Cheers, >> Quentin >> >> > RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" >> >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#159491): https://lists.openembedded.org/g/openembedded-core/message/159491 Mute This Topic: https://lists.openembedded.org/mt/87621243/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-