summaryrefslogtreecommitdiff
path: root/dev-cpp/glibmm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
commit2a3e0d61b3d88306b6fae46756f9ba7d230222ae (patch)
treea0d3259dd259861a49a2d3e6e9220beaa8ec39c2 /dev-cpp/glibmm
parent39c32f4d5dca9f6293fccb69e9d50baf494c8de4 (diff)
gentoo auto-resync : 13:12:2024 - 02:01:50
Diffstat (limited to 'dev-cpp/glibmm')
-rw-r--r--dev-cpp/glibmm/Manifest3
-rw-r--r--dev-cpp/glibmm/files/glibmm-2.78.1-libcxx-fix.patch52
-rw-r--r--dev-cpp/glibmm/glibmm-2.78.1.ebuild2
3 files changed, 56 insertions, 1 deletions
diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest
index 89b882e17f2b..2a54914e6bef 100644
--- a/dev-cpp/glibmm/Manifest
+++ b/dev-cpp/glibmm/Manifest
@@ -1,5 +1,6 @@
+AUX glibmm-2.78.1-libcxx-fix.patch 2218 BLAKE2B 268f8a846e9921b7d282a41821655dc702f84cff799d68eb591ffd4c9212f5ffccc35bbc73a578286bd47713f1adbdb0a57a705a298b10ece484b0e6bafea478 SHA512 93aaf98ab8b6dd7144c7d6890e8cdea0e897384e58a28e13855b086e07910ab4b5e2c662196ec4819758d432d28b1fce0547f26ad1a900bfa2fa6dc350b8eff4
DIST glibmm-2.66.7.tar.xz 8773780 BLAKE2B faef7b6a9ca91aed3ac7ddeddc0413f87daba4b8d1e887431bd7db8b7cae66ec449292bbb0fb9e4e574d1ce680853ab0ffb476abd76c19257c7434389ba3d2cc SHA512 09b99622c051afd264d7a9b23025ee28ec870c6d23a5084ef7192f67b96fb8f16be5dbb2e8a4ff8a1d4ff873d3e73b4e25dee122049266687f471dcd3989b5bb
DIST glibmm-2.78.1.tar.xz 9486784 BLAKE2B 2875d93b0cedb6bf84cb463b1c73743c55dc446ee0c1dce36344a8e0ff77cec8d890d1e3b0f1d4a841d293ab123cc60bf5c6b55ed9a0456fe235d928bf28ff05 SHA512 5ace15c492be553e2c6abd8d0699197239261feaa2b45ff77181f59bb98b584dc822bdd46dbdee35691cc5a955a3b88e03f58532459236fd780823354c35d0a6
EBUILD glibmm-2.66.7.ebuild 1281 BLAKE2B 15a7f265fd0ea3ff6894b7eb6a00fc029fb5ae9f3419860473027ed6dfa1986ad39f376912ae84d5423fcc1061ab1cb67dae9d89a5f14b0b690915330c42dbfb SHA512 97d0dc69016368d65c436a38b28a8e9b5f405060fc5a49036e3870a6fb88cfef6269110398b09b1640e978417ec9384f2b407c54e75836459b24825e958da6e2
-EBUILD glibmm-2.78.1.ebuild 1242 BLAKE2B 2467b61c128028662d8bbd8cb6157557c3f37509f3c0a4c79beeff55cda87d287dbde54ea457d1a0c823fc136a52be26efff730cc3e69d102bc93570196074b1 SHA512 e5ea928840227fe71382613a0df8ed1d6d75e167bccad30a29c969404537b79263bfc2b8b65c5a2f367908400c7a20c6f2b542d99dae34b3d2aa1cea2f5420c7
+EBUILD glibmm-2.78.1.ebuild 1291 BLAKE2B 0650364c5b2eb66648c10745e2b95abd21b1113091e231743a35b587e2c378a830f727d1bbd2a1ba68ae79a1229faec171de53727e9f2ccc86a67004c16cfb33 SHA512 97db40dcc45a122e901324c7dd22e56a96a587b7bc60615e751753c4ab99d7ed310acbe5c51ccd4d00432ad17bf776c5edbb00a2ae3d29d5538feceaa248f4e3
MISC metadata.xml 347 BLAKE2B 0f49cb5cb997a9eaaf002de24fc194635c44b9ec75b7ca00dfb7157d6d65750dcdea3ae269fab353e06f80ee3cfd5a316e9ac909e90bbfb348b024ae66f460ce SHA512 6a9c01425d4df29d240bcc8ce91ce042f80ae8bddf78776bc1180beea36ad7657cf3337e7c2cdb0b560f3e146ab20a2ecf9d631f87004421cbfbd8d0dee2d558
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 <dannftk@yandex.ru>
+
+From 72c5ad98d858fa4fc0183a5ec1a61bb48ef5bd95 Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjellahlstedt@gmail.com>
+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<guchar>&. 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<guchar>& data, bool& result_uncertain)
++ const std::string& /*filename*/, const std::basic_string<guchar>& /*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
+
diff --git a/dev-cpp/glibmm/glibmm-2.78.1.ebuild b/dev-cpp/glibmm/glibmm-2.78.1.ebuild
index a8e3d22a6aa2..b5b3c5c985a0 100644
--- a/dev-cpp/glibmm/glibmm-2.78.1.ebuild
+++ b/dev-cpp/glibmm/glibmm-2.78.1.ebuild
@@ -29,6 +29,8 @@ BDEPEND="
)
"
+PATCHES=( "${FILESDIR}"/${P}-libcxx-fix.patch )
+
src_prepare() {
default