Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
e0cee4d
wpewebkit: Enable webrtc support via PACKAGECONFIG
psaavedra Jun 4, 2025
201bd62
ci: wip
psaavedra Jun 20, 2025
1e972b3
ci: wip
psaavedra Jul 8, 2025
6c02639
gstreamer: Move recipes to backport directory
psaavedra Jul 11, 2025
4dc1e58
gstreamer: Enable WebRTC support in plugins-bad
psaavedra Jul 11, 2025
9fb8b19
gst-plugins-bad: tried to enable dtls
calvaris Jul 11, 2025
962fde5
gst-plugins-bad: enable sctp
calvaris Jul 11, 2025
a87d850
gst-plugins-bad: enable srtp
calvaris Jul 11, 2025
1c3ef6a
calvaris should stop being a smart-ass
calvaris Jul 11, 2025
f6c3b89
Revert "calvaris should stop being a smart-ass"
calvaris Jul 14, 2025
d456011
Revert "gst-plugins-bad: enable srtp"
calvaris Jul 14, 2025
562d9ce
Revert "gst-plugins-bad: enable sctp"
calvaris Jul 14, 2025
fd0a5b3
Revert "gst-plugins-bad: tried to enable dtls"
calvaris Jul 14, 2025
5fffb19
Revert "gstreamer: Enable WebRTC support in plugins-bad"
calvaris Jul 14, 2025
37457d8
wpewebkit: attempt to enable use libwebrtc
calvaris Jul 14, 2025
52aca51
ci: Enhance bitbake-build action with additional logging
psaavedra Jul 15, 2025
67f42ec
ci: Fix bitbake-build action with additional logging
psaavedra Jul 15, 2025
21de6f0
ci: wip
psaavedra Jul 15, 2025
a8e1245
wpewebkit: enable libwebrtc
calvaris Jul 16, 2025
09963c8
wpewebkit: Disable GStreamer WebRTC in build configuration
psaavedra Jul 16, 2025
bb2d78d
wpewebkit: Fix upstream revision
psaavedra Jul 16, 2025
c09c6a8
ci: Build nightly
psaavedra Jul 16, 2025
efdb25b
wpewebkit: Fix upstream revision
psaavedra Jul 16, 2025
a99e2ab
wpewebkit: try harder to enable LibWebRTC
calvaris Jul 17, 2025
287c995
ci: wip
psaavedra Jul 21, 2025
b68138c
ci: wip
psaavedra Jul 21, 2025
f891a5d
ci: wip
psaavedra Jul 22, 2025
caa53c5
ci: wip
psaavedra Jul 22, 2025
32dfc20
ci: Build nightly
psaavedra Jul 22, 2025
df146e3
ci: wip
psaavedra Jul 22, 2025
9bc0b33
ci: wip
psaavedra Jul 22, 2025
b7f3094
ci: wip
psaavedra Jul 22, 2025
e23f9d2
ci: wip
psaavedra Jul 22, 2025
d507326
ci: wip
psaavedra Jul 22, 2025
b6c7905
ci: wip
psaavedra Jul 22, 2025
61b22ca
ci: wip
psaavedra Jul 22, 2025
854d6ad
ci: wip
psaavedra Jul 22, 2025
6afede3
wpewebkit: try to enable LIBWEBRTC
calvaris Jul 23, 2025
01bc5cb
ci: wip
psaavedra Jul 24, 2025
56ed115
ci: wip
psaavedra Jul 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion .github/actions/bitbake-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,27 @@ runs:
echo "Max retries reached. Some sources may still be missing."
fi
done
eval $(bitbake -e wpewebkit | grep -E "^B=")
echo $B
eval $(bitbake -e wpewebkit | grep -E "^WORKDIR=")
echo $WORKDIR
echo "one"
eval $(bitbake -e wpewebkit | grep -E "^T=")

${{ inputs.bitbake_prefix }} bitbake ${{ inputs.bitbake_target }}
TIMESTAMP=${{ steps.timestamp.outputs.timestamp }}
GITHUB_PR_SHA=${GITHUB_SHA}
echo "💿️ **Image for [${{ inputs.bitbake_buildname }}](https://wk-contrib.igalia.com/yocto/meta-wpe-image/${TIMESTAMP}-${{ inputs.bitbake_buildname }}/) (ref: ${GITHUB_PR_SHA}).**" > ~/ci-message-${TIMESTAMP}-${{ inputs.bitbake_buildname }}.txt

