From 1afa2c5ca0c5904bd9de70a48dd7d0a6275d5d3f Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sun, 14 Jun 2020 23:16:33 -0400
Subject: [PATCH] gnu: inkscape: Add the glib-or-gtk-build-system phases.

This fixes an issue where an improperly set XDG_DATA_DIRS environment variable
would cause a segfault when opening the 'Save As' menu of Inkscape.  See:
<https://lists.gnu.org/archive/html/help-guix/2020-06/msg00093.html>.

* gnu/packages/inkscape.scm (inkscape-1.0)[arguments]: Import the
(guix build glib-or-gtk-build-system) module.
[phases]: Add the glib-or-gtk-compile-schemas and glib-or-gtk-wrap phases.

Reported-by: Thorsten Wilms <t_w_@freenet.de>
---
 gnu/packages/inkscape.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index b0707d6effe..85b0ba9fcf4 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -213,6 +213,11 @@ (define-public inkscape-1.0
     (arguments
      `(#:tests? #t
        #:test-target "check"            ;otherwise some test binaries are missing
+       #:imported-modules (,@%cmake-build-system-modules
+                           (guix build glib-or-gtk-build-system))
+       #:modules ((guix build cmake-build-system)
+                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+                  (guix build utils))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-icon-cache-generator
@@ -240,7 +245,11 @@ (define-public inkscape-1.0
          ;; as the "share/inkscape/ui/units.xml" file.
          (delete 'check)
          (add-after 'install 'check
-           (assoc-ref %standard-phases 'check)))))
+           (assoc-ref %standard-phases 'check))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
     (inputs
      `(("aspell" ,aspell)
        ("autotrace" ,autotrace)
-- 
GitLab