Opened 7 years ago

Last modified 5 years ago

#54981 closed defect

py-gobject fails to build against glib2 +quartz — at Initial Version

Reported by: michaellass (Michael Lass) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py-gobject

Description

Trying to build py27-gobject when glib2 is installed with variant +quartz, results in the following error:

unix.override:27:10: fatal error: 'gio/gdesktopappinfo.h' file not found
#include <gio/gdesktopappinfo.h>
         ^~~~~~~~~~~~~~~~~~~~~~~

This error is very similar to an earlier problem in gtk3 and in fact, someone notices this issue with py-gobject before as well: https://trac.macports.org/ticket/53911 https://trac.macports.org/ticket/54379

I attempted to patch py-gobject in a similar way to include gio/gosxappinfo.h instead but with that change applied, I get the following error messages:

unix.c:747:5: error: use of undeclared identifier 'GDesktopAppInfo'
    GDesktopAppInfo *ret;
    ^
[...]
unix.c:1227:52: error: use of undeclared identifier 'G_TYPE_DESKTOP_APP_INFO'; did you mean 'G_DESKTOP_APP_INFO'?
    pygobject_register_class(d, "GDesktopAppInfo", G_TYPE_DESKTOP_APP_INFO, &PyGDesktopAppInfo_Type, Py_BuildValue("(O)", &PyGObject_Type));
                                                   ^~~~~~~~~~~~~~~~~~~~~~~
                                                   G_DESKTOP_APP_INFO
unix.c:261:44: note: 'G_DESKTOP_APP_INFO' declared here
    ret = g_desktop_app_info_get_is_hidden(G_DESKTOP_APP_INFO(self->obj));
                                           ^

So it looks like more changes are required to get this working. py-gobject is required for py-pygtk and therefore for lots of GTK applications such as VLC and gimp2.

Attached you find full build logs as well as my first attempt at patching py-gobject.

Change History (3)

Changed 7 years ago by michaellass (Michael Lass)

Attachment: py27-gobject-error.log added

Changed 7 years ago by michaellass (Michael Lass)

Changed 7 years ago by michaellass (Michael Lass)

Note: See TracTickets for help on using tickets.