git: e4f38f8d3615 - main - multimedia/libmediainfo: Switch to CMake

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sun, 04 May 2025 10:08:32 UTC
The branch main has been updated by diizzy:

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

commit e4f38f8d361526d5e938f5fb8e342e64605562e0
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2025-05-04 07:11:25 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2025-05-04 09:55:13 +0000

    multimedia/libmediainfo: Switch to CMake
    
    Switch to CMake to unbreak curl option
    Makefile is also reworked as this is from a repo maintained separately
    
    PR:             286173
    Tested by:      Ale <discipline@tiscali.it>
    Approved by:    maintainer timeout, 2+ weeks
---
 multimedia/libmediainfo/Makefile  | 34 +++++++++++++++++++---------------
 multimedia/libmediainfo/distinfo  |  6 +++---
 multimedia/libmediainfo/pkg-plist |  7 +++++--
 3 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/multimedia/libmediainfo/Makefile b/multimedia/libmediainfo/Makefile
index b53b5dd0bf5c..2a75b4b2dd57 100644
--- a/multimedia/libmediainfo/Makefile
+++ b/multimedia/libmediainfo/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	libmediainfo
-PORTVERSION=	25.03
+DISTVERSION=	25.03
+PORTREVISION=	1
 CATEGORIES=	multimedia
-MASTER_SITES=	https://mediaarea.net/download/binary/mediainfo/${PORTVERSION}/ \
-		LOCAL/sunpoet
-DISTNAME=	MediaInfo_CLI_${PORTVERSION}_GNU_FromSource
+MASTER_SITES=	https://mediaarea.net/download/source/${PORTNAME}/${DISTVERSION}/
+DISTNAME=	${PORTNAME}_${DISTVERSION}
 
 MAINTAINER=	sunpoet@FreeBSD.org
 COMMENT=	MediaInfo library
@@ -11,28 +11,32 @@ WWW=		https://mediaarea.net/en/MediaInfo \
 		https://github.com/MediaArea/MediaInfoLib
 
 LICENSE=	BSD2CLAUSE
-LICENSE_FILE=	${WRKSRC}/../../../License.html
+LICENSE_FILE=	${WRKSRC}/../../License.html
 
 LIB_DEPENDS=	libtinyxml2.so:textproc/tinyxml2 \
 		libzen.so:multimedia/libzen
 
-USES=		compiler:c++11-lang dos2unix libtool localbase pathfix pkgconfig tar:xz
-
-CONFIGURE_ARGS=	--enable-shared --enable-static
-GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
-PATHFIX_MAKEFILEIN+=	configure
+USES=		cmake compiler:c++11-lang dos2unix localbase:ldflags pathfix \
+		pkgconfig tar:xz
+DOS2UNIX_GLOB=	*.c *.cmake.in *.cpp *.h *.pc.in *.txt
+DOS2UNIX_WRKSRC=${WRKDIR}
 USE_LDCONFIG=	yes
 
-WRKSRC=		${WRKDIR}/MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library
+EXTRACT_AFTER_ARGS=	--exclude MediaInfoLib/Source/ThirdParty/tinyxml2
+WRKSRC=		${WRKDIR}/MediaInfoLib/Project/CMake
+
+PLIST_SUB=	DISTVERSION=${DISTVERSION:S/.//}
 
-DOS2UNIX_FILES=	../../../Source/MediaInfo/Audio/File_Usac.cpp \
-		../../../Source/MediaInfo/Audio/File_Usac.h
+CMAKE_ON=	BUILD_SHARED_LIBS
 
 OPTIONS_DEFINE=	CURL
 OPTIONS_DEFAULT=CURL
 
-CURL_CONFIGURE_ON=	--with-libcurl=${LOCALBASE}
 CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
+CURL_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_CURL
+
+post-patch:
+	@${REINPLACE_CMD} -e '/^Libs_Static/d' ${PATCH_WRKSRC}/libmediainfo.pc.in
+	${RM} -r ${STAGEDIR}${PREFIX}/include/MediaInfoDLL/
 
 .include <bsd.port.mk>
diff --git a/multimedia/libmediainfo/distinfo b/multimedia/libmediainfo/distinfo
index 0fce1db1249c..97ea1f14363e 100644
--- a/multimedia/libmediainfo/distinfo
+++ b/multimedia/libmediainfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744288736
-SHA256 (MediaInfo_CLI_25.03_GNU_FromSource.tar.xz) = 248f2183f1db14b2d70c5650e5fda84cc9923e1c57a79b9000000f09803e13fa
-SIZE (MediaInfo_CLI_25.03_GNU_FromSource.tar.xz) = 5897484
+TIMESTAMP = 1742645027
+SHA256 (libmediainfo_25.03.tar.xz) = 35f1fdab81239ca355c6de358a84fbde0477fed8eb350e5dfef6a598145c5207
+SIZE (libmediainfo_25.03.tar.xz) = 2117836
diff --git a/multimedia/libmediainfo/pkg-plist b/multimedia/libmediainfo/pkg-plist
index 9ef4e9825f73..2aa1b99b2181 100644
--- a/multimedia/libmediainfo/pkg-plist
+++ b/multimedia/libmediainfo/pkg-plist
@@ -4,8 +4,11 @@ include/MediaInfo/MediaInfo_Const.h
 include/MediaInfo/MediaInfo_Events.h
 include/MediaInfoDLL/MediaInfoDLL.h
 include/MediaInfoDLL/MediaInfoDLL_Static.h
-lib/libmediainfo.a
+lib/cmake/mediainfolib/MediaInfoLibConfig.cmake
+lib/cmake/mediainfolib/MediaInfoLibConfigVersion.cmake
+lib/cmake/mediainfolib/MediaInfoLibTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/mediainfolib/MediaInfoLibTargets.cmake
 lib/libmediainfo.so
 lib/libmediainfo.so.0
-lib/libmediainfo.so.0.0.0
+lib/libmediainfo.so.0.%%DISTVERSION%%.0
 libdata/pkgconfig/libmediainfo.pc