Skip to content

Commit

Permalink
jhbuild: update gstreamer to 1.24.6 (#39)
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
dpino authored Sep 10, 2024
1 parent 6a72d4e commit aa9e726
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 5 deletions.
17 changes: 15 additions & 2 deletions images/wkdev_sdk/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
6 changes: 4 additions & 2 deletions images/wkdev_sdk/jhbuild/webkit-sdk-deps.modules
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<dep package="libwpe"/>
<dep package="libsoup"/>
<dep package="wpebackend-fdo"/>
<dep package="gstreamer"/>
<dep package="sparkle-cdm"/>
<dep package="libbacktrace"/>
<dep package="sysprof"/>
Expand Down Expand Up @@ -94,10 +95,11 @@
</branch>
</meson>

<meson id="gstreamer" mesonargs="-Dlibnice=enabled -Dpython=enabled -Dintrospection=enabled -Dgst-plugins-bad:microdns=disabled -Dgst-plugins-bad:avtp=disabled -Dexamples=disabled -Dtests=disabled -Ddoc=disabled">
<meson id="gstreamer" mesonargs="-Dlibnice=enabled -Dpython=enabled -Dintrospection=enabled -Dgst-plugins-bad:microdns=disabled -Dgst-plugins-bad:avtp=disabled -Dexamples=disabled -Dtests=disabled -Ddoc=disabled -Dgtk_doc=disabled -Drs=enabled -Dwebrtc=enabled">
<branch repo="gstreamer.freedesktop.org"
checkoutdir="gstreamer"
module="gstreamer.git"/>
module="gstreamer.git"
tag="1.24.6"/>
<dependencies>
<dep package="openh264"/>
</dependencies>
Expand Down
2 changes: 1 addition & 1 deletion images/wkdev_sdk/required_system_packages/04-devtools.lst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 11 additions & 0 deletions scripts/container-only/.wkdev-init
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
)

Expand Down
5 changes: 5 additions & 0 deletions scripts/container-only/wkdev-test-host-integration
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down

0 comments on commit aa9e726

Please sign in to comment.