git: a0e75401cb37 - main - multimedia/libmediainfo: Update to 22.12

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Tue, 17 Jan 2023 07:59:17 UTC
The branch main has been updated by diizzy:

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

commit a0e75401cb3714a9c3638c7c06a431ec4bf7dffd
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2023-01-17 07:40:49 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-01-17 07:59:06 +0000

    multimedia/libmediainfo: Update to 22.12
    
    * Switch to separate source archives
    * Switch to CMake which brings us much closer to other distributions
      and reduces manual patching
    * Always use tinyxml2 in tree
    * Sanitize source code
    * Adjust port to more closely follow other distributions
    
    Changelog: https://github.com/MediaArea/MediaInfoLib/releases/tag/v22.12
    
    PR:             268708
    Approved by:    portmgr (maintainer timeout, 2+ weeks)
---
 multimedia/libmediainfo/Makefile              | 42 +++++++++++++--------------
 multimedia/libmediainfo/distinfo              |  6 ++--
 multimedia/libmediainfo/files/patch-configure | 36 -----------------------
 multimedia/libmediainfo/pkg-plist             |  9 ++++--
 4 files changed, 30 insertions(+), 63 deletions(-)

diff --git a/multimedia/libmediainfo/Makefile b/multimedia/libmediainfo/Makefile
index 3a0b9d6f17e6..558fa90bf887 100644
--- a/multimedia/libmediainfo/Makefile
+++ b/multimedia/libmediainfo/Makefile
@@ -1,41 +1,39 @@
 PORTNAME=	libmediainfo
-PORTVERSION=	22.09
+DISTVERSION=	22.12
 CATEGORIES=	multimedia
-MASTER_SITES=	https://mediaarea.net/download/binary/mediainfo/${PORTVERSION}/ \
+MASTER_SITES=	https://mediaarea.net/download/source/${PORTNAME}/${DISTVERSION}/ \
 		LOCAL/sunpoet
-DISTNAME=	MediaInfo_CLI_${PORTVERSION}_GNU_FromSource
+DISTNAME=	${PORTNAME}_${DISTVERSION}
 
 MAINTAINER=	sunpoet@FreeBSD.org
 COMMENT=	MediaInfo library
 WWW=		https://mediaarea.net/en/MediaInfo
 
 LICENSE=	BSD2CLAUSE
-LICENSE_FILE=	${WRKSRC}/../../../License.html
+LICENSE_FILE=	${WRKSRC}/../../License.html
 
-LIB_DEPENDS=	libzen.so:multimedia/libzen
+LIB_DEPENDS=	libtinyxml2.so:textproc/tinyxml2 \
+		libzen.so:multimedia/libzen
 
-USES=		alias compiler:c++11-lang libtool localbase pathfix pkgconfig tar:xz
-
-CFLAGS+=	-D_POSIX_PRIORITY_SCHEDULING
-CONFIGURE_ARGS=	--enable-shared --enable-static
-GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
-USE_CXXSTD=	c++11
+USES=		cmake compiler:c++11-lang dos2unix localbase:ldflags pathfix \
+		pkgconfig tar:xz
 USE_LDCONFIG=	yes
+DOS2UNIX_GLOB=	*.c *.cmake.in *.cpp *.h *.pc.in *.txt
+DOS2UNIX_WRKSRC=	${WRKDIR}
+
+CXXFLAGS+=	-D_POSIX_PRIORITY_SCHEDULING
+
+WRKSRC=		${WRKDIR}/MediaInfoLib/Project/CMake
+PLIST_SUB=	DISTVERSION=${DISTVERSION:S|.||g}
 
-WRKSRC=		${WRKDIR}/MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library
+CMAKE_ON=	BUILD_SHARED_LIBS
 
-OPTIONS_DEFINE=	CURL TINYXML2
-OPTIONS_DEFAULT=TINYXML2
-TINYXML2_DESC=	Use textproc/tinyxml2 instead of bundled one
+OPTIONS_DEFINE=	CURL
 
-CURL_CONFIGURE_ON=	--with-libcurl=${LOCALBASE}
+CURL_CMAKE_OFF=	-DCMAKE_DISABLE_FIND_PACKAGE_CURL:BOOL=True
 CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
-TINYXML2_CONFIGURE_ON=	--with-libtinyxml2=yes
-TINYXML2_LIB_DEPENDS=	libtinyxml2.so:textproc/tinyxml2
 
-post-install:
-	${INSTALL_DATA} ${WRKSRC}/libmediainfo.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/libmediainfo.pc
-	${RM} -r ${STAGEDIR}${PREFIX}/include/MediaInfoDLL/
+post-patch:
+	@${REINPLACE_CMD} -e '/^Libs_Static/d' ${PATCH_WRKSRC}/libmediainfo.pc.in
 
 .include <bsd.port.mk>
