From 15271582aa9177e228d925f656b325bcff66bd6e Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Wed, 4 Nov 2020 02:42:23 +0300 Subject: [PATCH 1/3] New package: libpipewire0.2 --- srcpkgs/libpipewire0.2-devel | 1 + srcpkgs/libpipewire0.2/template | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 120000 srcpkgs/libpipewire0.2-devel create mode 100644 srcpkgs/libpipewire0.2/template diff --git a/srcpkgs/libpipewire0.2-devel b/srcpkgs/libpipewire0.2-devel new file mode 120000 index 00000000000..456616f84ec --- /dev/null +++ b/srcpkgs/libpipewire0.2-devel @@ -0,0 +1 @@ +libpipewire0.2 \ No newline at end of file diff --git a/srcpkgs/libpipewire0.2/template b/srcpkgs/libpipewire0.2/template new file mode 100644 index 00000000000..62c18860c00 --- /dev/null +++ b/srcpkgs/libpipewire0.2/template @@ -0,0 +1,36 @@ +# Template file for 'libpipewire0.2' +pkgname=libpipewire0.2 +version=0.2.7 +revision=1 +wrksrc=pipewire-${version} +build_style=meson +configure_args="-Dgstreamer=disabled -Ddocs=false -Dsystemd=false" +hostmakedepends="pkg-config" +makedepends="dbus-devel alsa-lib-devel libudev-devel" +short_desc="Server and user space API to deal with multimedia pipelines (v0.2)" +maintainer="Artur Sinila " +license="MIT" +homepage="https://pipewire.org/" +changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS" +distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz" +checksum=bfaa0f6ae6c0791e2e0b59234d399753bf24f1b33dbf587682363a8463dd8df1 + +if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then + makedepends+=" libatomic-devel" + LDFLAGS+=" -latomic" +fi + +post_install() { + rm -r ${DESTDIR}/{etc,usr/bin} + vlicense LICENSE +} + +libpipewire0.2-devel_package() { + depends="${pkgname}-${version}_${revision}" + short_desc+=" - pipewire and libspa development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove usr/lib/libpipewire-0.2.so + } +} From 2c4916609824e75c8feb5fb92c4723e4eb2bb28e Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Sat, 21 Nov 2020 03:58:45 +0300 Subject: [PATCH 2/3] common/shlibs: add libpipewire0.2 --- common/shlibs | 1 + 1 file changed, 1 insertion(+) diff --git a/common/shlibs b/common/shlibs index 3b89cba7b0b..507274376ab 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3272,6 +3272,7 @@ libarcan_shmif_ext.so.0.11 arcan-0.5.4.3_1 libarcan_shmif_server.so.0.11 arcan-0.5.4.3_1 libarcan_tui.so.0.11 arcan-0.5.4.3_1 liblwipv6.so.2 lwipv6-1.5a_1 +libpipewire-0.2.so.1 libpipewire0.2-0.2.7_1 libpipewire-0.3.so.0 libpipewire-0.3.6_1 libvolk.so.2.2.1 volk-2.2.1_1 libgnuradio-runtime.so.3.8.0 gnuradio-3.8.0.0_1 From 4646f1e46d767b4a15194d63e5d0ca88984c5280 Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Thu, 5 Nov 2020 07:24:27 +0300 Subject: [PATCH 3/3] chromium: enable WebRTC screen sharing via PipeWire [ci skip] --- srcpkgs/chromium/template | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index b31a09ed1f6..1a77a9f9da7 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -16,12 +16,13 @@ lib32disabled=yes nodebug=yes nopie=yes # contains tools that are not PIE, enables PIE itself -build_options="clang js_optimize vaapi pulseaudio sndio" +build_options="clang js_optimize vaapi pulseaudio sndio pipewire" desc_option_clang="Use clang to build" desc_option_js_optimize="Optimize the JS used for Chromium's UI" desc_option_vaapi="Enable support for VA-API" desc_option_pulseaudio="Enable support for PulseAudio" desc_option_sndio="Enable support for sndio" +desc_option_pipewire="Enable support for screen sharing for WebRTC via PipeWire" hostmakedepends="$(vopt_if clang clang) python pkgconf perl gperf bison ninja nodejs hwids libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk)" @@ -34,7 +35,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel re2-devel fontconfig-devel freetype-devel opus-devel - ffmpeg-devel libva-devel python-setuptools xcb-proto + ffmpeg-devel libva-devel python-setuptools xcb-proto libpipewire0.2-devel $(vopt_if sndio sndio-devel)" depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils" @@ -42,7 +43,7 @@ case "$XBPS_TARGET_MACHINE" in ppc64*-musl) makedepends+=" libucontext-devel" ;; esac -build_options_default="clang js_optimize vaapi pulseaudio" +build_options_default="clang js_optimize vaapi pulseaudio pipewire" post_patch() { if [ "$XBPS_TARGET_LIBC" = "musl" ]; then @@ -196,6 +197,10 @@ do_configure() { "use_pulseaudio=$(vopt_if pulseaudio true false)" ) + conf+=( + "rtc_use_pipewire=$(vopt_if pipewire true false)" + ) + # Use explicit library dependencies instead of dlopen. # GN only has "link_pulseaudio", the other options used before are not available atm # linux_link_cups=true