commit:     ebf68d134946a79adc16422461ddb51fc45f8cdc
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sun Nov 19 13:19:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 04:22:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebf68d13

media-video/mkvtoolnix: add 80.0

Closes: https://bugs.gentoo.org/914337
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33922
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/mkvtoolnix/Manifest                    |  2 +
 .../files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch | 29 ++++++++
 .../files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch | 31 ++++++++
 .../files/mkvtoolnix-80.0.0-optional-qtdbus.patch  | 70 ++++++++++++++++++
 ...vtoolnix-9999.ebuild => mkvtoolnix-80.0.ebuild} | 84 +++++++++++++++-------
 media-video/mkvtoolnix/mkvtoolnix-9999.ebuild      | 84 +++++++++++++++-------
 6 files changed, 248 insertions(+), 52 deletions(-)

diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index d51ec57a4d96..f85d77ed670b 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,3 +1,5 @@
 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

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 <par...@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 <par...@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 <par...@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 <par...@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 <par...@protonmail.com>
+Date: Mon, 20 Nov 2023 23:18:56 +0200
+Subject: [PATCH] Add an option for qtdbus support
+
+Signed-off-by: Alfred Wingate <par...@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-9999.ebuild 
b/media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild
similarity index 63%
copy from media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
copy to media-video/mkvtoolnix/mkvtoolnix-80.0.ebuild
index 4637f4ccbfb9..20d89f9877dc 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-80.0.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=
 

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=
 

Reply via email to