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. John