set -x
echo "two"
[[ -f "${WORKDIR}/build/CMakeCache.txt" ]] && cat "${WORKDIR}/build/CMakeCache.txt"
[[ -f "${WORKDIR}/build/cmakeconfig.h" ]] && cat "${WORKDIR}/build/cmakeconfig.h"
echo "three"
[[ -f "${WORKDIR}/build/CMakeCache.txt" ]] && cp "${WORKDIR}/build/CMakeCache.txt" /tmp/
[[ -f "${WORKDIR}/build/cmakeconfig.h" ]] && cp "${WORKDIR}/build/cmakeconfig.h" /tmp/
[[ -f "${T}/log.do_configure" ]] && cat "${T}/log.do_configure"
[[ -f "${T}/log.do_compile" ]] && cat "${T}/log.do_compile"
- name: Artifacts
if: always()
shell: bash
Expand All @@ -89,8 +109,14 @@ runs:
s3://yocto/${TIMESTAMP}-${{ inputs.bitbake_buildname }}/${{ inputs.bitbake_target }}-${{ inputs.bitbake_machine }}.wic.bz2
s3cmd put -F ~/yocto-meta-wpe-image-${{ inputs.repo_release }}/builds/${{ inputs.bitbake_buildname }}/tmp/deploy/images/${{ inputs.bitbake_machine }}/${{ inputs.bitbake_target }}-${{ inputs.bitbake_machine }}.rootfs-dbg.tar.bz2 \
s3://yocto/${TIMESTAMP}-${{ inputs.bitbake_buildname }}/${{ inputs.bitbake_target }}-${{ inputs.bitbake_machine }}.dbg.tar.bz2
- name: Comment on the pull request
uses: mshick/add-pr-comment@v2
with:
message-id: ${{ inputs.bitbake_buildname }}-${{ steps.timestamp.outputs.timestamp }}
message-path: |
~/ci-message-${{ steps.timestamp.outputs.timestamp }}-${{ inputs.bitbake_buildname }}.txt
- name: Clean the tmp dir
if: always()
shell: bash
run: |
rm -rf ~/yocto-meta-wpe-image-${{ inputs.repo_release }}/builds/${{ inputs.bitbake_buildname }}/tmp
rm -rf ~/yocto-meta-wpe-image-${{ inputs.repo_release }}/builds/${{ inputs.bitbake_buildname }}/tmp ~/ci-message-${{ steps.timestamp.outputs.timestamp }}-${{ inputs.bitbake_buildname }}.txt
129 changes: 4 additions & 125 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
machine: ['raspberrypi5']
wpe_vers: ['2_48']
wpe_vers: ['nightly']
yocto_rel: ['scarthgap']
runs-on: [self-hosted, builder]
environment: Build Env
Expand All @@ -38,46 +38,15 @@ jobs:
bitbake_source: 'poky-wayland layers.raspberrypi conf.wpe-${{ matrix.wpe_vers }} --update-config'
repo_release: ${{ matrix.yocto_rel }}

test-raspberrypi5-stable:
strategy:
fail-fast: false
matrix:
machine: ['raspberrypi5']
wpe_vers: ['2_48']
yocto_rel: ['scarthgap']
runs-on: [self-hosted, podman]
permissions:
pull-requests: write
needs: build-raspberrypi5-stable
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/s3-configure
env:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
S3_HOST_BASE: ${{ secrets.S3_HOST_BASE }}
with:
access_key: ${S3_ACCESS_KEY}
secret_key: ${S3_SECRET_KEY}
host_base: ${S3_HOST_BASE}
- uses: ./.github/actions/podman-robot
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
with:
bitbake_buildname: wpe-${{ matrix.wpe_vers }}-${{ matrix.machine }}
bitbake_machine: ${{ matrix.machine }}
github_token: ${GITHUB_TOKEN}
wpe_vers: ${{ matrix.wpe_vers }}

