summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemco van 't Veer <remco@remworks.net>2025-03-12 10:41:37 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-03-13 10:10:07 +0900
commite124661486ec722b5c09a94b416f0104b9dde5a4 (patch)
tree66b01a482020293ecef268f5713d0cbfcffd13e0
parent4da217b7d98c02e2794424cc5e9d54050187396b (diff)
gnu: cairo: Fix regression writing PDFs with fonts via graft.
Fix out of memory errors when writing PDFs with fonts embedded in xournalpp and others. See also: https://gitlab.freedesktop.org/cairo/cairo/-/issues/870 * gnu/packages/gtk.scm (cairo)[replacement]: New field pointing to cairo-1.18.4. * gnu/packages/gtk.scm (cairo-1.18.4): Add package. Change-Id: I6efa5a3acdf39fe78e558173f896f3a6abbc5c27 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r--gnu/packages/gtk.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 846103ff9e..0fe1f8a016 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -172,6 +173,7 @@ such as mate-panel and xfce4-panel.")
(package
(name "cairo")
(version "1.18.2")
+ (replacement cairo-1.18.4)
(source
(origin
(method url-fetch)
@@ -238,6 +240,21 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
;; Hide and have cairo-with-documentation public.
(properties '((hidden? . #t)))))
+;;; TODO: This newer version resolves an issue when writing PDFs. Remove
+;;; after ungrafting cairo.
+(define cairo-1.18.4
+ (package
+ (inherit cairo)
+ (version "1.18.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://cairographics.org/releases/cairo-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1jrcqfcna0358aqrk7rnys1hwq6k36ilr9r62bg26j3fi8hdhpj4"))))))
+
(define-public cairo-with-documentation
;; cairo's docs must be built in a separate package since it requires
;; gtk-doc, which in turn depends on cairo.