From aa9e7261578bbdf53c2f1d05cf687b1289031a3a Mon Sep 17 00:00:00 2001 From: Diego Pino Date: Tue, 10 Sep 2024 10:08:19 +0200 Subject: [PATCH] jhbuild: update gstreamer to 1.24.6 (#39) jhbuild: update gstreamer to 1.24.6 This change also implements: - jhbuild: restore unset environment variables - wkdev-sdk: install Rust - wkdev-sdk: inspect GStreamer plugins (except dav1d) --- images/wkdev_sdk/Containerfile | 17 +++++++++++++++-- .../wkdev_sdk/jhbuild/webkit-sdk-deps.modules | 6 ++++-- .../required_system_packages/04-devtools.lst | 2 +- scripts/container-only/.wkdev-init | 11 +++++++++++ .../container-only/wkdev-test-host-integration | 5 +++++ 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/images/wkdev_sdk/Containerfile b/images/wkdev_sdk/Containerfile index cbbd8ac..c71848b 100644 --- a/images/wkdev_sdk/Containerfile +++ b/images/wkdev_sdk/Containerfile @@ -80,6 +80,16 @@ RUN sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.s rm -rf WebKit && \ ${APT_AUTOREMOVE} +# Add Rust environment. +ENV RUSTUP_HOME="/opt/rust" \ + CARGO_HOME="/opt/rust" \ + PATH="/opt/rust/bin:${PATH}" + +RUN rustup default stable && \ + rustup component remove rust-docs && \ + cargo install --root /usr/local --version 0.8.1 --locked sccache && \ + cargo install --root /usr/local cargo-c + # Copy jhbuild helper files and do the initial build & install COPY /jhbuild/jhbuildrc /etc/xdg/jhbuildrc COPY /jhbuild/webkit-sdk-deps.modules /jhbuild/webkit-sdk-deps.modules @@ -127,8 +137,11 @@ RUN export QT_VERSION=$(qmake6 -query QT_VERSION) && \ ln -s ${directory} ${directory}/${QT_VERSION} >/dev/null 2>&1 || true; \ done -# Build custom sccache version (the Ubuntu provided 0.7.7 package is broken) -RUN cargo install --root /usr/local --version 0.8.1 --locked sccache +# Check GStreamer plugins are installed. +RUN gst-inspect-1.0 audiornnoise && \ + gst-inspect-1.0 cea608tott && \ + gst-inspect-1.0 livesync && \ + gst-inspect-1.0 rsrtp # Switch back to interactive prompt, when using apt. ENV DEBIAN_FRONTEND dialog diff --git a/images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules b/images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules index f126a25..6cd49e1 100644 --- a/images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules +++ b/images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules @@ -9,6 +9,7 @@ + @@ -94,10 +95,11 @@ - + + module="gstreamer.git" + tag="1.24.6"/> diff --git a/images/wkdev_sdk/required_system_packages/04-devtools.lst b/images/wkdev_sdk/required_system_packages/04-devtools.lst index 61ce003..319ae80 100644 --- a/images/wkdev_sdk/required_system_packages/04-devtools.lst +++ b/images/wkdev_sdk/required_system_packages/04-devtools.lst @@ -2,7 +2,7 @@ build-essential cmake ninja-build # Build tools -icecc ccache cargo +icecc ccache rustup # Debugging / profiling / tracing valgrind rr perf-tools-unstable systemd-coredump diff --git a/scripts/container-only/.wkdev-init b/scripts/container-only/.wkdev-init index 194824b..47b3b3b 100755 --- a/scripts/container-only/.wkdev-init +++ b/scripts/container-only/.wkdev-init @@ -188,6 +188,16 @@ try_setup_permissions_jhbuild_directory() { } +try_setup_permissions_rust_directory() { + + echo "" + + local rust_directory="/opt/rust" + echo "[12/13] Setup rust '${rust_directory}' directory permissions..." + + chown --recursive "${container_user_name}:${container_group_name}" "${rust_directory}" &>/dev/null +} + try_firstrun_script() { local user_home @@ -222,6 +232,7 @@ TASKS=( "try_setup_run_user_directory" "try_setup_dockerenv_file" "try_setup_permissions_jhbuild_directory" + "try_setup_permissions_rust_directory" "try_firstrun_script" ) diff --git a/scripts/container-only/wkdev-test-host-integration b/scripts/container-only/wkdev-test-host-integration index 05694e5..5d5b019 100755 --- a/scripts/container-only/wkdev-test-host-integration +++ b/scripts/container-only/wkdev-test-host-integration @@ -110,6 +110,11 @@ run() { run_test "Test PulseAudio: (should work if it works on the host)" \ pactl info + # Our self-compiled GStreamer interferes with the system-provided one, avoid that for testing epiphany. + unset GST_PLUGIN_PATH_1_0 + unset GST_PLUGIN_SCANNER + unset LD_LIBRARY_PATH + run_test "Test Epiphany browser: (try youtube.com, CSS 3D demos, WebGL, etc.)" \ epiphany }