commit:     027176a5c786f7eb1beaf62c0946aa45fef943e2
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 14 19:00:42 2021 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Wed Apr 14 19:01:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=027176a5

media-gfx/inkscape: fix glib-2.60 branch compat

Closes: https://bugs.gentoo.org/777864
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>

 media-gfx/inkscape/files/glib-2.67.3.patch  | 65 +++++++++++++++++++++++++++++
 media-gfx/inkscape/inkscape-1.0.2-r1.ebuild |  4 ++
 2 files changed, 69 insertions(+)

diff --git a/media-gfx/inkscape/files/glib-2.67.3.patch 
b/media-gfx/inkscape/files/glib-2.67.3.patch
new file mode 100644
index 00000000000..b959bcd76fd
--- /dev/null
+++ b/media-gfx/inkscape/files/glib-2.67.3.patch
@@ -0,0 +1,65 @@
+From eb24388f1730918edd9565d9e5d09340ec0b3b08 Mon Sep 17 00:00:00 2001
+From: Harald van Dijk <[email protected]>
+Date: Wed, 17 Feb 2021 09:13:49 +0000
+Subject: [PATCH] Fix build with glib 2.67.3.
+
+As of glib 2.67.3, <glib.h> can no longer be included in extern "C"
+blocks. It was indirectly included by both "types.h" and "color.h".
+"types.h" already does not need to be wrapped in an extern "C" block,
+"color.h" does but can be modified not to, so with that changed they can
+be moved out.
+---
+ src/3rdparty/autotrace/autotrace.h | 6 +++---
+ src/3rdparty/autotrace/color.h     | 7 +++++++
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/src/3rdparty/autotrace/autotrace.h 
b/src/3rdparty/autotrace/autotrace.h
+index 2ce6f272a9..e56be9a74c 100644
+--- a/src/3rdparty/autotrace/autotrace.h
++++ b/src/3rdparty/autotrace/autotrace.h
+@@ -23,6 +23,9 @@
+ 
+ #include <stdio.h>
+ 
++#include "types.h"
++#include "color.h"
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif                          /* __cplusplus */
+@@ -35,9 +38,6 @@ extern "C" {
+  * Typedefs
+  * ===================================================================== */
+ 
+-#include "types.h"
+-#include "color.h"
+-
+ /* Third degree is the highest we deal with.  */
+   enum _at_polynomial_degree {
+     AT_LINEARTYPE = 1,
+diff --git a/src/3rdparty/autotrace/color.h b/src/3rdparty/autotrace/color.h
+index e50ab30ae0..88651db9f7 100644
+--- a/src/3rdparty/autotrace/color.h
++++ b/src/3rdparty/autotrace/color.h
+@@ -24,6 +24,10 @@
+ #include <glib.h>
+ #include <glib-object.h>
+ 
++#ifdef __cplusplus
++extern "C" {
++#endif                          /* __cplusplus */
++
+ typedef struct _at_color at_color;
+ struct _at_color {
+   guint8 r;
+@@ -43,4 +47,7 @@ void at_color_free(at_color * color);
+ GType at_color_get_type(void);
+ #define AT_TYPE_COLOR (at_color_get_type ())
+ 
++#ifdef __cplusplus
++}
++#endif                          /* __cplusplus */
+ #endif /* not AT_COLOR_H */
+-- 
+GitLab
+

diff --git a/media-gfx/inkscape/inkscape-1.0.2-r1.ebuild 
b/media-gfx/inkscape/inkscape-1.0.2-r1.ebuild
index 6e4e248cea3..9ab84bfc5c5 100644
--- a/media-gfx/inkscape/inkscape-1.0.2-r1.ebuild
+++ b/media-gfx/inkscape/inkscape-1.0.2-r1.ebuild
@@ -100,6 +100,10 @@ RESTRICT="test"
 
 S="${WORKDIR}"/${P}_2021-01-15_e86c870879
 
+PATCHES=(
+       "${FILESDIR}"/glib-2.67.3.patch
+)
+
 pkg_pretend() {
        if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
                tc-has-openmp || die "Please switch to an openmp compatible 
compiler"

Reply via email to