build-raspberrypi-rest-stable:
strategy:
fail-fast: false
matrix:
machine: ['raspberrypi3-mesa', 'raspberrypi4-64-mesa']
wpe_vers: ['2_48']
machine: ['raspberrypi4-64-mesa']
wpe_vers: ['nightly']
yocto_rel: ['scarthgap']
runs-on: [self-hosted, builder]
if: "!contains(github.event.head_commit.message, 'ci skip') && github.event_name == 'pull_request' && !github.event.pull_request.draft"
if: "!contains(github.event.head_commit.message, 'ci skip') && github.event_name == 'pull_request'"
needs: scarthgap-repo
steps:
- uses: actions/checkout@v3
Expand All @@ -97,93 +66,3 @@ jobs:
bitbake_source: 'poky-wayland layers.raspberrypi conf.wpe-${{ matrix.wpe_vers }} --update-config'
repo_release: ${{ matrix.yocto_rel }}

test-raspberrypi-rest-stable:
strategy:
fail-fast: false
matrix:
machine: ['raspberrypi3-mesa']
wpe_vers: ['2_48']
yocto_rel: ['scarthgap']
runs-on: [self-hosted, podman]
permissions:
pull-requests: write
needs: build-raspberrypi-rest-stable
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/s3-configure
env:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
S3_HOST_BASE: ${{ secrets.S3_HOST_BASE }}
with:
access_key: ${S3_ACCESS_KEY}
secret_key: ${S3_SECRET_KEY}
host_base: ${S3_HOST_BASE}
- uses: ./.github/actions/podman-robot
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
with:
bitbake_buildname: wpe-${{ matrix.wpe_vers }}-${{ matrix.machine }}
bitbake_machine: ${{ matrix.machine }}
github_token: ${GITHUB_TOKEN}
wpe_vers: ${{ matrix.wpe_vers }}

build-freescale-stable:
strategy:
fail-fast: false
matrix:
machine: ['wandboard-mesa']
wpe_vers: ['2_48']
yocto_rel: ['scarthgap']
continue-on-error: true
runs-on: [self-hosted, builder]
if: "!contains(github.event.head_commit.message, 'ci skip') && github.event_name == 'pull_request' && !github.event.pull_request.draft"
needs: scarthgap-repo
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/s3-configure
env:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
S3_HOST_BASE: ${{ secrets.S3_HOST_BASE }}
with:
access_key: ${S3_ACCESS_KEY}
secret_key: ${S3_SECRET_KEY}
host_base: ${S3_HOST_BASE}
- uses: ./.github/actions/bitbake-build
with:
bitbake_buildname: wpe-${{ matrix.wpe_vers }}-${{ matrix.machine }}
bitbake_machine: ${{ matrix.machine }}
bitbake_source: 'poky-wayland layers.freescale conf.wpe-${{ matrix.wpe_vers }} --update-config'
repo_release: ${{ matrix.yocto_rel }}

test-freescale-stable:
strategy:
fail-fast: false
matrix:
machine: ['wandboard-mesa']
wpe_vers: ['2_48']
yocto_rel: ['scarthgap']
runs-on: [self-hosted, podman]
permissions:
pull-requests: write
needs: build-freescale-stable
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/s3-configure
env:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
S3_HOST_BASE: ${{ secrets.S3_HOST_BASE }}
with:
access_key: ${S3_ACCESS_KEY}
secret_key: ${S3_SECRET_KEY}
host_base: ${S3_HOST_BASE}
- uses: ./.github/actions/podman-robot
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
with:
bitbake_buildname: wpe-${{ matrix.wpe_vers }}-${{ matrix.machine }}
bitbake_machine: ${{ matrix.machine }}
github_token: ${GITHUB_TOKEN}
wpe_vers: ${{ matrix.wpe_vers }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
From b4c70248f27537a73857d71998bb86ac07f3d455 Mon Sep 17 00:00:00 2001
From: Xabier Rodriguez-Calvar <calvaris@igalia.com>
Date: Wed, 16 Jul 2025 10:58:07 +0200
Subject: [PATCH] webrtc: enable libwebrtc

---
Source/cmake/GStreamerChecks.cmake | 15 +--------------
Source/cmake/GStreamerDefinitions.cmake | 5 ++++-
Source/cmake/OptionsWPE.cmake | 2 +-
3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/Source/cmake/GStreamerChecks.cmake b/Source/cmake/GStreamerChecks.cmake
index 47222f94153d..fc65ed990709 100644
--- a/Source/cmake/GStreamerChecks.cmake
+++ b/Source/cmake/GStreamerChecks.cmake
@@ -57,20 +57,7 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO OR ENABLE_WEB_CODECS)
endif ()
endif ()

