Subject: [PATCH v3] gnu: cairo: Fix regression writing PDFs with fonts via graft.

From: Remco van 't Veer <[email-masked]>
Date: Wed, 12 Mar 2025 10:41:37 +0100

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
---
 gnu/packages/gtk.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 846103ff9e..4d49246206 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -38,6 +38,7 @@
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2024 John Kehayias <[email-masked]>
 ;;; Copyright © 2025 Florian Pelz <[email-masked]>
+;;; Copyright © 2025 Remco van 't Veer <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -172,6 +173,7 @@ (define cairo
   (package
     (name "cairo")
     (version "1.18.2")
+    (replacement cairo-1.18.4)
     (source
      (origin
        (method url-fetch)
@@ -238,6 +240,19 @@ (define cairo
     ;; Hide and have cairo-with-documentation public.
     (properties '((hidden? . #t)))))
 
+(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.

base-commit: d0510dcd824e1b3fda62a8841e792581d7b8de8d
-- 
2.48.1