From e124661486ec722b5c09a94b416f0104b9dde5a4 Mon Sep 17 00:00:00 2001 From: Remco van 't Veer Date: Wed, 12 Mar 2025 10:41:37 +0100 Subject: [PATCH] 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 --- gnu/packages/gtk.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 846103ff9e65d9ba0806df26cf080b93a1a727f5..0fe1f8a016617a920191e91dd863975dc167b9b1 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 John Kehayias ;;; Copyright © 2025 Florian Pelz +;;; Copyright © 2025 Remco van 't Veer ;;; ;;; 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.