commit: 6cdacfa91764b6ef1ae7789e64d853c27d92b23d Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Sun Jun 2 11:33:31 2024 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Sun Jun 9 06:24:01 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cdacfa9
media-video/mkvtoolnix: fix libcxx incompatibility Closes: https://bugs.gentoo.org/933417 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/36973 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> .../files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch | 44 ++++++++++++++++++++++ ...olnix-84.0.ebuild => mkvtoolnix-84.0-r1.ebuild} | 4 ++ 2 files changed, 48 insertions(+) diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch b/media-video/mkvtoolnix/files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch new file mode 100644 index 000000000000..9a45aaa9cb9e --- /dev/null +++ b/media-video/mkvtoolnix/files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch @@ -0,0 +1,44 @@ +https://bugs.gentoo.org/933417 +https://gitlab.com/mbunkus/mkvtoolnix/-/issues/3695 +https://gitlab.com/mbunkus/mkvtoolnix/-/commit/7e1bea9527616ab6ab38425e7290579f05dd9bb1 + +From 7e1bea9527616ab6ab38425e7290579f05dd9bb1 Mon Sep 17 00:00:00 2001 +From: Moritz Bunkus <mo@bunkus.online> +Date: Tue, 30 Apr 2024 16:05:35 +0200 +Subject: [PATCH] replace removed `std::result_of` with `std::invoke_result` + +`std::result_of` was deprecated in C++17 & removed in C++20. A lot of +compilers still make it available even when running in C++20 mode, +while others don't. + +Therefore replace it with equivalent use of `std::invoke_result`. + +Fixes #3695. +--- a/NEWS.md ++++ b/NEWS.md +@@ -1,3 +1,11 @@ ++# Version ? ++ ++## Bug fixes ++ ++* fixed compilation of `src/common/sorting.h` with certain compilers due to ++ the deprecation & removal of `std::result_of<>` in C++20. Fixes #3695. ++ ++ + # Version 84.0 "Sleeper" 2024-04-28 + + ## New features and enhancements +--- a/src/common/sorting.h ++++ b/src/common/sorting.h +@@ -27,7 +27,7 @@ namespace mtx::sort { + + template< typename Titer + , typename Tcriterion_maker +- , typename Tcriterion = typename std::result_of< Tcriterion_maker(typename std::iterator_traits<Titer>::value_type) >::type ++ , typename Tcriterion = typename std::invoke_result< Tcriterion_maker, typename std::iterator_traits<Titer>::value_type >::type + , typename Tcomparator = std::less<Tcriterion> + > + void +-- +GitLab + diff --git a/media-video/mkvtoolnix/mkvtoolnix-84.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-84.0-r1.ebuild similarity index 97% rename from media-video/mkvtoolnix/mkvtoolnix-84.0.ebuild rename to media-video/mkvtoolnix/mkvtoolnix-84.0-r1.ebuild index 6731cce63b2d..f5eaf0cade1f 100644 --- a/media-video/mkvtoolnix/mkvtoolnix-84.0.ebuild +++ b/media-video/mkvtoolnix/mkvtoolnix-84.0-r1.ebuild @@ -73,6 +73,10 @@ if [[ ${PV} != *9999 ]] ; then BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )" fi +PATCHES=( + "${FILESDIR}"/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch +) + src_prepare() { default