commit:     f096231a4cc4201dd2036bcee25b5f4610becde0
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Mon Jun 10 19:24:31 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 17 19:15:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f096231a

media-video/mkvtoolnix: add 86.0

Backport patch for libfmt-11 compatibility.

Closes: https://bugs.gentoo.org/938105
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 media-video/mkvtoolnix/Manifest                    |   2 +
 .../files/mkvtoolnix-86.0-libfmt-11-fix.patch      |  25 ++++
 media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild      | 142 +++++++++++++++++++++
 3 files changed, 169 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+--- 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
+}

Reply via email to