Skip to content

cairo: 1.16.0 -> 1.18.0#257301

Merged
vcunat merged 27 commits intoNixOS:stagingfrom
alyssais:cairo-1.18.0
Oct 25, 2023
Merged

cairo: 1.16.0 -> 1.18.0#257301
vcunat merged 27 commits intoNixOS:stagingfrom
alyssais:cairo-1.18.0

Conversation

@alyssais
Copy link
Member

@alyssais alyssais commented Sep 25, 2023

Hydra comparisons

Description of changes

  • libiconv and expat are no longer used.
  • libintl and xcbutil no longer appear to be used.
  • The GL backend has been removed.
  • We can no longer disable PDF support, since something always propagates zlib.
  • Not sure whether the Requires.private is still needed, so I've left it.

Fixes #256519.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@alyssais alyssais force-pushed the cairo-1.18.0 branch 2 times, most recently from b3e6619 to c447c0c Compare September 25, 2023 18:36
@alyssais alyssais marked this pull request as draft September 25, 2023 21:56
@alyssais alyssais mentioned this pull request Sep 25, 2023
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Sep 25, 2023
@RaitoBezarius
Copy link
Member

Do you want to get a Hydra jobset for this?

@bobby285271
Copy link
Member

bobby285271 commented Sep 26, 2023

The only build fixes for this in GNOME 45 PR so far are 2968007 and cd6c696 if you wish to do this in separate PR (we have no non-linux testing so far - but the GNOME 45 does need at least cairo 1.17.0 for librsvg, glycin-loaders, loupe, etc)

@alyssais
Copy link
Member Author

alyssais commented Oct 5, 2023

@vcunat could we get a Hydra jobset?

@alyssais alyssais force-pushed the cairo-1.18.0 branch 2 times, most recently from 49adb92 to 325b485 Compare October 5, 2023 09:17
@bobby285271
Copy link
Member

bobby285271 commented Oct 5, 2023

The GNOME 45 PR now also have 2141f32 (sway) b3575ab (i3lock) 5b579d0 (hyprland) a7c25f4 (i3lock-color) 610aabe (wayfire) e1e8282 (celluloid) b871990 (wxSVG), and I-don't-know-why 9f5f74b (cogl)

Update: also initial fixup for weston, string-machine, stone-phaser, mission-center, hyprpicker, hyprpaper, fbida in a3338b0...aa6f1d8

@vcunat
Copy link
Member

vcunat commented Oct 9, 2023

Jobset created: https://hydra.nixos.org/jobset/nixpkgs/pr-257301-cairo-1.18

I doubt that it will be possible to get significant amounts of builds for this PR done this week, with all-rebuilding rush starting on Wednesday due to security fixes. I guess we'll also wait with gnome jobset until this progresses? (it also contains the update and it doesn't make much sense to me for these jobsets to compete against each other for builders)

@vcunat
Copy link
Member

vcunat commented Oct 9, 2023

I triggered it for x86_64-linux and aarch64-darwin for now.

@vcunat
Copy link
Member

vcunat commented Oct 19, 2023

Builds finished, FYI.

@vcunat
Copy link
Member

vcunat commented Oct 20, 2023

Uh, the today's push... do we really need to rebuild 100k builds now on Hydra? I mean, there are lots of other stuff to build, e.g. other branches asking for a jobset incidentally.

@alyssais
Copy link
Member Author

alyssais commented Oct 20, 2023

No, go ahead and cancel it.

edit: I didn't realise that pushing would automatically trigger a Hydra build.

@vcunat
Copy link
Member

vcunat commented Oct 20, 2023

I had one eval per day timer in there, but I triggered this one myself :-) I thought it was mainly the two extra commits shown by GitHub UI.

@vcunat
Copy link
Member

vcunat commented Oct 20, 2023

So I suppose you'll soon consider this ready to merge, without another Hydra eval? There are only 10 days left to merge breaking changes that should reach NixOS 23.11.

@alyssais
Copy link
Member Author

