summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/mkvtoolnix/Manifest2
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-95.0.ebuild161
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild4
3 files changed, 165 insertions, 2 deletions
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index da9e8db78ecb..17d302644ce3 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -4,3 +4,5 @@ DIST mkvtoolnix-93.0.tar.xz 11423512 BLAKE2B a5bc9e01de4404f596dcbf897cffb59147d
DIST mkvtoolnix-93.0.tar.xz.sig 833 BLAKE2B 78968f7b6c9a97029f7ddbbac81c3073df68225fa62b03d9e739f050a01ec234ea7b503a215d556f7dae93dbb4038b1d54e84a06d3bfe0a37d5521306c6ef701 SHA512 4a7cf98c32c8c61287d28b427b571c892a3d52ebe5406e173f39b2dc2c012828499cc5c7229e55fd5de529ceaeec4a7845c4420887fe25e725b57fc2744796cc
DIST mkvtoolnix-94.0.tar.xz 11708096 BLAKE2B 1ec535f56c8840594ba98d0ee0f1c2d0c2c4777a9358b98ebd9a32724aff5c62cb0c983653feeb939c7bf9ca94c13b51c745e6c46075cba6d90667bef94d9b75 SHA512 72b6c8f42ffe9c29032b412bf45371fbbd5a0db4f082bb5c0d3850ee378a42ec33515487565ec52232f1f30f3e9dac2778f5022caac616c718034ca79137b9ee
DIST mkvtoolnix-94.0.tar.xz.sig 833 BLAKE2B 584e806f696039641f1c9affc8981cc58165ca8f8991e2a37e34594cf8aa22781341fa625768927c6d4f89cdd1db658ad5f30a8407e2ec776d9c5bc6e27ebdb2 SHA512 47a1be7b3f9c564bdc61c2b26ece6fdcc07cb4e7793e6b8caf91373ae505bc20f363e8163cb5f94122a44bef3d3da84427b73bda888185e509ef601e2c91b84a
+DIST mkvtoolnix-95.0.tar.xz 11746244 BLAKE2B 83b06e4551778ca12fdf413fe150ba9efc3e981563ca6582e656a6e6c11f4a60ce7a7511fad8819bfe719acc18a7e23ea60439e05151f88e92c12857a194949c SHA512 e8aaccd4fb7a4cd11fadbfff230df85c68ea8af60f9c51536cb11c2bb58cce823b52e47123aa829414a776baeeb91ebfab81bf67075c387fb87171e63c1b014f
+DIST mkvtoolnix-95.0.tar.xz.sig 833 BLAKE2B 438e3c884dffda81efddcbc01950e21f6187af8c7738d0ebca4500cd82a877fd00873f39f156db99b119a5bb64958d010c6b81758b97b9937882899a56616497 SHA512 079c228b6a51ba1e4d535d874adc666ebbdf4830d4f954e78826ea6a4dbe8a36107455d6e0faf3ffd9ab1338b4760f04f2e8ec545130549b72531fedf6821005
diff --git a/media-video/mkvtoolnix/mkvtoolnix-95.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-95.0.ebuild
new file mode 100644
index 000000000000..22613794bad6
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-95.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 ~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
+ 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
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 51b487c445ed..22613794bad6 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -17,7 +17,7 @@ else
https://mkvtoolnix.download/sources/${P}.tar.xz
verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig )
"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc"
fi
@@ -35,7 +35,7 @@ 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/boost-1.74.0:=
dev-libs/gmp:=
>=dev-libs/libebml-1.4.5:=
>=dev-libs/libfmt-8.0.1:=