commit: fff01606b7b67c7700328fa68996d973eee0ac57 Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Sat Jun 14 14:04:31 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Jun 14 23:37:50 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fff01606
media-video/mkvtoolnix: add 93.0 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42595 Closes: https://github.com/gentoo/gentoo/pull/42595 Signed-off-by: Sam James <sam <AT> gentoo.org> media-video/mkvtoolnix/Manifest | 2 + media-video/mkvtoolnix/mkvtoolnix-93.0.ebuild | 161 ++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest index 16122206de6b..5f0407dcd4fd 100644 --- a/media-video/mkvtoolnix/Manifest +++ b/media-video/mkvtoolnix/Manifest @@ -2,3 +2,5 @@ DIST mkvtoolnix-91.0.tar.xz 11314980 BLAKE2B a0e8eec5359ef8fbd62b189006726b7d539 DIST mkvtoolnix-91.0.tar.xz.sig 833 BLAKE2B 9c9a3ed4e8d71e8291b06d97d860acf5cfaf3d5cdb0b29ecefad9f9e26492e986ad790413a596c2241d448c1791e662e4a01c97ab060a039eaa2365e7effd646 SHA512 62cf90e80d19dab3a6d70965740f571ddec7a0a83b8a451654f5239e9f6f09849dba9ed4d19ae88f27e59675c0876daf3769708b16b906c1b9febb5413893ce9 DIST mkvtoolnix-92.0.tar.xz 11317576 BLAKE2B b865491267ffda14c7707d3620ba87d7a17fd7285dc9d9271dd02ac9e9412e79651f337530a0d1eeb3c79ad23470637a332c9c605b134bff00b7511899d36d3c SHA512 aaded1202b02a47e6231dbf152ec267ba216f92fc2704e628f5032f2208b8af0c193c62e275a6e0fb929a8904dfb4b3fdc20aeb4d3c1b0d2b652296d9fe0d089 DIST mkvtoolnix-92.0.tar.xz.sig 833 BLAKE2B c4f924f881eb294babec20dc2e887c4633a5d669d1fc03d391175d54f4f91941e54ade48f217af73528a1a07aebeed7d0638e5c8420c2dfe43b9797be63b0668 SHA512 6710bebece8b10a877787e506c097e03c82c0ba6716ed72e87a1d193530be3a3ca38cac3015154d7f014c6b6dad312b57cb3c8944c97cc14b732314630461781 +DIST mkvtoolnix-93.0.tar.xz 11423512 BLAKE2B a5bc9e01de4404f596dcbf897cffb59147df239d39b3519fd0d086d1d700d624ce08d094cc4d4393ccb8cb3ca364b36fe17db076e849f13e5b8596fffc035f65 SHA512 06fe3477caa663adb33ad38d0188929498109e8e11b669a7fd83898c72ae3bc19f1f54e91ad1d1f593e059213c476cf314f1ec6ff9d5d62fbbe047a7e11cc951 +DIST mkvtoolnix-93.0.tar.xz.sig 833 BLAKE2B 78968f7b6c9a97029f7ddbbac81c3073df68225fa62b03d9e739f050a01ec234ea7b503a215d556f7dae93dbb4038b1d54e84a06d3bfe0a37d5521306c6ef701 SHA512 4a7cf98c32c8c61287d28b427b571c892a3d52ebe5406e173f39b2dc2c012828499cc5c7229e55fd5de529ceaeec4a7845c4420887fe25e725b57fc2744796cc diff --git a/media-video/mkvtoolnix/mkvtoolnix-93.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-93.0.ebuild new file mode 100644 index 000000000000..51b487c445ed --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-93.0.ebuild @@ -0,0 +1,161 @@ +# 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://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 ~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:= + 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.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 +}
