From b1523ffac597d56ab9657ab1c1b1a7fc49344d67 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 12 Jul 2022 16:20:29 -0400 Subject: [PATCH] gnu: inkscape: Wrap GDK_PIXBUF_MODULE_FILE. Fixes . * gnu/packages/inkscape.scm (inkscape) [phases]{wrap-program}: Override phase. Reported-by: Maxime Devos --- gnu/packages/inkscape.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 0a2118576b..5f033ee89a 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -267,5 +267,18 @@ (define-public inkscape (lambda _ (substitute* "testfiles/src/path-boolop-test.cpp" (("PathBoolopTest, UnionOutside(Swap)?.*" all) - (string-append all " GTEST_SKIP();\n"))))))))) + (string-append all " GTEST_SKIP();\n"))))) + (replace 'wrap-program + ;; Ensure Python is available at runtime. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/inkscape") + `("GUIX_PYTHONPATH" prefix + (,(getenv "GUIX_PYTHONPATH"))) + ;; Wrapping GDK_PIXBUF_MODULE_FILE allows Inkscape to load + ;; its own icons in pure environments. + `("GDK_PIXBUF_MODULE_FILE" = + (,(getenv "GDK_PIXBUF_MODULE_FILE"))))))))))) + (inputs (modify-inputs (package-inputs inkscape/stable) + (append librsvg))) ;for the pixbuf loader (properties (alist-delete 'hidden? (package-properties inkscape/stable)))))