GNU bug report logs - #49122
gobject-introspection and not finding cairo

Previous Next

Package: guix;

Reported by: John Kehayias <john.kehayias <at> protonmail.com>

Date: Sun, 20 Jun 2021 00:25:02 UTC

Severity: normal

Full log


Message #20 received at 49122 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: John Kehayias <john.kehayias <at> protonmail.com>
Cc: "49122 <at> debbugs.gnu.org" <49122 <at> debbugs.gnu.org>
Subject: Re: bug#49122: gobject-introspection and not finding cairo
Date: Sat, 20 Jan 2024 17:18:01 -0500
Hi John,

John Kehayias <john.kehayias <at> protonmail.com> writes:

> I've managed to fix the initial problem I noted, but this would depend
> on having cairo as an input so that gobject-introspection can find the
> library to patch the typelib. Unfortunately, this would be a circular
> dependency. This is a long standing issue with how cairo is handled
> here (see, e.g.,
> https://gitlab.freedesktop.org/cairo/cairo/-/issues/141).
>
> I don't know how circular dependencies are solved in guix, so I'm not
> sure what to do to fix this. gobject-introspection doesn't need cairo
> to build or function, so the build depends is not really needed other
> than to fix this bug. So this could be done with a separate package or
> in two steps?

Upstream said:

--8<---------------cut here---------------start------------->8---
The Cairo API is not really introspectable, because its type system does
not use GObject.

We could generate the introspection data by using a filter script to
turn the snake case cairo_*_t types into the expected CamelCase Cairo*
types, but it's not entirely trivial, and it would still not by usable
by anything.
--8<---------------cut here---------------end--------------->8---

Introducing an extra dependency to the closure of gobject-introspection,
we'd have applications soft-linking to potentially different versions of
cairo (cairo and cairo-sans-poppler), which seems ugly.

Could we move the cairo.gir file to the cairo package, and this would be
picked up by gobject-introspection if at the right location?

It'd differ from upstream, but that'd be cleaner.  Perhaps we could
contribute such fix for inclusion upstream too.

-- 
Thanks,
Maxim




This bug report was last modified 1 year and 201 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.