summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/mkvtoolnix')
-rw-r--r--media-video/mkvtoolnix/Manifest2
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch25
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild142
3 files changed, 169 insertions, 0 deletions
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index 27593459ae9f..a212124cf9fa 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -4,3 +4,5 @@ DIST mkvtoolnix-83.0.tar.xz 11278152 BLAKE2B f57b398c747d90021f2a13e58df23655e89
DIST mkvtoolnix-83.0.tar.xz.sig 833 BLAKE2B 3eddaa4941d84937a7b771bea66be52979437abb54cd178eb6d24b30628db3ee0ad72f23bea7419a7bc13cfd4f84d6d004b46ad63bad0eeeef8fd05f37bcaf4f SHA512 6d3ac46a40139fff67da61c77a802df243764d8c26c55e3b951d407fd3147bcf985f8a62c21b18c12fabe0afdc535a3449a6bfff3f15a5779b2aed1f94fe0ab7
DIST mkvtoolnix-84.0.tar.xz 11325260 BLAKE2B 147878e796c3ce9b3dc03e026eaeb45c21946d0a80ff76d090a8a11a22e1e02fddfe158192df264c5a006ad9007a73d68ddd5c79f0ccd1d103e827e4d0123974 SHA512 3a73bb2497a227fd2e0a65d58e72bf479662828a7b4201b37b7bfdd7f88d294a6690aee024661d8b5615036f64a4ce1c2ba64d7b24ebd352f8f5ce3ffdac543a
DIST mkvtoolnix-84.0.tar.xz.sig 833 BLAKE2B 903530d5968d9409a9b0fe1f236c254386a33ce1224b36d4e6f33d603851eec2ed27aac2923d59a3f2e729a48bd7724d8b697cbdff5213bec338417f1632ef29 SHA512 2338a226e0df776e1b3c78f93793900e62c391fd7fd4e56c317840f3d00fccc20d6ede3118ad47266b6772459d1959a221f2e475a4b96bd9c2d58caab3dae184
+DIST mkvtoolnix-86.0.tar.xz 11369476 BLAKE2B a18ed1534f693f98924bc5c4bb1d3acedd154dacede17691a88b1d1a14c99d5ba4bc5483060d67624e682058e8af1a91ea0f77b095f35af340dea84a441dedc1 SHA512 ca1009439d662f32c75ee915f89ed1ccf1475f84782a5da977521e1ab1a558400d844d689ba37d3e5bcc2cb0ec70d3fac5db5594d0088668dd0ba3ac759819c6
+DIST mkvtoolnix-86.0.tar.xz.sig 833 BLAKE2B d53e8f8198f5ce5faec0b6c991ecf64a43f42395182aa7ead970f17e56b01c986392922b052cc2ac5e380983b937345838a96cde84e575d72bfcff2dd3084b09 SHA512 19901f9f61e108b8c4db0dab833e0998ab2bdc227130fe6d1aea6b9f495e66aa796bd4d3f70f14dadc906226884f03aaca90e710233e58fb604f66b28fb4abee
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch b/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch
new file mode 100644
index 000000000000..3b4b1b9fca52
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch
@@ -0,0 +1,25 @@
+https://gitlab.com/mbunkus/mkvtoolnix/-/merge_requests/2259
+https://gitlab.com/mbunkus/mkvtoolnix/-/commit/b57dde69dc80b151844e0762a2ae6bca3ba86d95
+
+From b57dde69dc80b151844e0762a2ae6bca3ba86d95 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 11:10:09 +0800
+Subject: [PATCH] fix build with fmt v11
+
+fmt::join() was moved into fmt/ranges.h since fmt 11, so let's
+include this header for using it.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+--- a/src/common/common.h
++++ b/src/common/common.h
+@@ -35,6 +35,7 @@
+
+ #include <fmt/format.h>
+ #include <fmt/ostream.h>
++#include <fmt/ranges.h>
+
+ #include <boost/algorithm/string.hpp>
+ #include <boost/multiprecision/cpp_int.hpp>
+--
+GitLab
+
diff --git a/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
new file mode 100644
index 000000000000..b44d36acb42f
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multiprocessing prefix qmake-utils xdg
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/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://gitlab.com/mbunkus/mkvtoolnix"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug dvd gui nls pch test"
+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
+ media-libs/libglvnd
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=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
+
+PATCHES=(
+ "${FILESDIR}"/mkvtoolnix-86.0-libfmt-11-fix.patch
+)
+
+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 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
+}