summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/mkvtoolnix/Manifest2
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-91.0.ebuild161
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
+}