diff --git a/multimedia/libmediainfo/distinfo b/multimedia/libmediainfo/distinfo
index cdaf4d2824d6..7f9e186b64ea 100644
--- a/multimedia/libmediainfo/distinfo
+++ b/multimedia/libmediainfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1665073086
-SHA256 (MediaInfo_CLI_22.09_GNU_FromSource.tar.xz) = 02070e50a9cde50180a31c0529435a0ac4fdc0cc823982395833472c6ef464e9
-SIZE (MediaInfo_CLI_22.09_GNU_FromSource.tar.xz) = 3337624
+TIMESTAMP = 1672601994
+SHA256 (libmediainfo_22.12.tar.xz) = 0fc6d32f06d6ce5e144074d2e57e0db8dfa4e38e752d3123ada27ccaf89634bc
+SIZE (libmediainfo_22.12.tar.xz) = 1893340
diff --git a/multimedia/libmediainfo/files/patch-configure b/multimedia/libmediainfo/files/patch-configure
deleted file mode 100644
index b8e65f3719e1..000000000000
--- a/multimedia/libmediainfo/files/patch-configure
+++ /dev/null
@@ -1,36 +0,0 @@
---- configure.orig	2020-08-10 23:41:20 UTC
-+++ configure
-@@ -17656,8 +17656,8 @@ if test -d $with_libcurl; then
- 	if test -f $with_libcurl/libcurl.pc; then
- 		libcurlpcfile="$with_libcurl/libcurl.pc"
- 	else
--		if test -f "$with_libcurl/lib/pkgconfig/libcurl.pc"; then
--			libcurlpcfile="$with_libcurl/lib/pkgconfig/libcurl.pc"
-+		if test -f "$with_libcurl/libdata/pkgconfig/libcurl.pc"; then
-+			libcurlpcfile="$with_libcurl/libdata/pkgconfig/libcurl.pc"
- 		else
- 			as_fn_error $? "Problem while configuring builtin curl (libcurl.pc not found)" "$LINENO" 5
- 		fi
-@@ -17739,16 +17739,16 @@ else
- fi
- 
- if test -d $with_libmms; then
--	CXXFLAGS="$CXXFLAGS -DMEDIAINFO_LIBMMS_FROMSOURCE -I$with_libmms/src $(pkg-config --cflags $with_libmms/pkgconfig/libmms.pc)"
--	MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS -I$with_libmms $(pkg-config --cflags $with_libmms/pkgconfig/libmms.pc)"
-+	CXXFLAGS="$CXXFLAGS  -I$with_libmms/src $(pkg-config --cflags $with_libmms/libdata/pkgconfig/libmms.pc)"
-+	MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS -I$with_libmms $(pkg-config --cflags $with_libmms/libdata/pkgconfig/libmms.pc)"
- 	if test "$enable_staticlibs" = "yes"; then
- 		using_libmms="custom (static)"
--		LIBS="$LIBS -L$with_libmms/src/.libs $(pkg-config --libs --static $with_libmms/pkgconfig/libmms.pc)"
--		MediaInfoLib_LIBS_Static="$MediaInfoLib_LIBS_Static -L$with_libmms/src/.libs $(pkg-config --libs --static $with_libmms/pkgconfig/libmms.pc)"
-+		LIBS="$LIBS -L$with_libmms/lib $(pkg-config --libs --static $with_libmms/libdata/pkgconfig/libmms.pc)"
-+		MediaInfoLib_LIBS_Static="$MediaInfoLib_LIBS_Static -L$with_libmms/lib $(pkg-config --libs --static $with_libmms/libdata/pkgconfig/libmms.pc)"
- 	else
- 		using_libmms="custom"
--		LIBS="$LIBS -L$with_libmms/src/.libs $(pkg-config --libs $with_libmms/pkgconfig/libmms.pc)"
--		MediaInfoLib_LIBS="$MediaInfoLib_LIBS -L$with_libmms/src/.libs $(pkg-config --libs $with_libmms/pkgconfig/libmms.pc)"
-+		LIBS="$LIBS -L$with_libmms/lib $(pkg-config --libs $with_libmms/libdata/pkgconfig/libmms.pc)"
-+		MediaInfoLib_LIBS="$MediaInfoLib_LIBS -L$with_libmms/lib $(pkg-config --libs $with_libmms/libdata/pkgconfig/libmms.pc)"
- 	fi
- elif test "$with_libmms" = "no"; then
- 	CXXFLAGS="$CXXFLAGS -DMEDIAINFO_LIBMMS_NO"
diff --git a/multimedia/libmediainfo/pkg-plist b/multimedia/libmediainfo/pkg-plist
index df45a20c7f0e..2aa1b99b2181 100644
--- a/multimedia/libmediainfo/pkg-plist
+++ b/multimedia/libmediainfo/pkg-plist
@@ -2,8 +2,13 @@ include/MediaInfo/MediaInfo.h
 include/MediaInfo/MediaInfoList.h
 include/MediaInfo/MediaInfo_Const.h
 include/MediaInfo/MediaInfo_Events.h
-lib/libmediainfo.a
+include/MediaInfoDLL/MediaInfoDLL.h
+include/MediaInfoDLL/MediaInfoDLL_Static.h
+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