~ruther/guix-local

e124661486ec722b5c09a94b416f0104b9dde5a4 — Remco van 't Veer 1 year, 4 months ago 4da217b
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>
1 files changed, 17 insertions(+), 0 deletions(-)

M gnu/packages/gtk.scm
M gnu/packages/gtk.scm => gnu/packages/gtk.scm +17 -0
@@ 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.