From b8cca5206e08045a5aae0dd807962abcb3c28533 Mon Sep 17 00:00:00 2001 From: Denis Pronin Date: Fri, 29 Nov 2024 10:51:58 +0300 Subject: dev-cpp/glibmm: remove method that is not used any where Closes: https://bugs.gentoo.org/945375 Signed-off-by: Denis Pronin Closes: https://github.com/gentoo/gentoo/pull/39525 Signed-off-by: Sam James --- .../glibmm/files/glibmm-2.78.1-libcxx-fix.patch | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch (limited to 'dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch') diff --git a/dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch b/dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch new file mode 100644 index 000000000000..0b7cc7ee28d4 --- /dev/null +++ b/dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch @@ -0,0 +1,52 @@ +# This patch is fetched from the upstream and dedicated to making compiling with clang-19 possible +# Bug related https://bugs.gentoo.org/945375 +# The patch is added by Denis Pronin + +From 72c5ad98d858fa4fc0183a5ec1a61bb48ef5bd95 Mon Sep 17 00:00:00 2001 +From: Kjell Ahlstedt +Date: Fri, 22 Mar 2024 10:32:45 +0100 +Subject: [PATCH] Gio::content_type_guess(): Remove most of an unneccesary + overload + +clang 19.0.0 does not like the overload that takes a +const std::basic_string&. This overload should have been removed +16 years ago by commit 84135b93a20e6c9fe652849959d3ff90474c99bb. +It can't be removed completely now, because that would break ABI. +Remove as much as possible. +Fixes #118 +--- + gio/giomm/contenttype.cc | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/gio/giomm/contenttype.cc b/gio/giomm/contenttype.cc +index abe67337..8eb1bd71 100644 +--- a/gio/giomm/contenttype.cc ++++ b/gio/giomm/contenttype.cc +@@ -84,15 +84,18 @@ content_type_from_mime_type(const Glib::ustring& mime_type) + g_content_type_from_mime_type(mime_type.c_str())); + } + ++//TODO: When we can break ABI, remove this content_type_guess() overload. ++// Commit https://gitlab.gnome.org/GNOME/glibmm/-/commit/84135b93a20e6c9fe652849959d3ff90474c99bb ++// removed it from contenttype.h, but not from contenttype.cc. ++// For the time being, it's replaced by a function that does almost nothing. ++// clang 19.0.0 does not like a complete version. ++// See issue https://gitlab.gnome.org/GNOME/glibmm/-/issues/118 + Glib::ustring + content_type_guess( +- const std::string& filename, const std::basic_string& data, bool& result_uncertain) ++ const std::string& /*filename*/, const std::basic_string& /*data*/, bool& result_uncertain) + { +- gboolean c_result_uncertain = FALSE; +- const gchar* c_filename = filename.empty() ? nullptr : filename.c_str(); +- gchar* cresult = g_content_type_guess(c_filename, data.c_str(), data.size(), &c_result_uncertain); +- result_uncertain = c_result_uncertain; +- return Glib::convert_return_gchar_ptr_to_ustring(cresult); ++ result_uncertain = true; ++ return Glib::ustring(); + } + + Glib::ustring +-- +2.45.2 + -- cgit v1.2.3