I'm still going through the first Hydra comparison, so we'll definitely need at least one more. All I've pushed so far is a rebase that was a prerequisite to applying @bobby285271's other changes. I won't push again until I've made as much progress as I can based on the current comparison.

@vcunat
Copy link
Member

vcunat commented Oct 20, 2023

OK, I stopped the eval timer. Ping me when you want it.

alyssais and others added 9 commits October 20, 2023 22:02
Currently, this is propagated from cairo, but that will soon no longer
be the case.
Cairo will soon no longer propagate libGL. The DPF submodule needs this:

src/pugl/pugl.h:39:14: fatal error: GL/gl.h: No such file or directory
   39 | #    include <GL/gl.h>
      |              ^~~~~~~~~
compilation terminated.

(See also the fix for string-machine, which has the same build issue)
Cairo will soon no longer propagate libGL. The DPF submodule needs this:

src/pugl/pugl.h:39:14: fatal error: GL/gl.h: No such file or directory
   39 | #    include <GL/gl.h>
      |              ^~~~~~~~~
compilation terminated.
Currently, this is propagated from cairo, but that will soon no longer
be the case.
Currently, this is propagated from cairo, but that will soon no longer
be the case.
Cairo will soon no longer propagate libGL.

Run-time dependency egl found: NO (tried pkgconfig and cmake)
Currently, this is propagated from cairo, but that will soon no longer
be the case.
Currently, this is propagated from cairo, but that will soon no longer
be the case.
 - libiconv and expat are no longer used.
 - libintl and xcbutil no longer appear to be used.
 - The GL backend has been removed.
 - We can no longer disable PDF support, since something always
   propagates zlib.
 - Not sure whether the Requires.private is still needed, so I've left
   it.
@github-actions github-actions bot added the 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. label Oct 20, 2023
@alyssais
Copy link
Member Author

@bobby285271 I've fixed cogl in a different way, just linking libGL and avoiding the need for a patch.

@alyssais
Copy link
Member Author

@vcunat I've now addressed all the direct new build failures from the last Hydra run, so I think it's time for another.

Copy link
Member

@fabianhjr fabianhjr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alyssais alyssais mentioned this pull request Oct 25, 2023
12 tasks
@vcunat vcunat marked this pull request as ready for review October 25, 2023 11:05
@vcunat vcunat requested a review from marsam as a code owner October 25, 2023 11:05
@vcunat vcunat merged commit 47b0ad3 into NixOS:staging Oct 25, 2023
@vcunat
Copy link
Member

vcunat commented Oct 25, 2023

After taking various things into consideration, let's finish this during the upcoming staging-next.

@bobby285271
Copy link
Member

And we probably still need to fix cross there I guess (did not test, but I saw the ipc_rmid_deferred_release lines commented) 🤔

@alyssais
Copy link
Member Author

Oh, whoops.

@alyssais alyssais deleted the cairo-1.18.0 branch October 25, 2023 11:41
@MarcelCoding MarcelCoding mentioned this pull request Oct 25, 2023
12 tasks
@trofi
Copy link
Contributor

trofi commented Nov 25, 2024

I noticed that cairo bump changed x11Support condition from !stdenv.isDarwin to !stdenv.isDarwin || true which seems to be an effective true. Should it be just true? Or it's a debug leftover that should be !stdenv.isDarwin?

, x11Support? !stdenv.isDarwin, libXext, libXrender
{ lib, stdenv, fetchurl, fetchpatch, gtk-doc, meson, ninja, pkg-config, python3
, docbook_xsl, fontconfig, freetype, libpng, pixman, zlib
, x11Support? !stdenv.isDarwin || true, libXext, libXrender
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good observation, my instinct thinks this is an unintended change and || true should be removed but tagging @NixOS/darwin-core for decision on disabling or enabling on darwin by default.

@fabianhjr
Copy link
Member

Mhhh, and this is a year old. Probably best to leave enabled then? (It has been part of the last 2 stable releases)

@reckenrode
Copy link
Contributor

I would prefer not to pull in X11 libraries unnecessarily, but what’s the effect on closure size?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants