diff --git a/buildscripts/ci/linux/setup.sh b/buildscripts/ci/linux/setup.sh index a2c0a25320efd..fdc82c491ec7c 100644 --- a/buildscripts/ci/linux/setup.sh +++ b/buildscripts/ci/linux/setup.sh @@ -116,12 +116,18 @@ apt_packages_ffmpeg=( libswscale-dev ) +apt_packages_pw_deps=( + libdbus-1-dev + libudev-dev +) + sudo apt-get update sudo apt-get install -y --no-install-recommends \ "${apt_packages_basic[@]}" \ "${apt_packages_standard[@]}" \ "${apt_packages_runtime[@]}" \ - "${apt_packages_ffmpeg[@]}" + "${apt_packages_ffmpeg[@]}" \ + "${apt_packages_pw_deps[@]}" ########################################################################## # GET QT @@ -198,9 +204,49 @@ if [[ ! -d "$ninja_dir" ]]; then chmod +x $ninja_dir/ninja fi echo export PATH="${ninja_dir}:\${PATH}" >> ${ENV_FILE} +export PATH="${ninja_dir}:${PATH}" # needed to compile pipewire +echo '$PATH with Ninja:' +echo $PATH echo "ninja version" $ninja_dir/ninja --version +# MESON +# Get recent version of Meson (to build pipewire) +meson_version="0.63.1" +sudo python3 -m pip install meson==${meson_version} + +########################################################################## +# BUILD PIPWIRE +########################################################################## + +pw_version="1.0.4" +pw_dir="$BUILD_TOOLS/pipewire-${pw_version}" +pw_url="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${pw_version}/pipewire-${pw_version}.tar.gz" +if [[ ! -d "${pw_dir}" ]]; then + mkdir -p "${pw_dir}" + wget -q --show-progress -O pw.tar.gz "${pw_url}" + tar -xzf pw.tar.gz -C "${pw_dir}" --strip-components=1 + rm pw.tar.gz + pushd "${pw_dir}" + meson setup builddir \ + --buildtype=release \ + -Dsession-managers=[] \ + -Dgstreamer=disabled \ + -Dexamples=disabled \ + -Dsystemd=disabled \ + -Dselinux=disabled \ + -Dpipewire-jack=disabled \ + -Dpipewire-v4l2=disabled \ + -Djack-devel=false \ + -Dpw-cat=disabled \ + -Dpw-cat-ffmpeg=disabled + meson compile -C builddir + popd +fi +pushd ${pw_dir} +sudo meson install -C builddir +popd + ########################################################################## # OTHER ##########################################################################