git: 463583e8beb0 - main - multimedia/pipewire: Teach the port to use OpenSSL.

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Fri, 24 Dec 2021 18:14:23 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=463583e8beb0757fbfb2eeb360f1f23e7f7791b0

commit 463583e8beb0757fbfb2eeb360f1f23e7f7791b0
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2021-12-24 18:13:01 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2021-12-24 18:14:03 +0000

    multimedia/pipewire: Teach the port to use OpenSSL.
    
    Enable raop plugin that was previosly disabled.
    
    PR:             260646
---
 multimedia/pipewire/Makefile                         |  6 ++++--
 multimedia/pipewire/files/patch-meson.build          | 20 ++++++++++++++++++++
 .../files/patch-src_modules_module-raop-sink.c       | 10 ++++++++++
 multimedia/pipewire/pkg-plist                        |  1 +
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/multimedia/pipewire/Makefile b/multimedia/pipewire/Makefile
index 43d9a002464d..1ccb58dcf004 100644
--- a/multimedia/pipewire/Makefile
+++ b/multimedia/pipewire/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	pipewire
 DISTVERSION=	0.3.42
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	multimedia
 MASTER_SITES=	https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${MEDIA_SESSION_VERSION}/:media_session
 DISTFILES=	media-session-${MEDIA_SESSION_VERSION}${EXTRACT_SUFX}:media_session
@@ -21,7 +21,7 @@ LIB_DEPENDS=	libasound.so:audio/alsa-lib \
 		libwebrtc_audio_processing.so:audio/webrtc-audio-processing0
 
 USES=		compiler:c11 gettext-tools gnome localbase:ldflags meson \
-		ncurses pkgconfig python:3.6+,build readline
+		ncurses pkgconfig python:3.6+,build readline ssl
 USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 
@@ -61,6 +61,8 @@ VULKAN_LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader
 MEDIA_SESSION_VERSION=	0.4.1
 
 MESON_ARGS=	-D pw-cat=enabled \
+		-D v4l2=enabled \
+		-D raop=enabled \
 		-D bluez5=disabled \
 		-D jack=disabled -D pipewire-jack=disabled \
 		-D systemd=disabled \
diff --git a/multimedia/pipewire/files/patch-meson.build b/multimedia/pipewire/files/patch-meson.build
new file mode 100644
index 000000000000..aede0d2849bc
--- /dev/null
+++ b/multimedia/pipewire/files/patch-meson.build
@@ -0,0 +1,20 @@
+--- meson.build.orig	2021-12-16 08:17:48 UTC
++++ meson.build
+@@ -427,7 +427,16 @@ need_alsa = get_option('pipewire-alsa').enabled() or '
+ alsa_dep = dependency('alsa', version : '>=1.1.7', required: need_alsa)
+ summary({'pipewire-alsa': alsa_dep.found()}, bool_yn: true)
+ 
+-openssl_lib = dependency('openssl', required: get_option('raop'))
++if build_machine.system() == 'freebsd'
++    # On FreeBSD the OpenSSL library may come from base or a package.
++    # Check for a package first and fallback to the base library if we can't find it via pkgconfig
++    openssl_lib = dependency('openssl', required: false)
++    if not openssl_lib.found()
++        openssl_lib = declare_dependency(link_args : [ '-lssl', '-lcrypto'])
++    endif
++else
++    openssl_lib = dependency('openssl', required: get_option('raop'))
++endif
+ summary({'OpenSSL (for raop-sink)': openssl_lib.found()}, bool_yn: true)
+ 
+ lilv_lib = dependency('lilv-0', required: get_option('lv2'))
diff --git a/multimedia/pipewire/files/patch-src_modules_module-raop-sink.c b/multimedia/pipewire/files/patch-src_modules_module-raop-sink.c
new file mode 100644
index 000000000000..d6f4bc73a623
--- /dev/null
+++ b/multimedia/pipewire/files/patch-src_modules_module-raop-sink.c
@@ -0,0 +1,10 @@
+--- src/modules/module-raop-sink.c.orig	2021-12-16 08:17:48 UTC
++++ src/modules/module-raop-sink.c
+@@ -35,6 +35,7 @@
+ #include <limits.h>
+ #include <math.h>
+ #include <arpa/inet.h>
++#include <netinet/in.h>
+ 
+ #include <openssl/err.h>
+ #include <openssl/rand.h>
diff --git a/multimedia/pipewire/pkg-plist b/multimedia/pipewire/pkg-plist
index 742b5a9ff7c6..7042e3b01b3f 100644
--- a/multimedia/pipewire/pkg-plist
+++ b/multimedia/pipewire/pkg-plist
@@ -182,6 +182,7 @@ lib/pipewire-0.3/libpipewire-module-protocol-pulse.so
 lib/pipewire-0.3/libpipewire-module-protocol-simple.so
 %%PULSEAUDIO%%lib/pipewire-0.3/libpipewire-module-pulse-tunnel.so
 %%PULSEAUDIO%%lib/pipewire-0.3/libpipewire-module-raop-discover.so
+lib/pipewire-0.3/libpipewire-module-raop-sink.so
 lib/pipewire-0.3/libpipewire-module-rtkit.so
 lib/pipewire-0.3/libpipewire-module-session-manager.so
 lib/pipewire-0.3/libpipewire-module-spa-device-factory.so