Subject: Re: bug#76922: [PATCH] gnu: cairo: Add patch to fix regression when writing PDFs with fonts
From: Maxim Cournoyer <[email-masked]>
To: Remco van 't Veer <[email-masked]>
Cc: Vivien Kraus <[email-masked]>, [email-masked], Liliana Marie Prikler <[email-masked]>
Date: Thu, 13 Mar 2025 10:18:08 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Remco van 't Veer <[email-masked]> writes:

> 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"))))))

I've added a comment to remember this can be removed after ungrafting,
tested it worked with xournalpp to export an annotated PDF, and pushed
to the master branch.

Thank you :-)

-- 
Thanks,
Maxim