Added pipewire with libcamera support
This commit is contained in:
		@@ -0,0 +1,21 @@
 | 
			
		||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fba7083f8ceb210c7c20aceafeb5c9a8767cf705
 | 
			
		||||
 | 
			
		||||
From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Wim Taymans <wtaymans@redhat.com>
 | 
			
		||||
Date: Thu, 26 Jan 2023 11:57:45 +0100
 | 
			
		||||
Subject: [PATCH] modules: also install module-combine-stream
 | 
			
		||||
 | 
			
		||||
--- a/src/modules/meson.build
 | 
			
		||||
+++ b/src/modules/meson.build
 | 
			
		||||
@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
 | 
			
		||||
 pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
 | 
			
		||||
   [ 'module-combine-stream.c' ],
 | 
			
		||||
   include_directories : [configinc],
 | 
			
		||||
-  install : false,
 | 
			
		||||
+  install : true,
 | 
			
		||||
   install_dir : modules_install_dir,
 | 
			
		||||
   install_rpath: modules_install_dir,
 | 
			
		||||
   dependencies : [spa_dep, dl_lib, pipewire_dep],
 | 
			
		||||
-- 
 | 
			
		||||
2.39.1
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,28 @@
 | 
			
		||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1511
 | 
			
		||||
 | 
			
		||||
From 18fa7a555cc43c7219a53d836d9561faec6d6310 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Sam James <sam@gentoo.org>
 | 
			
		||||
Date: Sat, 28 Jan 2023 11:04:48 +0000
 | 
			
		||||
Subject: [PATCH] spa: bluez5: fix dependency on glib in bluez5_deps
 | 
			
		||||
 | 
			
		||||
In de595a78ff958b8314d853f6266d5832529d9729, we started to require glib
 | 
			
		||||
for building bluez and introduced dependencies for the needed gio* bits,
 | 
			
		||||
but we only ever check for glib itself for gstreamer or flatpak.
 | 
			
		||||
 | 
			
		||||
Drop glib from the dep list to match the summary() & subsequent bluez_deps_found
 | 
			
		||||
logic in spa/meson.build.
 | 
			
		||||
 | 
			
		||||
Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2999
 | 
			
		||||
--- a/spa/plugins/bluez5/meson.build
 | 
			
		||||
+++ b/spa/plugins/bluez5/meson.build
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
 gnome = import('gnome')
 | 
			
		||||
 
 | 
			
		||||
-bluez5_deps = [ mathlib, dbus_dep, glib2_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
 | 
			
		||||
+bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
 | 
			
		||||
 foreach dep: bluez5_deps
 | 
			
		||||
   if not dep.found()
 | 
			
		||||
     subdir_done()
 | 
			
		||||
-- 
 | 
			
		||||
2.39.1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								media-video/pipewire/files/99-pipewire-default-hook.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								media-video/pipewire/files/99-pipewire-default-hook.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
# Load pipewire configuration at conf hook processing time. This allows to
 | 
			
		||||
# override pulseaudio defaults configuration which is also applied via hook.
 | 
			
		||||
#
 | 
			
		||||
# Note since hooks are run after @GENTOO_PORTAGE_EPREFIX@/etc/asound.conf and ~/.asoundrc are applied,
 | 
			
		||||
# we load these again here make sure that user configuration takes precedence.
 | 
			
		||||
 | 
			
		||||
@hooks [
 | 
			
		||||
	{
 | 
			
		||||
		func load
 | 
			
		||||
		files [
 | 
			
		||||
			"@GENTOO_PORTAGE_EPREFIX@/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf"
 | 
			
		||||
			"@GENTOO_PORTAGE_EPREFIX@/etc/asound.conf"
 | 
			
		||||
			"~/.asoundrc"
 | 
			
		||||
		]
 | 
			
		||||
		errors false
 | 
			
		||||
	}
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										29
									
								
								media-video/pipewire/files/gentoo-pipewire-launcher.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								media-video/pipewire/files/gentoo-pipewire-launcher.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# PipeWire launcher script for XDG compliant desktops on OpenRC.
 | 
			
		||||
#
 | 
			
		||||
# systemd users are very _STRONGLY_ advised to use the much
 | 
			
		||||
# more reliable and predictable user units instead.
 | 
			
		||||
 | 
			
		||||
# WARNING: This script assumes being run inside XDG compliant session,
 | 
			
		||||
# which means D-Bus session instance is expected to be correctly set up
 | 
			
		||||
# prior to this script starting. If that is not true, things may break!
 | 
			
		||||
 | 
			
		||||
# Best to reap any existing daemons and only then try to start a new set.
 | 
			
		||||
pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
 | 
			
		||||
 | 
			
		||||
# The core daemon which by itself does probably nothing.
 | 
			
		||||
@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire &
 | 
			
		||||
 | 
			
		||||
# The so called pipewire-pulse daemon used for PulseAudio compatibility.
 | 
			
		||||
# Commenting this out will stop the PA proxying daemon from starting,
 | 
			
		||||
# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
 | 
			
		||||
# clients will still have access to audio and may end up clashing with
 | 
			
		||||
# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
 | 
			
		||||
@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
 | 
			
		||||
 | 
			
		||||
# Hack for bug #822498
 | 
			
		||||
sleep 1
 | 
			
		||||
 | 
			
		||||
# Finally a session manager is required for PipeWire to do anything.
 | 
			
		||||
exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber
 | 
			
		||||
							
								
								
									
										12
									
								
								media-video/pipewire/files/pipewire.desktop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								media-video/pipewire/files/pipewire.desktop
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Version=1.0
 | 
			
		||||
Name[de]=PipeWire Mediensystem
 | 
			
		||||
Name=PipeWire Media System
 | 
			
		||||
Comment[de]=Das PipeWire Mediensystem starten
 | 
			
		||||
Comment=Start the PipeWire Media System
 | 
			
		||||
Exec=/usr/libexec/pipewire-launcher
 | 
			
		||||
Terminal=false
 | 
			
		||||
Type=Application
 | 
			
		||||
X-GNOME-HiddenUnderSystemd=true
 | 
			
		||||
X-KDE-HiddenUnderSystemd=true
 | 
			
		||||
X-systemd-skip=true
 | 
			
		||||
							
								
								
									
										12
									
								
								media-video/pipewire/files/pipewire.desktop-r1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								media-video/pipewire/files/pipewire.desktop-r1
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
[Desktop Entry]
 | 
			
		||||
Version=1.0
 | 
			
		||||
Name[de]=PipeWire Mediensystem
 | 
			
		||||
Name=PipeWire Media System
 | 
			
		||||
Comment[de]=Das PipeWire Mediensystem starten
 | 
			
		||||
Comment=Start the PipeWire Media System
 | 
			
		||||
Exec=/usr/bin/gentoo-pipewire-launcher
 | 
			
		||||
Terminal=false
 | 
			
		||||
Type=Application
 | 
			
		||||
X-GNOME-HiddenUnderSystemd=true
 | 
			
		||||
X-KDE-HiddenUnderSystemd=true
 | 
			
		||||
X-systemd-skip=true
 | 
			
		||||
		Reference in New Issue
	
	Block a user