diff options
author | Sam James <sam@gentoo.org> | 2022-07-08 08:27:47 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-08 08:41:46 +0100 |
commit | f540e45e45c69b1ea77737aaeae82338c7cae4b6 (patch) | |
tree | abd9cd1bc49b85737ed4613aa054bbd38d97f557 /media-video/mkvtoolnix | |
parent | app-crypt/gnupg: add 2.2.36 (diff) | |
download | gentoo-f540e45e45c69b1ea77737aaeae82338c7cae4b6.tar.gz gentoo-f540e45e45c69b1ea77737aaeae82338c7cae4b6.tar.bz2 gentoo-f540e45e45c69b1ea77737aaeae82338c7cae4b6.zip |
media-video/mkvtoolnix: fix build with newer fmt; add missing qtsvg dep
Closes: https://bugs.gentoo.org/856700
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/mkvtoolnix')
-rw-r--r-- | media-video/mkvtoolnix/files/mkvtoolnix-68.0.0-fmt-9.patch | 293 | ||||
-rw-r--r-- | media-video/mkvtoolnix/mkvtoolnix-68.0.0-r1.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-68.0.0.ebuild) | 2 |
2 files changed, 295 insertions, 0 deletions
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-68.0.0-fmt-9.patch b/media-video/mkvtoolnix/files/mkvtoolnix-68.0.0-fmt-9.patch new file mode 100644 index 000000000000..a0e3c1780db9 --- /dev/null +++ b/media-video/mkvtoolnix/files/mkvtoolnix-68.0.0-fmt-9.patch @@ -0,0 +1,293 @@ +https://gitlab.com/mbunkus/mkvtoolnix/-/commit/1e1076e43fe8f38e33246fff3ce8651a93c371d9 +https://bugs.gentoo.org/856700 + +From: Moritz Bunkus <mo@bunkus.online> +Date: Thu, 7 Jul 2022 13:11:34 +0200 +Subject: [PATCH] fix compilation with fmt v9.0.0 + +Prior to v9 all types that were outputtable via `operator<<` to +`std::ostream` could be formatted. v9 changed that to require explicit +tagging of those types that should work this way. This commit adds +those tags for the types that are currently formatted via fmt. + +Fixes #3366. +--- a/src/common/aac.h ++++ b/src/common/aac.h +@@ -221,3 +221,7 @@ protected: + using parser_cptr = std::shared_ptr<parser_c>; + + } // namespace mtx::aac ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::aac::header_c> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/bcp47.h ++++ b/src/common/bcp47.h +@@ -176,3 +176,8 @@ struct hash<mtx::bcp47::language_c> { + }; + + } // namespace mtx::bcp47 ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::bcp47::language_c::extension_t> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::bcp47::language_c> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/bluray/track_chapter_names.cpp ++++ b/src/common/bluray/track_chapter_names.cpp +@@ -18,6 +18,7 @@ + #include "common/bluray/track_chapter_names.h" + #include "common/bluray/util.h" + #include "common/debugging.h" ++#include "common/path.h" + #include "common/qt.h" + #include "common/xml/xml.h" + +--- a/src/common/error.h ++++ b/src/common/error.h +@@ -45,3 +45,7 @@ operator <<(std::ostream &out, + } + + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::exception> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/fourcc.h ++++ b/src/common/fourcc.h +@@ -83,3 +83,7 @@ operator <<(std::ostream &out, + out << fourcc.str(); + return out; + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<fourcc_c> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/kax_analyzer.h ++++ b/src/common/kax_analyzer.h +@@ -239,3 +239,7 @@ public: + virtual void debug_abort_process(); + }; + using console_kax_analyzer_cptr = std::shared_ptr<console_kax_analyzer_c>; ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::kax_analyzer_x> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/math_fwd.h ++++ b/src/common/math_fwd.h +@@ -18,6 +18,11 @@ + using mtx_mp_rational_t = boost::multiprecision::number<boost::multiprecision::backends::gmp_rational, boost::multiprecision::et_off>; + using mtx_mp_int_t = boost::multiprecision::number<boost::multiprecision::backends::gmp_int, boost::multiprecision::et_off>; + ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx_mp_rational_t> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx_mp_int_t> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 ++ + namespace mtx { + + // This conversion function exists to work around incomplete +--- a/src/common/mm_io_x.h ++++ b/src/common/mm_io_x.h +@@ -155,3 +155,16 @@ operator <<(std::ostream &out, + } + + }} ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::mm_io::exception> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::end_of_file_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::seek_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::read_write_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::open_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::wrong_read_write_access_x>: ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::insufficient_space_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::create_directory_x> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::text::exception> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::mm_io::text::invalid_utf8_char_x>: ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/opus.h ++++ b/src/common/opus.h +@@ -91,3 +91,9 @@ operator <<(std::ostream &out, + } + + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mtx::opus::decode_error> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::opus::id_header_t> : ostream_formatter {}; ++template <> struct fmt::formatter<mtx::opus::toc_t> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/path.h ++++ b/src/common/path.h +@@ -36,3 +36,7 @@ std::filesystem::path absolute(std::filesystem::path const &p); + void create_directories(std::filesystem::path const &path, std::error_code &error_code); + + } // namespace mtx::fs ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<std::filesystem::path> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/qt.h ++++ b/src/common/qt.h +@@ -102,3 +102,7 @@ operator <<(std::wostream &out, + out << string.toStdWString(); + return out; + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<QString> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/strings/formatting.h ++++ b/src/common/strings/formatting.h +@@ -129,3 +129,7 @@ operator <<(std::ostream &out, + out << mtx::string::format_timestamp(timestamp); + return out; + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<basic_timestamp_c<int64_t>> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/common/translation.h ++++ b/src/common/translation.h +@@ -80,4 +80,8 @@ operator <<(std::ostream &out, + return out; + } + ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<translatable_string_c> : ostream_formatter {}; ++#endif ++ + void init_locales(std::string locale = ""); +--- a/src/input/r_flac.cpp ++++ b/src/input/r_flac.cpp +@@ -240,7 +240,7 @@ flac_reader_c::handle_picture_metadata(FLAC__StreamMetadata const *metadata) { + mxdebug_if(m_debug, fmt::format("flac_reader: MIME type: {0}\n", attachment->mime_type)); + mxdebug_if(m_debug, fmt::format("flac_reader: data length: {0}\n", picture.data_length)); + mxdebug_if(m_debug, fmt::format("flac_reader: ID: {0}\n", m_attachment_id)); +- mxdebug_if(m_debug, fmt::format("flac_reader: mode: {0}\n", attach_mode)); ++ mxdebug_if(m_debug, fmt::format("flac_reader: mode: {0}\n", static_cast<unsigned int>(attach_mode))); + + if (attachment->mime_type.empty() || attachment->name.empty()) + return; +@@ -276,7 +276,7 @@ flac_reader_c::flac_metadata_cb(const FLAC__StreamMetadata *metadata) { + : metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT ? "VORBIS COMMENT" + : metadata->type == FLAC__METADATA_TYPE_CUESHEET ? "CUESHEET" + : "UNDEFINED", +- metadata->type, metadata->length)); ++ static_cast<unsigned int>(metadata->type), metadata->length)); + break; + } + } +--- a/src/input/r_flv.h ++++ b/src/input/r_flv.h +@@ -173,3 +173,8 @@ protected: + + unsigned int add_track(char type); + }; ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<flv_header_t> : ostream_formatter {}; ++template <> struct fmt::formatter<flv_tag_c> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/input/r_mpeg_ps.h ++++ b/src/input/r_mpeg_ps.h +@@ -244,3 +244,8 @@ private: + void sort_tracks(); + void calculate_global_timestamp_offset(); + }; ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<mpeg_ps_id_t> : ostream_formatter {}; ++template <> struct fmt::formatter<mpeg_ps_packet_c> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/input/r_ogm_flac.cpp ++++ b/src/input/r_ogm_flac.cpp +@@ -104,7 +104,7 @@ fhe_metadata_cb(const FLAC__StreamDecoder *, + : metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT ? "VORBIS COMMENT" + : metadata->type == FLAC__METADATA_TYPE_CUESHEET ? "CUESHEET" + : "UNDEFINED", +- metadata->type, metadata->length)); ++ static_cast<unsigned int>(metadata->type), metadata->length)); + break; + } + } +--- a/src/input/r_qtmp4.h ++++ b/src/input/r_qtmp4.h +@@ -590,3 +590,7 @@ protected: + + virtual void process_atom(qt_atom_t const &parent, int level, std::function<void(qt_atom_t const &)> const &handler); + }; ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<qt_atom_t> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/merge/item_selector.h ++++ b/src/merge/item_selector.h +@@ -139,3 +139,7 @@ operator <<(std::ostream &out, + + return out; + } ++ ++#if FMT_VERSION >= 90000 ++template <typename T> struct fmt::formatter<item_selector_c<T>> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/propedit/attachment_target.cpp ++++ b/src/propedit/attachment_target.cpp +@@ -83,14 +83,14 @@ attachment_target_c::dump_info() + " selector_num_arg: {6}\n" + " selector_string_arg: {7}\n", + m_file_name, +- m_command, ++ static_cast<unsigned int>(m_command), + ac_add == m_command ? "add" + : ac_delete == m_command ? "delete" + : ac_replace == m_command ? "replace" + : ac_update == m_command ? "update" + : "unknown", + m_options, +- m_selector_type, ++ static_cast<unsigned int>(m_selector_type), + st_id == m_selector_type ? "ID" + : st_uid == m_selector_type ? "UID" + : st_name == m_selector_type ? "name" +--- a/src/propedit/attachment_target.h ++++ b/src/propedit/attachment_target.h +@@ -130,3 +130,7 @@ operator <<(std::ostream &out, + + return out; + } ++ ++#if FMT_VERSION >= 90000 ++template <> struct fmt::formatter<attachment_target_c::options_t> : ostream_formatter {}; ++#endif // FMT_VERSION >= 90000 +--- a/src/propedit/tag_target.cpp ++++ b/src/propedit/tag_target.cpp +@@ -104,10 +104,10 @@ tag_target_c::dump_info() + " selection_track_type: {3}\n" + " track_uid: {4}\n" + " file_name: {5}\n", +- static_cast<int>(m_operation_mode), +- static_cast<int>(m_selection_mode), ++ static_cast<unsigned int>(m_operation_mode), ++ static_cast<unsigned int>(m_selection_mode), + m_selection_param, +- m_selection_track_type, ++ static_cast<unsigned int>(m_selection_track_type), + m_track_uid, + m_file_name)); + +--- a/src/propedit/track_target.cpp ++++ b/src/propedit/track_target.cpp +@@ -78,9 +78,9 @@ track_target_c::dump_info() + " selection_track_type: {2}\n" + " track_uid: {3}\n" + " file_name: {4}\n", +- static_cast<int>(m_selection_mode), ++ static_cast<unsigned int>(m_selection_mode), + m_selection_param, +- m_selection_track_type, ++ static_cast<unsigned int>(m_selection_track_type), + m_track_uid, + m_file_name)); + +GitLab diff --git a/media-video/mkvtoolnix/mkvtoolnix-68.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-68.0.0-r1.ebuild index cc6409014b5c..1f997ac7d980 100644 --- a/media-video/mkvtoolnix/mkvtoolnix-68.0.0.ebuild +++ b/media-video/mkvtoolnix/mkvtoolnix-68.0.0-r1.ebuild @@ -38,6 +38,7 @@ RDEPEND=" sys-libs/zlib dvd? ( media-libs/libdvdread:= ) dev-qt/qtcore:5 + dev-qt/qtsvg:5 gui? ( dev-qt/qtgui:5 dev-qt/qtnetwork:5 @@ -67,6 +68,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch + "${FILESDIR}"/${P}-fmt-9.patch ) src_prepare() { |