From 90c88731bd036e5698b281fbc0a5f3aa4c9983ac Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 29 Jun 2020 11:38:31 +0100 Subject: gentoo resync : 29.06.2020 --- media-video/pipewire/Manifest | 7 +- .../pipewire/files/pipewire-0.2.7-fno-common.patch | 47 +++++++ media-video/pipewire/metadata.xml | 6 + media-video/pipewire/pipewire-0.2.7.ebuild | 2 + media-video/pipewire/pipewire-0.3.6.ebuild | 135 +++++++++++++++++++++ 5 files changed, 195 insertions(+), 2 deletions(-) create mode 100644 media-video/pipewire/files/pipewire-0.2.7-fno-common.patch create mode 100644 media-video/pipewire/pipewire-0.3.6.ebuild (limited to 'media-video/pipewire') diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index 26452201675f..e56369ea10ec 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,3 +1,6 @@ +AUX pipewire-0.2.7-fno-common.patch 1235 BLAKE2B 59e5c9376a3097d3427c0f0623827e3163298bb23d1888d3791504928c50850cf59d41392e78d90b07d4f5a481af60d37661a96ca47c61f939a938c54a523839 SHA512 87a67a14289b5dde0ff174e90cb94c3884ea7b3189d00b7c8fc195445a5555fbba0ee8a641edd8e1b5322508082f8c2e52c14a18a392038a9ba9c27ff470bd2b DIST pipewire-0.2.7.tar.gz 421644 BLAKE2B d2ccb56a9ea5ea7782678deb6eae0b0a70da1fa69e807398062d388733901839f15a2f0f7db982fbebd2b2759f443709e6c1950b6367f3ed4801d6c2d6109e73 SHA512 10d3e20cc3d233fbcd1fc39702ae3043a656ebcd9cd3c39c77f0cc2bf42ff4956fc03e7933c7b397bca446c63f45ddacea948d5ec7e4a3300499fa2794f14334 -EBUILD pipewire-0.2.7.ebuild 1601 BLAKE2B 0da14c2d7297aed2394df2a5d01385954f4e211766bee36718e564f55c1833cb6db5f04defaf8250bf699e2c56ab37a9b3c9df43abb1898877ec298799288da8 SHA512 c970d4d4d9501878b8e66c6998ee2681d418ea3fc9a645c9a8b6b3ba9486fa01e7d3fdc3ae36d42f79cf67ec243f592e69a9249baa281a0543ca32451180125a -MISC metadata.xml 449 BLAKE2B c580fa69fbecd1046123d51f0a556bf54e7dd76a7ced768ae31289969a3fcb0c03f301a214da222201bad2cd0bcf68674807e28efcdee27edd9fa6d913cdc146 SHA512 73c4b73b417e92d1bdf802ce38939afdff2ba42bc638e0c6ba42593894755ce6f197678e8676f763bd66bb0b2bb9175c1369c173be3ab64e7323795d3b00bf0c +DIST pipewire-0.3.6.tar.gz 968858 BLAKE2B 342b935ce1f68282cb6a1684855c7efacf24759359ca2079aade27b7d7d2699135e07c1e52afefb8924d9c8274b4cdbda98cc6c19d8aa0bf14b7202c0e0923f4 SHA512 a8d67bb6135432705d6de026074325f0cae7f01e3fe0b65fa7dafb128e5984ce126f8b4635bfbd9746777514df6f0880a78149fd007c7c1432ac29f95655ddcc +EBUILD pipewire-0.2.7.ebuild 1650 BLAKE2B 3e94b6c00adb56c37e01df3f0adafc7d0d2115b2a27a1da3622245731ee341550f8bc8421e7d85693ca41a0a2ba17c192c06017f59e62bcd758babaf4bedfa20 SHA512 f924725947d243452b8bec1f03f7d113de2d4668ef3db18b2922a4b1695c87d4ac9def44e2d79d38fac3013a09dadb84af11fe8dc9aec4fe0ba475340f17b295 +EBUILD pipewire-0.3.6.ebuild 3307 BLAKE2B 2f7ff2c07b2bfd27dd1bfe64048b60b650bb9515f5df62d929a37103360d6b991ada116a36a9b318a671a4825522e897c482f3a897bdf1c57c42f4e74e89dc2d SHA512 961dee1d057b318f5b1eecccaf7ec9fb0bf38ffb499b86396dc3ee8b34b80a019d1b8675934c82c9d61a58f3ef57e9ac6b50e263d16e016418570dace0bb283c +MISC metadata.xml 840 BLAKE2B a023f04c07bc9665f1379e6152ab5a831ca1977038e36263b5ab873195f8f8dc13fe8b036637831833b76406dab484ae40df4ff227991c2ec5bfaa87ecbd5e6c SHA512 8d8d7a10d8024d988356859da0430a69fd11e17cc1a854211bf0128f8dc2ce279ae23954bef39345cd0e94248de00388d7c0db5e166d6f4e0553992d3325bce3 diff --git a/media-video/pipewire/files/pipewire-0.2.7-fno-common.patch b/media-video/pipewire/files/pipewire-0.2.7-fno-common.patch new file mode 100644 index 000000000000..f4f82ba96c08 --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.2.7-fno-common.patch @@ -0,0 +1,47 @@ +Bug: https://bugs.gentoo.org/710796 + +--- a/spa/plugins/bluez5/a2dp-codecs.h ++++ b/spa/plugins/bluez5/a2dp-codecs.h +@@ -284,15 +284,15 @@ + } + } + +-const a2dp_sbc_t bluez_a2dp_sbc; ++extern const a2dp_sbc_t bluez_a2dp_sbc; + #if ENABLE_MP3 +-const a2dp_mpeg_t bluez_a2dp_mpeg; ++extern const a2dp_mpeg_t bluez_a2dp_mpeg; + #endif + #if ENABLE_AAC +-const a2dp_aac_t bluez_a2dp_aac; ++extern const a2dp_aac_t bluez_a2dp_aac; + #endif + #if ENABLE_APTX +-const a2dp_aptx_t bluez_a2dp_aptx; ++extern const a2dp_aptx_t bluez_a2dp_aptx; + #endif + + #endif +--- a/spa/plugins/bluez5/bluez5-monitor.c ++++ b/spa/plugins/bluez5/bluez5-monitor.c +@@ -75,7 +75,7 @@ + struct spa_list transport_list; + }; + +-struct spa_handle_factory spa_a2dp_sink_factory; ++extern struct spa_handle_factory spa_a2dp_sink_factory; + + static void fill_item(struct spa_bt_monitor *this, struct spa_bt_transport *transport, + struct spa_pod **result, struct spa_pod_builder *builder) +--- a/spa/plugins/bluez5/meson.build ++++ b/spa/plugins/bluez5/meson.build +@@ -1,7 +1,8 @@ + + bluez5_sources = ['plugin.c', + 'a2dp-sink.c', +- 'bluez5-monitor.c'] ++ 'a2dp-codecs.c', ++ 'bluez5-monitor.c'] + + bluez5lib = shared_library('spa-bluez5', + bluez5_sources, diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml index a5d6bb1343ab..dafe4792ddc3 100644 --- a/media-video/pipewire/metadata.xml +++ b/media-video/pipewire/metadata.xml @@ -12,4 +12,10 @@ PipeWire/pipewire + + Install PipeWire alsa device for playback and record + Enable SPA JACK plugin and emulation to be able to run JACK applications on top of PipeWire + Enable emulation to be able to run PulseAudio applications on top of PipeWire + Enable vulkan spa plugin integration + diff --git a/media-video/pipewire/pipewire-0.2.7.ebuild b/media-video/pipewire/pipewire-0.2.7.ebuild index f8111e7a7281..92f7f268808c 100644 --- a/media-video/pipewire/pipewire-0.2.7.ebuild +++ b/media-video/pipewire/pipewire-0.2.7.ebuild @@ -44,6 +44,8 @@ DEPEND=" " RDEPEND="${DEPEND}" +PATCHES=( "${FILESDIR}/${P}-fno-common.patch" ) + src_prepare() { spa_use() { if ! use ${1}; then diff --git a/media-video/pipewire/pipewire-0.3.6.ebuild b/media-video/pipewire/pipewire-0.3.6.ebuild new file mode 100644 index 000000000000..c6920216b8d5 --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.6.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/PipeWire/pipewire.git" + EGIT_BRANCH="work" + inherit git-r3 +else + SRC_URI="https://github.com/PipeWire/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~ppc64 ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="LGPL-2.1+" +SLOT="0/0.3" +IUSE="+alsa bluetooth debug doc ffmpeg gstreamer jack pulseaudio systemd test vulkan X" + +BDEPEND=" + app-doc/xmltoman + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + media-libs/alsa-lib + media-libs/libsdl2 + media-libs/libsndfile + sys-apps/dbus + virtual/libudev + bluetooth? ( + media-libs/sbc + net-wireless/bluez:= + ) + ffmpeg? ( media-video/ffmpeg:= ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + ) + jack? ( >=media-sound/jack2-1.9.10:2 ) + pulseaudio? ( + dev-libs/glib:2 + media-sound/pulseaudio + ) + systemd? ( sys-apps/systemd ) + vulkan? ( media-libs/vulkan-loader ) + X? ( x11-libs/libX11 ) +" +DEPEND="${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +DOCS=( {README,INSTALL}.md NEWS ) + +RESTRICT="!test? ( test )" + +src_prepare() { + spa_use() { + if ! in_iuse ${1} || ! use ${1}; then + sed -e "/^add-spa-lib.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \ + -e "/^load-module.*${1}/s/^/#${2-$1}-disabled-by-USE-no-${1}\:/" \ + -i src/daemon/pipewire.conf.in || die + fi + } + + default + spa_use libcamera + spa_use rtkit + spa_use bluetooth bluez5 + spa_use jack + spa_use vulkan +} + +src_configure() { + local emesonargs=( + -Dexamples=true # contains required pipewire-media-session + -Dman=true + -Dspa=true + -Dspa-plugins=true + --buildtype=$(usex debug debugoptimized plain) + # alsa plugin and jack/pulseaudio emulation + $(meson_use alsa pipewire-alsa) + $(meson_use jack pipewire-jack) + $(meson_use pulseaudio pipewire-pulseaudio) + # spa-plugins + # we install alsa support unconditionally + $(meson_use bluetooth bluez5) + $(meson_use ffmpeg) + $(meson_use jack) + $(meson_use vulkan) + # libcamera is not packaged + # misc + $(meson_use doc docs) + $(meson_use gstreamer) + $(meson_use systemd) + $(meson_use test test) + $(meson_use test tests) + ) + meson_src_configure +} + +src_install() { + meson_src_install + + dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf + + if use alsa; then + dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf + fi +} + +pkg_postinst() { + elog "Package has optional sys-auth/rtkit RUNTIME support that may be disabled" + elog "by setting DISABLE_RTKIT env var." + elog "To enable rtkit, uncomment the load-module line in /etc/pipewire/pipewire.conf" + elog + if use jack; then + elog "Please note that even though the libraries for JACK emulation have" + elog "been installed, this ebuild is not yet wired up to replace a JACK server." + elog + fi + if use pulseaudio; then + elog "Please note that even though the libraries for PulseAudio emulation have" + elog "been installed, this ebuild is not yet wired up to replace PulseAudio." + elog + fi + elog "Read INSTALL.md for information about ALSA plugin or JACK/PulseAudio emulation." +} -- cgit v1.2.3