git: 29b780a2208e - main - multimedia/msopenh264: Fix build with new mediastreamer

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 27 Mar 2025 09:18:07 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=29b780a2208eda20d49bdcabed89f0c45f35e3c1

commit 29b780a2208eda20d49bdcabed89f0c45f35e3c1
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2025-03-27 01:03:34 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2025-03-27 09:17:08 +0000

    multimedia/msopenh264: Fix build with new mediastreamer
    
    Sponsored by:   Cybermancer Infosec
---
 multimedia/msopenh264/Makefile                     | 26 ++++++++++++++++------
 multimedia/msopenh264/distinfo                     |  4 +++-
 multimedia/msopenh264/files/patch-CMakeLists.txt   | 15 +++++++++++++
 .../msopenh264/files/patch-src_CMakeLists.txt      | 13 +++++++++++
 4 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/multimedia/msopenh264/Makefile b/multimedia/msopenh264/Makefile
index b34868916d38..cc36fee43a25 100644
--- a/multimedia/msopenh264/Makefile
+++ b/multimedia/msopenh264/Makefile
@@ -1,8 +1,11 @@
 PORTNAME=	msopenh264
 DISTVERSION=	5.2.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	multimedia net
 
+PATCH_SITES=	https://gitlab.linphone.org/BC/public/msopenh264/-/commit/
+PATCHFILES=	a7c4a130a1fd0a2d1f18df748d370430cfbe936a.diff:-p1
+
 MAINTAINER=	bofh@FreeBSD.org
 COMMENT=	Mediastreamer plugin with H.264 codec
 WWW=		https://www.linphone.org/technical-corner/mediastreamer2.html
@@ -10,17 +13,26 @@ WWW=		https://www.linphone.org/technical-corner/mediastreamer2.html
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libbctoolbox.so:net/bctoolbox \
-		libmediastreamer.so:net/mediastreamer \
-		libopenh264.so:multimedia/openh264 \
-		libortp.so:net/ortp
+BUILD_DEPENDS=	${LOCALBASE}/lib/libbctoolbox.a:net/bctoolbox \
+		${LOCALBASE}/lib/libbcunit.a:devel/bcunit \
+		${LOCALBASE}/lib/libbcmatroska2.a:multimedia/bcmatroska2 \
+		${LOCALBASE}/lib/libbzrtp.a:security/bzrtp \
+		${LOCALBASE}/lib/libmediastreamer2.a:net/mediastreamer \
+		${LOCALBASE}/lib/libortp.a:net/ortp \
+		v4l_compat>=1.0.20120501:multimedia/v4l_compat
+LIB_DEPENDS=	libopenh264.so:multimedia/openh264
 
-USES=		cmake
+USES=		cmake gl
 USE_GITLAB=	yes
 GL_SITE=	https://gitlab.linphone.org/BC
 GL_ACCOUNT=	public
+USE_GL=		opengl
 
-CMAKE_ARGS=	-DENABLE_STATIC=NO
+CMAKE_ARGS=	-DENABLE_STATIC=NO \
+		-DMEDIASTREAMER2_PLUGINS_LOCATION=${CMAKE_INSTALL_PREFIX}/lib/mediastreamer/plugins
 PLIST_FILES=	lib/mediastreamer/plugins/libmsopenh264.so
 
+post-patch:
+	${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/CMakeLists.txt
+
 .include <bsd.port.mk>
diff --git a/multimedia/msopenh264/distinfo b/multimedia/msopenh264/distinfo
index 23ac2c3c7b2e..57a5d36ee17f 100644
--- a/multimedia/msopenh264/distinfo
+++ b/multimedia/msopenh264/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1690572921
+TIMESTAMP = 1743037209
 SHA256 (msopenh264-5.2.0.tar.bz2) = 225057b1a935bd5f4c1a3f8b57981461c99969d73e70c5e91bc9dfac4c01a236
 SIZE (msopenh264-5.2.0.tar.bz2) = 28215
+SHA256 (a7c4a130a1fd0a2d1f18df748d370430cfbe936a.diff) = 24a0511e55383ad308e4fd2a09475bf09ed152b9caca2b431683c567cc94a4a9
+SIZE (a7c4a130a1fd0a2d1f18df748d370430cfbe936a.diff) = 22703
diff --git a/multimedia/msopenh264/files/patch-CMakeLists.txt b/multimedia/msopenh264/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..7cc132fd343c
--- /dev/null
+++ b/multimedia/msopenh264/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig	2022-10-13 08:55:06 UTC
++++ CMakeLists.txt
+@@ -50,9 +50,10 @@ check_include_file_cxx("stdbool.h" HAVE_STDBOOL_H)
+ include(CheckIncludeFileCXX)
+ check_include_file_cxx("stdbool.h" HAVE_STDBOOL_H)
+ 
++set(CMAKE_PREFIX_PATH "%%LOCALBASE%%/ffmpeg4;%%LOCALBASE%%/ffmpeg4/libexec")
+ find_package(Mediastreamer2 CONFIG REQUIRED)
+-find_package(ortp CONFIG REQUIRED)
+-find_package(bctoolbox CONFIG REQUIRED)
++find_package(Ortp CONFIG REQUIRED)
++find_package(BCToolbox CONFIG REQUIRED)
+ 
+ find_package(OpenH264 REQUIRED)
+ 
diff --git a/multimedia/msopenh264/files/patch-src_CMakeLists.txt b/multimedia/msopenh264/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..48db54e4e9cb
--- /dev/null
+++ b/multimedia/msopenh264/files/patch-src_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- src/CMakeLists.txt.orig	2025-03-27 00:48:29 UTC
++++ src/CMakeLists.txt
+@@ -83,10 +83,7 @@ if(ENABLE_SHARED)
+ 
+ 	endif()
+ 	install(TARGETS msopenh264
+-		RUNTIME DESTINATION "${MS2_PLUGINS_DIR}"
+ 		LIBRARY DESTINATION "${MS2_PLUGINS_DIR}"
+-		ARCHIVE DESTINATION "${MS2_PLUGINS_DIR}"
+-		FRAMEWORK DESTINATION Frameworks
+ 		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ 	)
+ endif()