summaryrefslogtreecommitdiff
path: root/media-video/pipewire
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-06-29 11:38:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-06-29 11:38:31 +0100
commit90c88731bd036e5698b281fbc0a5f3aa4c9983ac (patch)
tree83fc5facb6b12be510a37bc3d241cc63e965b13a /media-video/pipewire
parentfeb0daf81d888e9160f9f94502de09b66f2a63fd (diff)
gentoo resync : 29.06.2020
Diffstat (limited to 'media-video/pipewire')
-rw-r--r--media-video/pipewire/Manifest7
-rw-r--r--media-video/pipewire/files/pipewire-0.2.7-fno-common.patch47
-rw-r--r--media-video/pipewire/metadata.xml6
-rw-r--r--media-video/pipewire/pipewire-0.2.7.ebuild2
-rw-r--r--media-video/pipewire/pipewire-0.3.6.ebuild135
5 files changed, 195 insertions, 2 deletions
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 @@
<upstream>
<remote-id type="github">PipeWire/pipewire</remote-id>
</upstream>
+ <use>
+ <flag name="alsa">Install PipeWire alsa device for playback and record</flag>
+ <flag name="jack">Enable SPA JACK plugin and emulation to be able to run JACK applications on top of PipeWire</flag>
+ <flag name="pulseaudio">Enable emulation to be able to run PulseAudio applications on top of PipeWire</flag>
+ <flag name="vulkan">Enable vulkan spa plugin integration</flag>
+ </use>
</pkgmetadata>
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."
+}