It seems that after we update to Ubuntu 26.04 we can remove a big part of this moduleset because the versions of this libraries on Ubuntu are now the same or even higher than we are shipping.
I tested this diff on top of PR #239 and it seems to be working fine:
--- /host/home/clopez/webkit-container-sdk/images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules 2026-05-22 12:43:14.292022405 +0100
+++ /jhbuild/webkit-sdk-deps.modules 2026-05-22 15:14:04.211558928 +0100
@@ -6,19 +6,13 @@
<metamodule id="webkit-sdk-deps">
<dependencies>
<dep package="dicts"/>
- <dep package="libicu"/>
- <dep package="harfbuzz"/>
<dep package="libwpe"/>
- <dep package="libsoup"/>
<dep package="wpebackend-fdo"/>
<dep package="gst-plugins-rs"/>
<dep package="gstreamer"/>
<dep package="sparkle-cdm"/>
- <dep package="libbacktrace"/>
- <dep package="sysprof"/>
<dep package="libspiel"/>
<dep package="openxr"/>
- <dep package="monado"/>
</dependencies>
</metamodule>
@@ -60,31 +54,6 @@
hash="sha256:c880fa8d607b2aa6eadde7d6d6302b1396ebc38368fe2332fa20e193c7ee1420"/>
</cmake>
- <!-- Ship the last version of ICU because it helps to pass more Test262 JSC tests. -->
- <autotools id="libicu" autogen-sh="./source/configure" autogenargs="--disable-samples --disable-tests">
- <branch module="unicode-org/icu/releases/download/release-78.2/icu4c-78.2-sources.tgz"
- version="78.2"
- checkoutdir="icu-${version}"
- repo="github-tarball"
- hash="sha256:3e99687b5c435d4b209630e2d2ebb79906c984685e78635078b672e03c89df35">
- <patch file="icudata-stdlibs.patch" strip="1"/>
- </branch>
- </autotools>
-
- <!-- Building harfbuzz is needed because the system version is linked against an older libicu, which is ABI-incompatible with the version shipped here. -->
- <meson id="harfbuzz" mesonargs="-Dintrospection=enabled -Dgobject=enabled -Dtests=disabled -Ddocs=disabled">
- <dependencies>
- <dep package="glib"/>
- <dep package="libicu"/>
- </dependencies>
- <branch module="harfbuzz/harfbuzz"
- repo="github.com"
- tag="14.2.0"
- version="14.2.0"
- checkoutdir="harfbuzz-${version}">
- </branch>
- </meson>
-
<meson id="wpebackend-fdo">
<dependencies>
<dep package="libwpe"/>
@@ -97,29 +66,6 @@
</branch>
</meson>
- <meson id="gtk4" mesonargs="-Dbuild-demos=false -Dbuild-examples=false -Dbuild-tests=false -Dbuild-testsuite=false">
- <branch repo="github.com"
- checkoutdir="gtk4"
- module="GNOME/gtk.git" tag="4.22.4"/>
- <dependencies>
- <dep package="glib"/>
- </dependencies>
- </meson>
-
- <meson id="libadwaita" mesonargs="-Dexamples=false -Dgtk_doc=true -Dtests=false -Dvapi=false">
- <branch repo="github.com"
- module="GNOME/libadwaita.git" tag="1.9.0"/>
- <dependencies>
- <dep package="gtk4"/>
- <dep package="sassc"/>
- </dependencies>
- </meson>
-
- <autotools id="libbacktrace" autogenargs="--with-system-libunwind --enable-shared --disable-static">
- <branch repo="github.com"
- module="ianlancetaylor/libbacktrace.git"
- checkoutdir="libbacktrace"/>
- </autotools>
<meson id="libspiel" mesonargs="-Dtests=false -Ddocs=false -Dlibspeechprovider:docs=false -Dlibspeechprovider:introspection=false">
<branch repo="github.com"
@@ -167,30 +113,6 @@
tag="gstreamer-1.28.3"/>
</meson>
- <meson id="glib" mesonargs="--localstatedir=/var -Dlibmount=disabled -Dtests=false">
- <branch repo="github.com"
- checkoutdir="glib"
- module="GNOME/glib.git" tag="2.88.1"/>
- </meson>
-
- <meson id="glib-networking">
- <branch repo="github.com"
- checkoutdir="glib-networking"
- module="GNOME/glib-networking.git" tag="2.80.1"/>
- <dependencies>
- <dep package="glib"/>
- </dependencies>
- </meson>
-
- <meson id="libsoup" mesonargs="-Dtests=false">
- <branch repo="github.com"
- checkoutdir="libsoup"
- module="GNOME/libsoup.git" tag="3.6.6"/>
- <dependencies>
- <dep package="glib"/>
- <dep package="glib-networking"/>
- </dependencies>
- </meson>
<cmake id="openxr">
<branch repo="github-tarball"
@@ -201,72 +123,13 @@
hash="sha256:f66c1a308a60556c79b723cb0b14bcc51913de8382632ba19af2d5eaf54add50"/>
</cmake>
- <cmake id="monado">
- <branch repo="freedesktop.org"
- checkoutdir="monado"
- module="monado/monado.git" tag="v25.1.0"/>
- </cmake>
<!-- Everything in this section is just for Epiphany. -->
- <systemmodule id="sassc">
- <branch repo="system"/>
- <systemdependencies>
- <dep type="path" name="sassc" />
- </systemdependencies>
- </systemmodule>
-
- <systemmodule id="gcr">
- <pkg-config>gcr-4.pc</pkg-config>
- <branch repo="system" version="3.9.0" />
- </systemmodule>
-
- <systemmodule id="libarchive">
- <pkg-config>libarchive.pc</pkg-config>
- <branch repo="system"/>
- </systemmodule>
-
- <systemmodule id="libportal-gtk4">
- <pkg-config>libportal-gtk4.pc</pkg-config>
- <branch repo="system" version="0.6" />
- </systemmodule>
-
<meson id="epiphany">
<branch repo="github.com"
module="GNOME/epiphany.git" tag="50.4"/>
- <dependencies>
- <dep package="glib"/>
- <dep package="gtk4"/>
- <dep package="gcr"/>
- <dep package="libarchive"/>
- <dep package="libportal-gtk4"/>
- <dep package="libadwaita"/>
- </dependencies>
</meson>
- <!-- Everything in this section is just for sysprof. -->
- <meson id="libpanel" mesonargs="-Dvapi=false">
- <branch repo="github.com"
- module="GNOME/libpanel.git" tag="1.10.4"/>
- <dependencies>
- <dep package="libadwaita"/>
- </dependencies>
- </meson>
-
- <meson id="libdex" mesonargs="-Dvapi=false">
- <branch repo="github.com"
- module="GNOME/libdex.git" tag="1.1.0"/>
- </meson>
-
- <meson id="sysprof" mesonargs="-Dexamples=false -Dpolkit-agent=disabled -Dsysprofd=host -Dtests=false">
- <branch repo="github.com"
- module="GNOME/sysprof.git" tag="50.0">
- </branch>
- <dependencies>
- <dep package="libadwaita"/>
- <dep package="libdex"/>
- <dep package="libpanel"/>
- </dependencies>
- </meson>
<!-- Everything in this section is optional to aid in debugging. -->
<cmake id="nghttp2" cmakeargs="-DENABLE_DEBUG=ON -DENABLE_LIB_ONLY=ON -DENABLE_DOC=OFF">
This requires to install the following:
sudo apt install libbacktrace-dev monado-service monado-cli \
gcr4 libgcr-4-dev libpanel-dev sysprof \
libsysprof-6-dev libsysprof-capture-4-dev
It seems that after we update to Ubuntu 26.04 we can remove a big part of this moduleset because the versions of this libraries on Ubuntu are now the same or even higher than we are shipping.
I tested this diff on top of PR #239 and it seems to be working fine:
This requires to install the following: