diff options
| -rw-r--r-- | media-video/mkvtoolnix/Manifest | 2 | ||||
| -rw-r--r-- | media-video/mkvtoolnix/mkvtoolnix-91.0.ebuild | 161 |
2 files changed, 163 insertions, 0 deletions
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest index 5442ee0664bf..6ec96424d897 100644 --- a/media-video/mkvtoolnix/Manifest +++ b/media-video/mkvtoolnix/Manifest @@ -4,3 +4,5 @@ DIST mkvtoolnix-88.0.tar.xz 11241552 BLAKE2B 01edcfe995e75fa7cde1916eb37a5f75d97 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 +DIST mkvtoolnix-91.0.tar.xz 11314980 BLAKE2B a0e8eec5359ef8fbd62b189006726b7d53908bb0798be24d35edd5faec8026d1b013077d2d49ffcdc5500bce82630b41f0b1fbe591303ac5ee5e071c575c3391 SHA512 2f859c8ef30a284f2343ba3ebe1248c6eaeccd2fe8ff99355a1ae7fd7827c97924bea54044fedd6ee455d57ada17858a9aaf6e1b99c7610435c606746166ee6d +DIST mkvtoolnix-91.0.tar.xz.sig 833 BLAKE2B 9c9a3ed4e8d71e8291b06d97d860acf5cfaf3d5cdb0b29ecefad9f9e26492e986ad790413a596c2241d448c1791e662e4a01c97ab060a039eaa2365e7effd646 SHA512 62cf90e80d19dab3a6d70965740f571ddec7a0a83b8a451654f5239e9f6f09849dba9ed4d19ae88f27e59675c0876daf3769708b16b906c1b9febb5413893ce9 diff --git a/media-video/mkvtoolnix/mkvtoolnix-91.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-91.0.ebuild new file mode 100644 index 000000000000..51b487c445ed --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-91.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 +} |
