commit: 82240140e658f0126f97ed9618e2ed163153424c Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Tue Jan 6 10:59:48 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Jan 10 12:46:16 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82240140
media-video/mkvtoolnix: add 97.0 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/45277 Closes: https://github.com/gentoo/gentoo/pull/45277 Signed-off-by: Sam James <sam <AT> gentoo.org> media-video/mkvtoolnix/Manifest | 2 + media-video/mkvtoolnix/mkvtoolnix-97.0.ebuild | 161 ++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest index ab9aab00b5d8..a27da6f88dac 100644 --- a/media-video/mkvtoolnix/Manifest +++ b/media-video/mkvtoolnix/Manifest @@ -2,3 +2,5 @@ DIST mkvtoolnix-95.0.tar.xz 11746244 BLAKE2B 83b06e4551778ca12fdf413fe150ba9efc3 DIST mkvtoolnix-95.0.tar.xz.sig 833 BLAKE2B 438e3c884dffda81efddcbc01950e21f6187af8c7738d0ebca4500cd82a877fd00873f39f156db99b119a5bb64958d010c6b81758b97b9937882899a56616497 SHA512 079c228b6a51ba1e4d535d874adc666ebbdf4830d4f954e78826ea6a4dbe8a36107455d6e0faf3ffd9ab1338b4760f04f2e8ec545130549b72531fedf6821005 DIST mkvtoolnix-96.0.tar.xz 11749168 BLAKE2B d048bbfa9ca4a943f3fe44aa9fd20f12bef5d90090c6ff1a9feb3169f888d4105875fc5bc5d0b930c929883903edeeddfbfb46717e272bd73ab78b093821b158 SHA512 10574069e25e05ed4efa348cf905a28a48a10c90e0f0987dd02e01bb743d7346e5e8575788f47caf30a1ef513e1bc7a3efe66e07790f1e04a285c71501d800c7 DIST mkvtoolnix-96.0.tar.xz.sig 833 BLAKE2B dbe5f2f6ecec87a8846e0c0a1da15306009ed8ba41621561334274963e4f3dc6f2d0ed973bbd8e962d2abfd146999de10b36d77401095f60743cd54a2a4184e1 SHA512 ad5b8dccbb06cdb02b067e1a2acd7e272a8377c08a21ed0c40b6dd411c97bb573219ef25a9ffc3e0ac0565f4b2803f59a70f22736cbc8ba7e1be7527eb13f2a3 +DIST mkvtoolnix-97.0.tar.xz 11749232 BLAKE2B ef229cc84040ec89ff10dbc83b37b65d1082dc911553346ef641b1795d564adfd99912504330312db442d35daad9fc3a9e9ffad3b7550ce8f35d37e6ca9a2dc4 SHA512 d6db63f317bef111b5b1df421484a31c2c1a11e68a52dded46612e5d1e3ec2dda3c5d3e48e1ccf8eb54994a08a9d0a155b1f19bc2778e9c011152c5c9a1dc38a +DIST mkvtoolnix-97.0.tar.xz.sig 833 BLAKE2B a2e76c081d6a608e059aacb43d6e463513e06b79c55a338df2a62515acf06a2804a3f9b5042af3f6f52d4a3ee4c457354b1ff85197f332c052473db39969ddd9 SHA512 c79e0ea5643ee82a519234045d2f76f3c9a9081d58fec05b17529d53b9bbd20f04e21129e65be099d2ef80cb4860925899327563000bc345e703bca269e85122 diff --git a/media-video/mkvtoolnix/mkvtoolnix-97.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-97.0.ebuild new file mode 100644 index 000000000000..47ed7c9ec5e3 --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-97.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2026 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://codeberg.org/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 ~arm ~arm64 ~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://codeberg.org/mbunkus/mkvtoolnix" + +LICENSE="GPL-2" +SLOT="0" +IUSE="dbus debug dvd gui nls pch test" +# bug #951192 +REQUIRED_USE="dbus? ( gui )" +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-1.74.0:= + 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 + virtual/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.11.3 + >=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 +}
