commit:     367662f1d9d31b3646bb33cbc0ca6f7c3b367d30
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Wed Jan 15 20:30:52 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 21 13:00:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=367662f1

media-video/mkvtoolnix: add 90.0

Explictly complain if toolchain doesn't match with qtbase.
Readd dbus use flag as a good samaritan has added the switch upstream.
Nobody has complained when I removed the downstream patch, but no harm
no foul if its upstream now.

Bug: https://bugs.gentoo.org/927497
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/mkvtoolnix/Manifest               |   2 +
 media-video/mkvtoolnix/mkvtoolnix-90.0.ebuild | 159 ++++++++++++++++++++++++++
 2 files changed, 161 insertions(+)

diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index d6bac39be5cf..1e59c814bda4 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -4,3 +4,5 @@ DIST mkvtoolnix-86.0.tar.xz 11369476 BLAKE2B 
a18ed1534f693f98924bc5c4bb1d3acedd1
 DIST mkvtoolnix-86.0.tar.xz.sig 833 BLAKE2B 
d53e8f8198f5ce5faec0b6c991ecf64a43f42395182aa7ead970f17e56b01c986392922b052cc2ac5e380983b937345838a96cde84e575d72bfcff2dd3084b09
 SHA512 
19901f9f61e108b8c4db0dab833e0998ab2bdc227130fe6d1aea6b9f495e66aa796bd4d3f70f14dadc906226884f03aaca90e710233e58fb604f66b28fb4abee
 DIST mkvtoolnix-88.0.tar.xz 11241552 BLAKE2B 
01edcfe995e75fa7cde1916eb37a5f75d9788d5e56ee7a07ca106d861cf2d297a7d72974b0b6f958fec175d3db675e9e852af9f50345ededcca403983dcffa85
 SHA512 
b1b08a42f55e841c618cbfe19f40310ea7c879d43a6a1db4152abfd5618deccc33332a73b1fc21757660891907b9eb12028b8c016134708f0464d5cc10a343c2
 DIST mkvtoolnix-88.0.tar.xz.sig 833 BLAKE2B 
b0acd58dbc4c937ec50477e2695c4df1e67d6b40e985d676be38eaaff513a4eed17b19c612892c39c613e3736f516074febd12f76087ade3078d1183b0a3bce1
 SHA512 
f8175019b12f5a7bf36cc69f806d3dfc18431945f50bd1c4be5e5c1422ea9e53ca8ca93a08a417cae97da163b622ed09e7490a80255fccece6a5cbd32efbfe96
+DIST mkvtoolnix-90.0.tar.xz 11273024 BLAKE2B 
03488894cc0ec51829581b6a4cae35f9eecd1443deacfd00cc81295b76317361657ccc42977a1a66d1320b59b03fd9db5373a0a4c1bb70c0df452b745f3ddf5a
 SHA512 
3558e175bc369f1296604abc986bab88fb11d199032acf1e133d62ad8d99d848ae249df3f3e4ab342f3a400750ef20975acc0b9c0a3f4a7b8cb5bbdd563a4227
+DIST mkvtoolnix-90.0.tar.xz.sig 833 BLAKE2B 
6dace1510af79347b772227a2e534cbfa74e18af3c0c9543a4951753dce2393cfb376ab2efdafe852e114b176e520a78bd7815c2ffec550baafb1496d762b1eb
 SHA512 
de755106bebffd7b13365a6e8488cfeaa3666bc8b2cb21ef42429642e5dab9e048709327b00f8f7fed46186885dea3abcad2961e0c77a3ce04998b7369e9f9a9

diff --git a/media-video/mkvtoolnix/mkvtoolnix-90.0.ebuild 
b/media-video/mkvtoolnix/mkvtoolnix-90.0.ebuild
new file mode 100644
index 000000000000..838bf63b2a3d
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-90.0.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multiprocessing prefix qmake-utils 
toolchain-funcs 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 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="
+       dev-libs/boost:=
+       dev-libs/gmp:=
+       >=dev-libs/libebml-1.4.5:=
+       >=dev-libs/libfmt-8.0.1:=
+       >=dev-libs/pugixml-1.11
+       >=dev-qt/qtbase-6.2:6[dbus?]
+       media-libs/flac:=
+       >=media-libs/libmatroska-1.7.1:=
+       media-libs/libogg
+       media-libs/libvorbis
+       sys-libs/zlib
+       dvd? ( media-libs/libdvdread:= )
+       gui? (
+               app-text/cmark:0=
+               >=dev-qt/qtbase-6.2:6[concurrent,gui,network,widgets]
+               >=dev-qt/qtmultimedia-6.2:6
+               >=dev-qt/qtsvg-6.2: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
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]]; then
+               # bug #927497
+               # the compiler used for qtbase affects what compiler arguments 
qmake will use
+               if tc-is-gcc; then
+                       expected_spec="linux-g++"
+               elif tc-is-clang; then
+                       expected_spec="linux-clang"
+               fi
+
+               if [[ ${expected_spec} != $(qmake6 -query QMAKE_SPEC) ]]; then
+                       if tc-is-gcc; then
+                               eerror "Detected non-gcc qmake spec but current 
compiler is gcc."
+                       elif tc-is-clang; then
+                               eerror "Detected non-clang qmake spec but 
current compiler is clang."
+                       fi
+                       eerror "Compiler mismatch: dev-qt/qtbase:6 and 
${CATEGORY}/${PN} have to use the same toolchain https://bugs.gentoo.org/927497";
+               fi
+       fi
+}
+
+src_prepare() {
+       default
+
+       if [[ ${PV} == *9999 ]]; then
+               ./autogen.sh || die
+       fi
+
+       # bug #692018
+       sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
+
+       # bug #928463
+       hprefixify "${S}/ac/ax_docbook.m4"
+
+       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 dbus)
+               $(use_enable debug)
+               $(usex pch "" --disable-precompiled-headers)
+               $(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.
+               --with-qmake6="$(qt6_get_bindir)"/qmake
+       )
+
+       # 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
+}

Reply via email to