guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#69495] [PATCH 0/2] gnu: cairo: Update to 1.18.0.


From: Efraim Flashner
Subject: [bug#69495] [PATCH 0/2] gnu: cairo: Update to 1.18.0.
Date: Wed, 27 Mar 2024 10:47:57 +0200

On Wed, Mar 27, 2024 at 05:08:02AM +0000, John Kehayias wrote:
> Hello,
> 
> Arg, I don't know if this ever was actually sent to the gnome-team! Also
> adding Efraim due to a librsvg issue (below).
> 
> Apologies if it didn't go through originally (or if you are getting it
> again).
> 
> On Sat, Mar 02, 2024 at 01:50 AM, John Kehayias wrote:
> 
> > Hi gnome-team and guix,
> >
> > I'm cc'ing the gnome-team as this would normally fall to them, but with 
> > their
> > pending merge and the builds upcoming on mesa-updates (libdrm, which cairo
> > depends on), I think this will go on mesa-updates. The patch is based on
> > master, not gnome-team. Still, thought it would be good to have a review as
> > this was non-trivial. Thanks to lilyp on #guix for tips!
> >
> > Please see the patches to update cairo to the new release (after many 
> > years!)
> > of 1.18.0. An update to python-pycairo was needed first. The end result is
> > that our cairo package is quite a bit simpler as the defaults include the 
> > tee
> > backend that we had enabled before. I removed all the old configure flags 
> > and
> > propagated-inputs which were commented out and now obsolete.
> >
> > The docs require gtk-doc which depends on cairo. To break the cycle cairo is
> > hidden (but exported) and built without docs, with the public 
> > cairo-with-docs
> > including them. I followed what was done for glib with a similar issue.
> >
> > I did not try too much enable tests, which may have been revamped? The quick
> > look I took in the source docs suggested that it is very system dependent
> > (reference images) though does run on their GitLab CI. When enabling
> > test/ps2png.p/ps2png.c.o fails to build as it can't find cairo.h. Perhaps it
> > needs to build tests in a phase after cairo has built and set in a way to 
> > find
> > this just build version?
> >
> > Anyway, this built locally for me on x86_64. I built up to icecat, which 
> > needs
> > the tee backend we previously manually enabled, and it built and ran
> > successfully.
> >
> > Let me know of any issues or changes wanted or if someone wants to take this
> > on a different branch. I think it makes sense on mesa-updates due to the
> > libdrm update I will take there.
> >
> > Thanks!
> > John
> >
> >
> > John Kehayias (2):
> >   gnu: python-pycairo: Update to 1.26.0.
> >   gnu: cairo: Update to 1.18.0.
> >
> >  gnu/local.mk                                  |  2 -
> >  gnu/packages/gtk.scm                          | 85 ++++++++++---------
> >  .../patches/cairo-CVE-2018-19876.patch        | 37 --------
> >  .../patches/cairo-CVE-2020-35492.patch        | 49 -----------
> >  4 files changed, 47 insertions(+), 126 deletions(-)
> >  delete mode 100644 gnu/packages/patches/cairo-CVE-2018-19876.patch
> >  delete mode 100644 gnu/packages/patches/cairo-CVE-2020-35492.patch
> >
> >
> > base-commit: b386c11e7804e0b577411d930b60f1e0a4a0382c
> > prerequisite-patch-id: 2889be19c4a046760f2f608cefff987b11b65a31
> > --
> > 2.41.0
> 
> I've applied this series locally and haven't run into issues in building
> (and trying a few random packages). Happy to take feedback before I push
> this to mesa-updates, and even then will be some time before the branch
> will be built to be merged to master. Other updates include mesa, sdl2,
> and vulkan.
> 
> I did run into two test failures for the older librsvg-2.40. Since that
> is an old version, I guess we might expect issues as dependencies are
> updated. I disabled the two failing tests with the attached patch. One
> referred to a bug fix that had something to do with calling cairo, not
> sure about the other.
> 
> Apologies if the CCing with teams didn't go through properly! And thanks
> to Liliana for initial help on #guix with sorting out what was needed
> for the circular dependency between cairo and gtk-doc.

Currently x86_64, aarch64 and riscv64 are the only architectures using
the newer librsvg. Can you test the older librsvg-2.40 with the newer
cairo on x86_64 to see if the tests also fail there? I'm curious if it's
a 32-bit problem or if its just that old.

Overall I have no issues with skipping those two tests.

> From 0f3e6653a65a5a7031f245260b6641aedc8f43f2 Mon Sep 17 00:00:00 2001
> Message-ID: 
> <0f3e6653a65a5a7031f245260b6641aedc8f43f2.1711514951.git.john.kehayias@protonmail.com>
> From: John Kehayias <john.kehayias@protonmail.com>
> Date: Wed, 27 Mar 2024 00:45:59 -0400
> Subject: [PATCH] gnu: librsvg-2.40: Skip tests that fail with cairo 1.18.0.
> 
> * gnu/packages/gnome.scm (librsvg-2.40)[arguments]: Skip two tests which fail
> after cairo was updated to version 1.18.0.
> 
> Change-Id: If3867a9fdee6481da819954d77341f411e85e78b
> ---
>  gnu/packages/gnome.scm | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 06256066bc..55b60b7b12 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -3717,12 +3717,15 @@ (define-public librsvg-2.40
>                             "svg1.1/masking-mask-01-b.svg"
>                             ;; This test fails on aarch64:
>                             "bugs/777834-empty-text-children.svg"
> -
>                             ;; These two tests fail due to slightly different
>                             ;; text rendering (different kerning or similar),
>                             ;; nothing alarming.
>                             "bugs/340047.svg"
> -                           "bugs/749415.svg"))))))))
> +                           "bugs/749415.svg"
> +                           ;; These two tests fail with the update to cairo
> +                           ;; version 1.18.0.
> +                           "bugs/587721-text-transform.svg"
> +                           "svg1.1/masking-path-03-b.svg"))))))))
>      (native-inputs
>       (list pkg-config
>             `(,glib "bin") ; glib-mkenums, etc.
> 
> base-commit: c3f15443bc6d457758aad1326dcc6dcad9cf8d6e
> prerequisite-patch-id: fa1f23e1340a3eeb9f347ed719b9b0fa0558fb3f
> prerequisite-patch-id: a1eb5f0955b9988d3bfe3be8403c75999a1cae5f
> prerequisite-patch-id: 2889be19c4a046760f2f608cefff987b11b65a31
> prerequisite-patch-id: ea93b6662275aeec1e014a9bc9fe7a96f26ac600
> prerequisite-patch-id: 177440a12b7c797d22f8bb1253db133d2fbad348
> prerequisite-patch-id: 3a5189c1e8e4612ceb6f1b70cc3c83e39a977eb9
> -- 
> 2.41.0
> 


-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]