You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-video/mkvtoolnix/files/mkvtoolnix-68.0.0-fmt-9.patch

294 lines
12 KiB

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