From 44ca757e399e04e1b9ac2054fcb9c56825b85df3 Mon Sep 17 00:00:00 2001 From: Kridsada Thanabulpong Date: Sat, 28 Mar 2020 16:23:52 +0900 Subject: [PATCH] pipewire: update to 0.3.6 --- common/shlibs | 14 +- srcpkgs/alsa-pipewire | 1 + srcpkgs/libjack-pipewire | 1 + srcpkgs/libpulseaudio-pipewire | 1 + srcpkgs/libspa-alsa | 1 + srcpkgs/libspa-audioconvert | 1 + srcpkgs/libspa-audiomixer | 1 + srcpkgs/libspa-control | 1 + srcpkgs/libspa-jack | 1 + srcpkgs/libspa-v4l2 | 1 + srcpkgs/libspa-videoconvert | 1 + srcpkgs/libspa-vulkan | 1 + .../pipewire/patches/fix-neon-detection.patch | 55 ++++++++ srcpkgs/pipewire/template | 131 +++++++++++++++--- 14 files changed, 191 insertions(+), 20 deletions(-) create mode 120000 srcpkgs/alsa-pipewire create mode 120000 srcpkgs/libjack-pipewire create mode 120000 srcpkgs/libpulseaudio-pipewire create mode 120000 srcpkgs/libspa-alsa create mode 120000 srcpkgs/libspa-audioconvert create mode 120000 srcpkgs/libspa-audiomixer create mode 120000 srcpkgs/libspa-control create mode 120000 srcpkgs/libspa-jack create mode 120000 srcpkgs/libspa-v4l2 create mode 120000 srcpkgs/libspa-videoconvert create mode 120000 srcpkgs/libspa-vulkan create mode 100644 srcpkgs/pipewire/patches/fix-neon-detection.patch diff --git a/common/shlibs b/common/shlibs index 87f7cfd583..929d7a4600 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3285,7 +3285,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 libpipewire-0.2.2_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 libgnuradio-pmt.so.3.8.0 gnuradio-3.8.0.0_1 @@ -3514,6 +3514,18 @@ libcss_parser.so.0 htmlcxx-0.86_1 libaom.so.0 libaom-1.0.0_1 libre.so re-0.5.8_1 libspandsp.so.2 spandsp-0.0.6_1 +libspa-alsa.so libspa-alsa-0.3.6_1 +libspa-audioconvert.so libspa-audioconvert-0.3.6_1 +libspa-audiomixer.so libspa-audiomixer-0.3.6_1 +libspa-bluez5.so libspa-bluetooth-0.3.6_1 +libspa-control.so libspa-control-0.3.6_1 +libspa-ffmpeg.so libspa-ffmpeg-0.3.6_1 +libspa-jack.so libspa-jack-0.3.6_1 +libspa-v4l2.so libspa-v4l2-0.3.6_1 +libspa-videoconvert.so libspa-videoconvert-0.3.6_1 +libspa-vulkan.so libspa-vulkan-0.3.6_1 +libspa-bluez5.so libspa-bluetooth-0.3.6_1 +libspa-ffmpeg.so libspa-ffmpeg-0.3.6_1 librem.so rem-0.5.3_1 libshp.so.1 shapelib-1.4.1_1 libantlr3c.so libantlr3c-3.4_1 diff --git a/srcpkgs/alsa-pipewire b/srcpkgs/alsa-pipewire new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/alsa-pipewire @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libjack-pipewire b/srcpkgs/libjack-pipewire new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libjack-pipewire @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libpulseaudio-pipewire b/srcpkgs/libpulseaudio-pipewire new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libpulseaudio-pipewire @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-alsa b/srcpkgs/libspa-alsa new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-alsa @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-audioconvert b/srcpkgs/libspa-audioconvert new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-audioconvert @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-audiomixer b/srcpkgs/libspa-audiomixer new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-audiomixer @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-control b/srcpkgs/libspa-control new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-control @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-jack b/srcpkgs/libspa-jack new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-jack @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-v4l2 b/srcpkgs/libspa-v4l2 new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-v4l2 @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-videoconvert b/srcpkgs/libspa-videoconvert new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-videoconvert @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/libspa-vulkan b/srcpkgs/libspa-vulkan new file mode 120000 index 0000000000..c9c97cf670 --- /dev/null +++ b/srcpkgs/libspa-vulkan @@ -0,0 +1 @@ +pipewire \ No newline at end of file diff --git a/srcpkgs/pipewire/patches/fix-neon-detection.patch b/srcpkgs/pipewire/patches/fix-neon-detection.patch new file mode 100644 index 0000000000..e3ef144250 --- /dev/null +++ b/srcpkgs/pipewire/patches/fix-neon-detection.patch @@ -0,0 +1,55 @@ +Workaround for NEON detection for armv6l/armv7l +https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/235 + +diff --git meson.build meson.build +index 29b4b892..0d048a1f 100644 +--- meson.build ++++ meson.build +@@ -99,36 +99,16 @@ have_avx = cc.has_argument(avx_args) + have_avx2 = cc.has_argument(avx2_args) + + have_neon = false +-if host_machine.cpu_family() == 'aarch64' +- if cc.compiles(''' +- #include +- int main () { +- float *s; +- asm volatile( +- " ld1 { v0.4s }, [%[s]], #16\n" +- " fcvtzs v0.4s, v0.4s, #31\n" +- : [s] "+r" (s) : :); +- } +- ''', +- name : 'aarch64 Neon Support') +- neon_args = [] +- have_neon = true +- +- endif +-elif cc.has_argument('-mfpu=neon') +- if cc.compiles(''' +- #include +- int main () { +- float *s; +- asm volatile( +- " vld1.32 { q0 }, [%[s]]!\n" +- " vcvt.s32.f32 q0, q0, #31\n" +- : [s] "+r" (s) : :); +- } +- ''', +- args: '-mfpu=neon', +- name : 'arm Neon Support') +- neon_args = ['-mfpu=neon'] +- have_neon = true ++neon_args = [] ++if host_machine.cpu_family() == 'arm' or host_machine.cpu_family() == 'aarch64' ++ if cc.compiles( ++''' ++#include ++int32x4_t testfunc(int16_t *a, int16_t *b) { ++return vmull_s16(vld1_s16(a), vld1_s16(b)); ++} ++''', ++ name : 'NEON support') ++ have_neon = true + endif + endif diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index 7f646dad11..494f229632 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,26 +1,37 @@ # Template file for 'pipewire' pkgname=pipewire -version=0.2.7 +version=0.3.6 revision=1 build_style=meson -configure_args="-Dman=true -Dgstreamer=enabled -Ddocs=true -Dsystemd=false" +configure_args="-Dman=true -Dgstreamer=true -Ddocs=true -Dsystemd=false + -Dbluez5=true -Dffmpeg=true -Dpipewire-alsa=true -Dpipewire-jack=true + -Dpipewire-pulseaudio=true" hostmakedepends="doxygen graphviz pkg-config xmltoman" makedepends="SDL2-devel ffmpeg-devel gst-plugins-base1-devel jack-devel - sbc-devel v4l-utils-devel libva-devel" + sbc-devel v4l-utils-devel libva-devel libbluetooth-devel" short_desc="Server and user space API to deal with multimedia pipelines" -maintainer="Orphaned " -#Next release will probably change to MIT, currently listed in master -license="LGPL-2.1-only, GPL-2.0-only " +maintainer="Kridsada Thanabulpong " +license="MIT" homepage="https://pipewire.org/" -changelog="https://raw.githubusercontent.com/PipeWire/pipewire/master/NEWS" -distfiles="https://github.com/PipeWire/pipewire/archive/${version}.tar.gz" -checksum=bfaa0f6ae6c0791e2e0b59234d399753bf24f1b33dbf587682363a8463dd8df1 +changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS" +distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz" +checksum=927301640f87d68e52f4480667977bc6f47186ee7877f7aa86ce9172ff144edc conf_files="/etc/pipewire/pipewire.conf" +if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then + makedepends+=" libatomic-devel" + LDFLAGS+=" -latomic" +fi + +post_install() { + vlicense LICENSE +} + libpipewire_package() { short_desc+=" - pipewire library" pkg_install() { - vmove "usr/lib/libpipewire-0.2.so.*" + vmove "usr/lib/libpipewire-0.3.so.*" + vmove "usr/lib/pipewire-0.3/*.so" } } @@ -28,25 +39,81 @@ pipewire-devel_package() { depends="libpipewire-${version}_${revision}" short_desc+=" - pipewire and libspa development files" pkg_install() { - vmove usr/include/pipewire - vmove usr/include/spa - vmove usr/lib/pkgconfig/libpipewire-0.2.pc - vmove usr/lib/pkgconfig/libspa-0.1.pc - vmove usr/lib/libpipewire-0.2.so + vmove usr/include/pipewire-0.3 + vmove usr/include/spa-0.2 + vmove usr/lib/pkgconfig/libpipewire-0.3.pc + vmove usr/lib/pkgconfig/libspa-0.2.pc + vmove usr/lib/libpipewire-0.3.so } } -libspa-ffmpeg_package() { - short_desc+=" - ffmpeg plugins" +libspa-alsa_package() { + short_desc+=" - alsa plugins" pkg_install() { - vmove usr/lib/spa/ffmpeg + vmove usr/lib/spa-0.2/alsa + } +} + +libspa-audioconvert_package() { + short_desc+=" - audioconvert plugins" + pkg_install() { + vmove usr/lib/spa-0.2/audioconvert + } +} + +libspa-audiomixer_package() { + short_desc+=" - audiomixer plugins" + pkg_install() { + vmove usr/lib/spa-0.2/audiomixer } } libspa-bluetooth_package() { short_desc+=" - bluetooth plugins" pkg_install() { - vmove usr/lib/spa/bluez5 + vmove usr/lib/spa-0.2/bluez5 + } +} + +libspa-control_package() { + short_desc+=" - control plugins" + pkg_install() { + vmove usr/lib/spa-0.2/control + } +} + +libspa-ffmpeg_package() { + short_desc+=" - ffmpeg plugins" + pkg_install() { + vmove usr/lib/spa-0.2/ffmpeg + } +} + +libspa-jack_package() { + short_desc+=" - jack plugins" + pkg_install() { + vmove usr/lib/spa-0.2/jack + } +} + +libspa-v4l2_package() { + short_desc+=" - v4l2 plugins" + pkg_install() { + vmove usr/lib/spa-0.2/v4l2 + } +} + +libspa-videoconvert_package() { + short_desc+=" - videoconvert plugins" + pkg_install() { + vmove usr/lib/spa-0.2/videoconvert + } +} + +libspa-vulkan_package() { + short_desc+=" - vulkan plugins" + pkg_install() { + vmove usr/lib/spa-0.2/vulkan } } @@ -57,6 +124,32 @@ gstreamer1-pipewire_package() { } } +libpulseaudio-pipewire_package() { + depends="libpipewire-${version}_${revision}" + short_desc+=" - PulseAudio client library" + pkg_install() { + vmove usr/lib/pipewire-0.3/pulse + vmove usr/bin/pw-pulse + } +} + +alsa-pipewire_package() { + depends="libpipewire-${version}_${revision}" + short_desc+=" - ALSA client library" + pkg_install() { + vmove usr/lib/alsa-lib + } +} + +libjack-pipewire_package() { + depends="libpipewire-${version}_${revision}" + short_desc+=" - JACK client library" + pkg_install() { + vmove usr/lib/pipewire-0.3/jack + vmove usr/bin/pw-jack + } +} + pipewire-doc_package() { archs=noarch short_desc+=" - documentation"