summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch34
-rw-r--r--dev-cpp/glibmm/glibmm-2.52.1.ebuild6
2 files changed, 40 insertions, 0 deletions
diff --git a/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch b/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch
new file mode 100644
index 000000000000..2da4a5621992
--- /dev/null
+++ b/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch
@@ -0,0 +1,34 @@
+From 37d57ae9572b7d74aa385a30313eceae7f2d3fce Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjellahlstedt@gmail.com>
+Date: Wed, 20 Dec 2017 20:00:32 +0100
+Subject: [PATCH] Glib::Threads::Private: Fix gobj()
+
+Bug 791711
+---
+ glib/src/threads.hg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/glib/src/threads.hg b/glib/src/threads.hg
+index 86d7a17b..c82a6130 100644
+--- a/glib/src/threads.hg
++++ b/glib/src/threads.hg
+@@ -628,7 +628,7 @@ public:
+ */
+ inline void replace(T* data);
+
+- GPrivate* gobj() { return gobject_; }
++ GPrivate* gobj() { return &gobject_; }
+
+ private:
+ GPrivate gobject_;
+--- a/glib/glibmm/threads.h 2017-09-04 15:27:31.000000000 +0200
++++ b/glib/glibmm/threads.h 2018-05-05 10:53:44.339288554 +0200
+@@ -657,7 +657,7 @@
+ */
+ inline void replace(T* data);
+
+- GPrivate* gobj() { return gobject_; }
++ GPrivate* gobj() { return &gobject_; }
+
+ private:
+ GPrivate gobject_;
diff --git a/dev-cpp/glibmm/glibmm-2.52.1.ebuild b/dev-cpp/glibmm/glibmm-2.52.1.ebuild
index 925442a83aeb..18a948873dbe 100644
--- a/dev-cpp/glibmm/glibmm-2.52.1.ebuild
+++ b/dev-cpp/glibmm/glibmm-2.52.1.ebuild
@@ -22,6 +22,12 @@ DEPEND="${RDEPEND}
"
# dev-cpp/mm-common needed for eautoreconf
+PATCHES=(
+ # Fix build with GCC-8
+ # https://bugs.gentoo.org/654776
+ "${FILESDIR}"/${PN}-fix-threads-gobject.patch
+)
+
src_prepare() {
if ! use test; then
# don't waste time building tests