summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/libmediainfo/Manifest1
-rw-r--r--media-libs/libmediainfo/files/libmediainfo-21.09-link-fix.patch29
-rw-r--r--media-libs/libmediainfo/libmediainfo-21.09.ebuild88
3 files changed, 118 insertions, 0 deletions
diff --git a/media-libs/libmediainfo/Manifest b/media-libs/libmediainfo/Manifest
index 0e07fe11b3c0..b6292ef46270 100644
--- a/media-libs/libmediainfo/Manifest
+++ b/media-libs/libmediainfo/Manifest
@@ -1 +1,2 @@
DIST libmediainfo_20.09.tar.xz 1827744 BLAKE2B 4073da6b85a2871e815a3a374933bae614c25899f8ad77174f63b2055d2220f8b5b785a765f85583289398ce9ade7c014da4d19303b6ed5224e13ffcc2952fdb SHA512 dce5b787866984fd0fefdcb739851212d5a145b657a557fd41c19c7548d32449a3b07d7759bf9a790c5ddebdc9537a0b9f0d5c58b8b2fbb152e456386897a354
+DIST libmediainfo_21.09.tar.xz 1850688 BLAKE2B ac6b32a23a82f0c5f0901ef9b6a22b850a59efab80952fcc7cbcbd28951a43d0abb7065ca19adde4715e06f1798ac2992e3f3e82c16c9cf152ff95c42f15b27d SHA512 a0b5ea9c6fce3f5551176d411b8c227927f579c3f09442316f6c380926acc545ea346e044f808b66403b1f0aac6f88ed4413c8231e792256d3cd7676133ef3be
diff --git a/media-libs/libmediainfo/files/libmediainfo-21.09-link-fix.patch b/media-libs/libmediainfo/files/libmediainfo-21.09-link-fix.patch
new file mode 100644
index 000000000000..2b87839a762b
--- /dev/null
+++ b/media-libs/libmediainfo/files/libmediainfo-21.09-link-fix.patch
@@ -0,0 +1,29 @@
+https://github.com/MediaArea/MediaInfoLib/pull/1434
+https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1823029.html
+
+From: Jan Palus <jpalus@fastmail.com>
+Date: Wed, 22 Sep 2021 12:10:41 +0200
+Subject: [PATCH] ADM: compile-in tfsxml unconditionally (unrelated to
+ tinyxml2)
+
+Fixes unresolved symbols when compiling with system tinyxml2.
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -230,7 +230,8 @@ lib@MediaInfoLib_LibName@_la_SOURCES = \
+ ../../../Source/MediaInfo/Video/File_Vp8.cpp \
+ ../../../Source/MediaInfo/Video/File_Y4m.cpp \
+ ../../../Source/MediaInfo/XmlUtils.cpp \
+- ../../../Source/MediaInfo/OutputHelpers.cpp
++ ../../../Source/MediaInfo/OutputHelpers.cpp \
++ ../../../Source/ThirdParty/tfsxml/tfsxml.c
+
+ @MediaInfoLib_LibName@includedir = $(includedir)/MediaInfo
+ @MediaInfoLib_LibName@include_HEADERS = \
+@@ -280,7 +281,6 @@ endif
+
+ if COMPILE_TINYXML2
+ lib@MediaInfoLib_LibName@_la_SOURCES += \
+- ../../../Source/ThirdParty/tfsxml/tfsxml.c \
+ ../../../Source/ThirdParty/tinyxml2/tinyxml2.cpp
+ endif
+
diff --git a/media-libs/libmediainfo/libmediainfo-21.09.ebuild b/media-libs/libmediainfo/libmediainfo-21.09.ebuild
new file mode 100644
index 000000000000..d3f8394fc420
--- /dev/null
+++ b/media-libs/libmediainfo/libmediainfo-21.09.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with media-video/mediainfo!
+
+MY_PN="MediaInfo"
+inherit autotools edos2unix flag-o-matic
+
+DESCRIPTION="MediaInfo libraries"
+HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib"
+SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
+S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl doc mms"
+
+# Tests try to fetch data from online sources
+RESTRICT="test"
+
+RDEPEND="dev-libs/tinyxml2:=
+ >=media-libs/libzen-0.4.37
+ sys-libs/zlib
+ curl? ( net-misc/curl )
+ mms? ( >=media-libs/libmms-0.6.1 )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-link-fix.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i 's:-O2::' configure.ac || die
+
+ append-cppflags -DMEDIAINFO_LIBMMS_DESCRIBE_SUPPORT=0
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --disable-static \
+ --disable-staticlibs \
+ --with-libtinyxml2 \
+ $(use_with curl libcurl) \
+ $(use_with mms libmms)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd "${WORKDIR}"/${MY_PN}Lib/Source/Doc || die
+ doxygen Doxyfile || die
+ fi
+}
+
+src_install() {
+ if use doc; then
+ local HTML_DOCS=( "${WORKDIR}"/${MY_PN}Lib/Doc/*.html )
+ fi
+
+ default
+
+ edos2unix ${PN}.pc #414545
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+
+ for x in ./ Archive Audio Duplicate Export Image Multiple Reader Tag Text Video; do
+ insinto /usr/include/${MY_PN}/${x}
+ doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}/${x}/*.h
+ done
+
+ insinto /usr/include/${MY_PN}DLL
+ doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}DLL/*.h
+
+ dodoc "${WORKDIR}"/${MY_PN}Lib/*.txt
+
+ find "${ED}" -name '*.la' -delete || die
+}