-if (ENABLE_MEDIA_STREAM AND ENABLE_WEB_RTC)
- if (USE_GSTREAMER_WEBRTC)
- SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
- # OpenSSL is required for SFrame encryption support.
- find_package(OpenSSL)
- if (NOT OPENSSL_FOUND OR OPENSSL_VERSION VERSION_LESS "3.0.0")
- message(FATAL_ERROR "OpenSSL 3 is needed for ENABLE_WEB_RTC.")
- endif ()
- else ()
- SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)
- endif ()
-else ()
- SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
-endif ()
+SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)

if (NOT ENABLE_WPE_PLATFORM)
SET_AND_EXPOSE_TO_BUILD(ENABLE_MEDIA_TELEMETRY OFF)
diff --git a/Source/cmake/GStreamerDefinitions.cmake b/Source/cmake/GStreamerDefinitions.cmake
index a508f4955d85..268ce7ebaf78 100644
--- a/Source/cmake/GStreamerDefinitions.cmake
+++ b/Source/cmake/GStreamerDefinitions.cmake
@@ -2,10 +2,13 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PUBLIC ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO PUBLIC ON)

WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SOURCE PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PUBLIC ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PUBLIC ON)

WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE ON)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS "Whether to enable support for MPEG-TS" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_FULL "Whether to enable support for static GStreamer builds" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_TRANSCODER "Whether to enable support for GStreamer MediaRecorder backend" PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_GSTREAMER_WEBRTC "Whether to enable support for WebRTC" PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_GSTREAMER_WEBRTC "Whether to enable support for GstWebRTC" PUBLIC OFF)
+WEBKIT_OPTION_DEFINE(USE_LIB_WEBRTC "Whether to enable support for LibWebRTC" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_TELEMETRY "Whether to enable support for media telemetry" PRIVATE OFF)
diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake
index d04d2c2504b8..cd05fcd49f27 100644
--- a/Source/cmake/OptionsWPE.cmake
+++ b/Source/cmake/OptionsWPE.cmake
@@ -71,7 +71,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THUNDER PRIVATE ${ENABLE_DEVELOPER_MODE}
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VARIATION_FONTS PRIVATE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CODECS PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PUBLIC ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER_BIDI PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBXR PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})

--
2.47.2

3 changes: 2 additions & 1 deletion recipes-browser/wpewebkit/wpewebkit_%.bbappend
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

PACKAGECONFIG:append = " experimental-features minibrowser"
EXTRA_OECMAKE += "-DUSE_GSTREAMER_WEBRTC=OFF"

PACKAGECONFIG:append = " experimental-features minibrowser webrtc libwebrtc"
7 changes: 4 additions & 3 deletions recipes-browser/wpewebkit/wpewebkit_2.48.%.bbappend
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

SRC_URI += "file://0001-Add-LAYER_BASED_SVG_ENGINE-envvar_v2.44.patch "

SRCBRANCH:class-devupstream = "main"
SRCBRANCH:class-devupstream = "webkitglib/2.48"
SRC_URI:class-devupstream = "git://github.com/WebKit/WebKit.git;protocol=https;branch=${SRCBRANCH} \
file://WPEPlatform-Disable-sync-observer-for-Wayland-screen.patch \
file://0001-Add-LAYER_BASED_SVG_ENGINE-envvar_v2.50.patch "
SRCREV:class-devupstream = "${AUTOREV}"
SRCREV:class-devupstream = "50eef6579cbecfb73971fcbc0c82b7187a657fdc"

PV:class-devupstream = "trunk"

Expand All @@ -19,3 +18,5 @@ PACKAGECONFIG:remove = "speech-synthesis"

TOOLCHAIN:aarch64 = "clang"
LIBCPLUSPLUS:aarch64 = "-stdlib=libc++"

EXTRA_OECMAKE += " -DFANECAS2=OFF "
Loading