Skip to content

Conversation

@mologie
Copy link
Contributor

@mologie mologie commented Dec 20, 2025

Summary

Changes to recipe: cairo/1.18.4

Motivation

This adds the latest upstream release 1.18.4 from beginning of this year.


  • Read the contributing guidelines
  • Checked that this PR is not a duplicate: list of PRs by recipe
  • If this is a bug fix, please link related issue or provide bug details
  • Tested locally with at least one configuration using a recent version of Conan

Add a 👍 reaction to pull requests you find important to help the team prioritize, thanks!

@mologie
Copy link
Contributor Author

mologie commented Dec 20, 2025

The pixman update in here is required, I submitted it back in July in #27867.

There are quite a bunch of references to various minor versions of cairo. Might want to bump them all to latest and stop publishing the old ones, but that's for the Conan team to decide, I'm just submitting the new version here regardless:

$ ag cairo/
recipes/wxwidgets/all/conanfile.py
139:            #    self.requires("cairo/1.18.0")

recipes/pango/all/conanfile.py
81:            self.requires("cairo/1.18.0", transitive_headers=True)
110:            raise ConanInvalidConfiguration(f"{self.ref} with -o=&:with_fontconfig=True and -o=&:with_freetype=True requires -o=cairo/*:with_fontconfig=True")

recipes/libinput/all/conanfile.py
62:            self.requires("cairo/1.18.0")

recipes/librasterlite2/all/conanfile.py
71:        self.requires("cairo/1.17.6")

recipes/kplot/all/conanfile.py
49:        self.requires("cairo/1.17.4", transitive_headers=True)

recipes/gtk/all/conanfile.py
114:            self.requires("cairo/1.17.4")

recipes/cairomm/all/conanfile.py
60:        self.requires("cairo/1.18.0", transitive_headers=True, transitive_libs=True)

recipes/poppler/all/conanfile.py
98:            self.requires("cairo/1.18.0")

recipes/openslide/all/conanfile.py
56:        self.requires("cairo/1.18.0")

@mologie
Copy link
Contributor Author

mologie commented Dec 20, 2025

Mhm, I've been building without freetype locally, will look into the CI failure. (Edit: Fixed, there was some hackery that had a FreeType min version hardcoded, which changed with this release. Updated it depending on what version is being built.)


def requirements(self):
self.requires("pixman/0.43.4")
self.requires("pixman/0.46.2")
Copy link
Member

Choose a reason for hiding this comment

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

@mologie Hello! Do you have evidence that bumping for Pixman is needed? As far as I see, Cairo only needs Pixman >=0.40: https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/meson.build?ref_type=heads#L636

I have a PR to update GTK, which requires a newer version of Cairo, so I bumped to 1.18.4 as well: https://github.com/conan-io/conan-center-index/pull/29172/changes#diff-5fbc6d75ac2a534cc5331a7d03445181fd9361da70cbbe9fb23873f06f5cc023. But I did not need to bump pixman to make it work: https://github.com/conan-io/conan-center-index/pull/29172/checks?check_run_id=58714887302. Maybe I'm missing something.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@uilianries Hi! I had trouble cross-compiling this older release for ARM, and updating resolved it. I don't believe this was anything specific to this Cairo update in particular, but this combination of Pixman and Cairo works nicely for me on arm32 and arm64 (whereas the old one did not).

This was half a year ago fwiw, I do not have the build env anymore, but can start digging if specific details are needed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants