summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin25197 -> 25192 bytes
-rw-r--r--media-video/mkvtoolnix/Manifest8
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch29
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch31
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch70
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild167
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild84
7 files changed, 362 insertions, 27 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index 84252d16ccf0..837938cb8cf0 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index 51915fa40b78..3ae0358370df 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,10 +1,16 @@
AUX mkvtoolnix-58.0.0-qt5dbus.patch 1500 BLAKE2B f85f6a50bd4d4f44470ec6f85729cfca22518859b34e2cf6e1dac25a35d58170b626afe3a1f12f41b1f2d34d4763ab3b180139b402675071794a0dcd29503209 SHA512 6c6ffc83f6c4ed482347cc172467189add3662430a029d74e94d1373a1f0e519fced494812691d7b38c054bc010f1c670f1f6be97819fc142c402d5264c3595e
AUX mkvtoolnix-67.0.0-no-uic-qtwidgets.patch 2494 BLAKE2B 1d23ca6e908947d80e3ea7567508714cd73461a7571dda88a227bf9d4ca3ec86113ad596ff64dc6bfea641c8b097fffa1b4b359a17f5b24c0305c7e6628103b7 SHA512 982953a7f992def139140298a5a6b2ceeae6afaf5123b8e12c46523ab1f799994aa2f5d435bebb8091ca63e56bb44310a39a6382c313f8e4083cfea67daff41d
+AUX mkvtoolnix-80.0.0-fix-qtmultimedia.patch 808 BLAKE2B 560d85d4ef07677adb63053997a3198cf7348e8172f052a944fefd26c45c269247e3bd9a3831c9ba70fbabffe74ed7c53ac2637c5c0e1d32f1b5faca907aedfb SHA512 c7d3fce5c74d41db6d27a9c03866afce291dcc329257073cc8767e871847d1c80539b72c0c3392efb5010623d932ac0e4cfa3c86135d264faf9607cc2fa11999
+AUX mkvtoolnix-80.0.0-no-uic-qtwidgets.patch 1035 BLAKE2B ff38fb84285d2f496ebe56325dbb3c0059c41ec32bfbf31c2f45659ee17a2b4d29391d5f7b258b2c8c7d2ffcd25644c32ba4f4c0261e51a83bd518cb967c99a1 SHA512 d0b8ebbb246049ec8749dc1dc14575e41f091c758d323a4b7597475eb6422a0886eb9e4408084d4e386467760903e5fc444685d490216cae6642634318a6eef2
+AUX mkvtoolnix-80.0.0-optional-qtdbus.patch 2501 BLAKE2B 9372aee680a4b20adef6e0b9fe444548b40573ee50a9d9ac7593407d1b9e69670fe3c16ecd2dc3d752154a5414f714f201d00a5a1b4a96065265bd553219c1ba SHA512 75eb5344605ef9c461df7e8d92ce5422d241efe01aa49d148cbb337ac29f589ce83e4e258918dd62246c84fead8d971770ca577d7ead47246b5a74b023503fd1
DIST mkvtoolnix-72.0.0.tar.xz 10994204 BLAKE2B 2118837c01d8d31644e0147dfdec9fd619d18ffbab5d317e5dd84788a83cdf162ea7d72e98549bbc2ffc7953e0b80a0e23018658d8c5ad529fc719b291589a97 SHA512 dc18c6e63e724181e38753921ec3374752dbb7c4d20650cf0787e9049aaec4f6bb6c744e49b3783921804f192de742fba92826615a1edc8516d2a41621be658c
DIST mkvtoolnix-75.0.0.tar.xz 11009552 BLAKE2B d9c32a453ac1f07e201b99fdcaaa5e553b42c1d17fafdeb1a84808ee572caf00b4b49d04c90d7801564f4856e9b3057a45ef79041e72f76bc829c3b5d9536c58 SHA512 eca45828ec3cbb540c67d12d369f3314246d08812933a018e5c4f69e8bd2fa4e17143a33a1841c5a8da3befbc22509fa508e6688ea858980d13c44aaae4ead08
DIST mkvtoolnix-77.0.tar.xz 11044004 BLAKE2B 5aa43e155c1318dc6c3fd4418fb59ec498ad488a8459cf0aefa0bc0660ff93dd51f2699642ea633695fbf76ae1b4b6cfddddfca1b0e72e16357b579ce8dbee42 SHA512 b310077cfaddef3163c732943f1aaf7e63fb9f7efb19fdb27a35e2d0ad92dfc4536ea29366b44745f3f918703b02e2d52edb63369c23540df1312f3d54c06bb0
+DIST mkvtoolnix-80.0.tar.xz 11056764 BLAKE2B 6178b65ce57b1ab897c91a456fa9887499e683619654b2a7f8fbcd8b7d98f04dd831d2c875da85a644357ec8c8de3b408394f7b29def9203f35a28ec19513a0d SHA512 066c10a9112ca0cdb59567235aae70e94ccab25b0e2d6156f4ba1090e102614b07c37eb0116a9ee540b2ed8f4b9d58a699f553b974a3f2636c65241915b3b6bc
+DIST mkvtoolnix-80.0.tar.xz.sig 833 BLAKE2B 6c08689419877da7f3f16b8453a44f837792f5e7f3de7fb8574597dee3317ffadf2418cae82949a7585ab53cf1e0a60391ba898fc4607290d678501c3ffd4672 SHA512 47df9f0199275873b300b229fc91d14d5ab93c423e4fb8f31055b84619ae00609850ccb77f6d84c8eb3e4afee76acbe3e0779d03f3041d01d598f462788c618d
EBUILD mkvtoolnix-72.0.0.ebuild 2937 BLAKE2B ad306e107e1065ecbf0df631cb0eebb0d6f981da9f479b0a17604b016b21a6e0e544ee2f2eea50bb62cc3fcec7b8a59cfd717eee706d137f62e0717a5794584a SHA512 52e2adf07dce52e3bbf035bc11a9cfb27bc53e33109d3d781f845b1f0805b7999b4923ce9e89eb54f1b8b472819411019cd7bbb5776cdc36ccba123fc7ebfaf2
EBUILD mkvtoolnix-75.0.0.ebuild 2981 BLAKE2B eaee5dd08153c3efd23fe7006e9c5980df1e6f62fed5d2303ed65918bfe036efdb450340b48f34492b747f0c5c0e2c4b622e529ee29d4458e26dca8935fec3bd SHA512 57dd6092f75d4fb1d794e59029da33e9c318a2e8f9ba0ca1f436ea8ead67ace12125eda560fbabad1c06390c3f3699202ce35e45120cdf02ad8d3d5b0c43f001
EBUILD mkvtoolnix-77.0.ebuild 2982 BLAKE2B 2f41a574e0f3fdbe078bac43032bf7d86075468731a420a7f1675a9c005c6c948a2cc366a7c5d978ea5095aa970b437eb8751f85a7b8724e88f45e47a8b1bfb1 SHA512 f059c61757adfe3add88ac08f31ca1927fa665a88e261a3e439206c1af279bbc1f18201dd7452a4e704bb6e3b5d0806f1c76af670167ea5e85609e53857a52c7
-EBUILD mkvtoolnix-9999.ebuild 2985 BLAKE2B 6a4932e6675045d6713320759bc6e189087057b5fcae540f8042e2bf18bb0b0ba95d80d141bf4eb05c9dd01241e48ec38d565e5972cce918d97ea768e5ee7def SHA512 2adfda1ee709fb6997b07bc20c5a613fbb7124054f9e95a323112b4e034d03bd3f751ff7aad2e66e767a666fad267d1df971519014fcb805418c966511377cae
+EBUILD mkvtoolnix-80.0.ebuild 3621 BLAKE2B b762c6a8f2a036a1a12cee52c743f657f51a0f7ee14045bfd9afe2d57f30ddf8d14920c45a6356623f67b65e4c2f406a121f32936372ba6bb0e6deba03f607e5 SHA512 dbeab97b6e0f1a41a39110c8e5d70d49f1445b1ebbd059c1b1f0bdad4f91e58b88fff0f481fcd186f5874c70a5fd1457762bcc6f684c7ddd109585c3bc80db1b
+EBUILD mkvtoolnix-9999.ebuild 3621 BLAKE2B b762c6a8f2a036a1a12cee52c743f657f51a0f7ee14045bfd9afe2d57f30ddf8d14920c45a6356623f67b65e4c2f406a121f32936372ba6bb0e6deba03f607e5 SHA512 dbeab97b6e0f1a41a39110c8e5d70d49f1445b1ebbd059c1b1f0bdad4f91e58b88fff0f481fcd186f5874c70a5fd1457762bcc6f684c7ddd109585c3bc80db1b
MISC metadata.xml 343 BLAKE2B b13d9c252a7ad2f27c772c43d3476eee87d9a173c8fcc04a3be28ca9cfb826e6f1de6eade1211b4ff5f4a379b20a0961667fc99eee91495589e0632ad94b4c0a SHA512 cb7fd77f65779de841da03890fd1d0031cea8a95153f116f01f1be7d8ef5b87bb760933fc74f64a1d49ce94bc897cde94fdd4f6b45c016c3c20b842097692dc0
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
new file mode 100644
index 000000000000..d31731a266f8
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
@@ -0,0 +1,29 @@
+From 246f824a6a0d2bc93ec4ad2ebfde7c92b42c879a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 21 Nov 2023 01:10:23 +0200
+Subject: [PATCH] Fix detection of QtDBus and QtMultimedia
+
+* Sometimes you may have qtdbus and qtmultimedia present at the same
+ time.
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/ac/qt6.m4
++++ b/ac/qt6.m4
+@@ -95,10 +95,12 @@ EOT
+
+ if test $result2 != 0; then
+ continue
+- elif test $qt_module = dbus; then
++ fi
++ if test $qt_module = dbus; then
+ qmake_qt_ui="$qmake_qt_ui dbus"
+ AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
+- elif test $qt_module = multimedia; then
++ fi
++ if test $qt_module = multimedia; then
+ qmake_qt_ui="$qmake_qt_ui multimedia"
+ fi
+ done
+--
+2.43.0
+
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
new file mode 100644
index 000000000000..203721aedcff
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
@@ -0,0 +1,31 @@
+From 196e704d9bd44a5bb7655d8a85b6f270b2165b3c Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Mon, 20 Nov 2023 23:41:06 +0200
+Subject: [PATCH] Only check for uic in qt5 if gui is enabled
+
+We should only check for UIC (provided by qtwidgets) if we're building the GUI.
+
+Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used
+for e.g. MIME type detection since 59.0.0), but the rest of Qt
+(like qtwidgets) is only needed for the GUI build.
+
+The build system incorrectly unconditionally checks for UIC. We fix it here
+to only check for it when doing a GUI build.
+
+https://bugs.gentoo.org/844097
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/ac/qt5.m4
++++ b/ac/qt5.m4
+@@ -63,7 +63,7 @@ check_qt5() {
+ AC_MSG_RESULT(no: could not find the rcc executable)
+ return
+
+- elif test x"$UIC" = x; then
++ elif test x"$UIC" = x && test x"$enable_gui" = xyes; then
+ AC_MSG_CHECKING(for Qt 5)
+ AC_MSG_RESULT(no: could not find the uic executable)
+ return
+--
+2.43.0
+
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch
new file mode 100644
index 000000000000..deb8d59fa6c4
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch
@@ -0,0 +1,70 @@
+From 998cd9baa8edbbc0a02509728c7ff21ddaaaad51 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Mon, 20 Nov 2023 23:18:56 +0200
+Subject: [PATCH] Add an option for qtdbus support
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/ac/qt5.m4
++++ b/ac/qt5.m4
+@@ -103,11 +103,13 @@ check_qt5() {
+ return
+ fi
+
+- if test x"$MINGW" != x1 && ! echo "$host" | grep -q -i apple ; then
+- PKG_CHECK_EXISTS([Qt5DBus],[dbus_found=yes],[dbus_found=no])
+- if test x"$dbus_found" = xyes; then
+- with_qt_pkg_config_modules="$with_qt_pkg_config_modules,Qt5DBus"
+- AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
++ if test x"$enable_dbus" = xyes; then
++ if test x"$MINGW" != x1 && ! echo "$host" | grep -q -i apple ; then
++ PKG_CHECK_EXISTS([Qt5DBus],[dbus_found=yes],[dbus_found=no])
++ if test x"$dbus_found" = xyes; then
++ with_qt_pkg_config_modules="$with_qt_pkg_config_modules,Qt5DBus"
++ AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
++ fi
+ fi
+ fi
+
+@@ -254,6 +256,11 @@ AC_ARG_WITH([qt_pkg_config_modules],
+ AC_ARG_WITH([qt_pkg_config],
+ AS_HELP_STRING([--without-qt-pkg-config],[do not use pkg-config for detecting Qt 5; instead rely on QT_CFLAGS/QT_LIBS being set correctly already]),
+ [ with_qt_pkg_config=${withval} ], [ with_qt_pkg_config=yes ])
++AC_ARG_ENABLE([dbus],
++ AC_HELP_STRING([--enable-dbus],[enable/disable qtdbus/dbus from being included in build (yes)]),
++ [],[enable_dbus=yes])
++
++
+
+ have_qt5=no
+
+--- a/ac/qt6.m4
++++ b/ac/qt6.m4
+@@ -96,9 +96,12 @@ EOT
+ if test $result2 != 0; then
+ continue
+ fi
+- if test $qt_module = dbus; then
+- qmake_qt_ui="$qmake_qt_ui dbus"
+- AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
++ if test x"$enable_dbus" = xyes; then
++ PKG_CHECK_EXISTS([Qt6DBus],[dbus_found=yes],[dbus_found=no])
++ if test x"$dbus_found" = xyes; then
++ qmake_qt_ui="$qmake_qt_ui dbus"
++ AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
++ fi
+ fi
+ if test $qt_module = multimedia; then
+ qmake_qt_ui="$qmake_qt_ui multimedia"
+@@ -272,6 +275,9 @@ AC_ARG_ENABLE([gui],
+ AC_ARG_ENABLE([qt6],
+ AS_HELP_STRING([--enable-qt6],[compile with Qt 6 (yes)]),
+ [],[enable_qt6=yes])
++AC_ARG_ENABLE([dbus],
++ AC_HELP_STRING([--enable-dbus],[enable/disable qtdbus/dbus from being included in build (yes)]),
++ [],[enable_dbus=yes])
+
+ have_qt6=no
+
+--
+2.43.0
+
diff --git a/media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild
new file mode 100644
index 000000000000..20d89f9877dc
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multiprocessing qmake-utils xdg
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
+ EGIT_SUBMODULES=()
+else
+ inherit verify-sig
+
+ SRC_URI="
+ https://mkvtoolnix.download/sources/${P}.tar.xz
+ verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig )
+ "
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc"
+fi
+
+DESCRIPTION="Tools to create, alter, and inspect Matroska files"
+HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="dbus debug dvd gui nls qt6 pch test"
+RESTRICT="!test? ( test )"
+
+# check NEWS.md for build system changes entries for boost/libebml/libmatroska
+# version requirement updates and other packaging info
+RDEPEND="
+ app-text/cmark:0=
+ dev-libs/boost:=
+ dev-libs/gmp:=
+ >=dev-libs/libebml-1.4.4:=
+ >=dev-libs/libfmt-8.0.1:=
+ >=dev-libs/pugixml-1.11
+ media-libs/flac:=
+ >=media-libs/libmatroska-1.7.1:=
+ media-libs/libogg
+ media-libs/libvorbis
+ sys-libs/zlib
+ dvd? ( media-libs/libdvdread:= )
+ !qt6? (
+ dev-qt/qtcore:5
+ dbus? ( dev-qt/qtdbus:5 )
+ gui? (
+ dev-qt/qtsvg:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtmultimedia:5
+ )
+ )
+ qt6? (
+ dev-qt/qtbase:6[dbus?]
+ gui? (
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ )
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-ruby/rake
+ virtual/pkgconfig
+ nls? (
+ sys-devel/gettext
+ app-text/po4a
+ )
+"
+
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
+ "${FILESDIR}"/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
+ "${FILESDIR}"/mkvtoolnix-80.0.0-optional-qtdbus.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
+
+ eautoreconf
+
+ # remove bundled libs
+ rm -r lib/{fmt,libebml,libmatroska,nlohmann-json,pugixml,utf8-cpp} || die
+}
+
+src_configure() {
+ # bug #692322, use system dev-libs/utfcpp
+ append-cppflags -I"${ESYSROOT}"/usr/include/utf8cpp
+
+ local myeconfargs=(
+ $(use_enable debug)
+ $(usex pch "" --disable-precompiled-headers)
+ $(use_enable dbus)
+ $(use_enable gui)
+ $(use_with dvd dvdread)
+ $(use_with nls gettext)
+ #$(use_with nls po4a)
+ --disable-update-check
+ --disable-optimization
+ --with-boost="${ESYSROOT}"/usr
+ --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
+ )
+
+ # Qt (of some version) is always needed, even for non-GUI builds,
+ # to do e.g. MIME detection. See e.g. bug #844097.
+ # But most of the Qt deps are conditional on a GUI build.
+ if use qt6; then
+ myeconfargs+=(
+ --enable-qt6
+ --disable-qt5
+ --with-qmake6="$(qt6_get_bindir)"/qmake
+ )
+ else
+ myeconfargs+=(
+ --disable-qt6
+ --enable-qt5
+ --with-qmake="$(qt5_get_bindir)"/qmake
+ )
+ fi
+
+ # Work around bug #904710.
+ use nls || export ac_cv_path_PO4A=
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ rake V=1 -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ rake V=1 -j$(makeopts_jobs) tests:unit || die
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die
+}
+
+src_install() {
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die
+
+ einstalldocs
+ dodoc NEWS.md
+ doman doc/man/*.1
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 4637f4ccbfb9..20d89f9877dc 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -6,12 +6,20 @@ EAPI=8
inherit autotools flag-o-matic multiprocessing qmake-utils xdg
if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+
EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
EGIT_SUBMODULES=()
- inherit git-r3
else
- SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz"
+ inherit verify-sig
+
+ SRC_URI="
+ https://mkvtoolnix.download/sources/${P}.tar.xz
+ verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig )
+ "
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc"
fi
DESCRIPTION="Tools to create, alter, and inspect Matroska files"
@@ -19,34 +27,44 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd gui nls pch test"
+IUSE="dbus debug dvd gui nls qt6 pch test"
RESTRICT="!test? ( test )"
# check NEWS.md for build system changes entries for boost/libebml/libmatroska
# version requirement updates and other packaging info
RDEPEND="
+ app-text/cmark:0=
dev-libs/boost:=
dev-libs/gmp:=
>=dev-libs/libebml-1.4.4:=
>=dev-libs/libfmt-8.0.1:=
- >=dev-libs/pugixml-1.11:=
+ >=dev-libs/pugixml-1.11
media-libs/flac:=
>=media-libs/libmatroska-1.7.1:=
- media-libs/libogg:=
- media-libs/libvorbis:=
+ media-libs/libogg
+ media-libs/libvorbis
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
- dev-qt/qtcore:5
- gui? (
- dev-qt/qtsvg:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- dev-qt/qtconcurrent:5
- dev-qt/qtmultimedia:5
+ !qt6? (
+ dev-qt/qtcore:5
+ dbus? ( dev-qt/qtdbus:5 )
+ gui? (
+ dev-qt/qtsvg:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtmultimedia:5
+ )
+ )
+ qt6? (
+ dev-qt/qtbase:6[dbus?]
+ gui? (
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ )
)
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
"
DEPEND="${RDEPEND}
>=dev-cpp/nlohmann_json-3.9.1
@@ -64,9 +82,14 @@ BDEPEND="
)
"
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
+
PATCHES=(
- "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch
- "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
+ "${FILESDIR}"/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
+ "${FILESDIR}"/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
+ "${FILESDIR}"/mkvtoolnix-80.0.0-optional-qtdbus.patch
)
src_prepare() {
@@ -93,15 +116,7 @@ src_configure() {
$(use_enable debug)
$(usex pch "" --disable-precompiled-headers)
$(use_enable dbus)
-
- # Qt (of some version) is always needed, even for non-GUI builds,
- # to do e.g. MIME detection. See e.g. bug #844097.
- # But most of the Qt deps are conditional on a GUI build.
- --disable-qt6
- --enable-qt5
$(use_enable gui)
- --with-qmake="$(qt5_get_bindir)"/qmake
-
$(use_with dvd dvdread)
$(use_with nls gettext)
#$(use_with nls po4a)
@@ -111,6 +126,23 @@ src_configure() {
--with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
)
+ # Qt (of some version) is always needed, even for non-GUI builds,
+ # to do e.g. MIME detection. See e.g. bug #844097.
+ # But most of the Qt deps are conditional on a GUI build.
+ if use qt6; then
+ myeconfargs+=(
+ --enable-qt6
+ --disable-qt5
+ --with-qmake6="$(qt6_get_bindir)"/qmake
+ )
+ else
+ myeconfargs+=(
+ --disable-qt6
+ --enable-qt5
+ --with-qmake="$(qt5_get_bindir)"/qmake
+ )
+ fi
+
# Work around bug #904710.
use nls || export ac_cv_path_PO4A=