After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 671092 - mutter gir refers to wrong pkg-config packages
mutter gir refers to wrong pkg-config packages
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2012-02-29 22:27 UTC by Evan Broder
Modified: 2012-07-11 19:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix introspection gir metadata (958 bytes, patch)
2012-02-29 22:28 UTC, Evan Broder
needs-work Details | Review
Fix introspection gir data (v2) (1.05 KB, patch)
2012-02-29 22:59 UTC, Evan Broder
none Details | Review
Fix introspection gir metadata (actually v2) (1.06 KB, patch)
2012-02-29 23:16 UTC, Evan Broder
accepted-commit_now Details | Review

Description Evan Broder 2012-02-29 22:27:10 UTC
The _PACKAGES variable should contain the list of pkg-config names whose build flags are required to parse the headers exported by the gir.

The Meta-3.0.gir file current lists clutter-1.0 and gtk+-3.0 packages, but should list libmutter instead.

This causes problems attempting to use the mutter gir with, e.g., Vala, as it needs to be able to find the mutter headers at build time.
Comment 1 Evan Broder 2012-02-29 22:28:10 UTC
Created attachment 208727 [details] [review]
Fix introspection gir metadata
Comment 2 Owen Taylor 2012-02-29 22:34:33 UTC
Review of attachment 208727 [details] [review]:

Looking in Makefile.introspection:

# PACKAGES - list of pkg-config names which cflags are required to parse
#   the headers of this gir

# EXPORT_PACKAGES - list of pkg-config names that are provided by this gir.
#   By default the names in the PACKAGES variable will be used.

My guess is that this patch breaks the build if there's not already a libmutter.pc on the system.
Comment 3 Evan Broder 2012-02-29 22:59:55 UTC
Created attachment 208731 [details] [review]
Fix introspection gir data (v2)

Thanks for the feedback, Owen. Based on our IRC discussion, it looks like PACKAGES should actually be unset, as it's just used to pull in CFLAGS at gir scan time, and those CFLAGS are already covered by the CFLAGS = $(INCLUDES) line. Additionally, it looks like we should be setting EXPORT_PACKAGES. I've adjusted the patch to do this.

I looked at Clutter for a comparison, and it seems to do the same thing:

Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
	--warn-all \
	--c-include='clutter/clutter.h' \
	--pkg-export=clutter-@CLUTTER_API_VERSION@

(since EXPORT_PACKAGES translates directly to passing --pkg-export to g-ir-scanner)
Comment 4 Evan Broder 2012-02-29 23:16:20 UTC
Created attachment 208732 [details] [review]
Fix introspection gir metadata (actually v2)

Ugh, grabbed the wrong file. Sorry about that.
Comment 5 Colin Walters 2012-03-01 10:28:55 UTC
Review of attachment 208732 [details] [review]:

Looks correct.
Comment 6 Jasper St. Pierre (not reading bugmail) 2012-05-02 18:28:00 UTC
Thanks!
Comment 7 hackintosh1984pl 2012-07-11 19:32:17 UTC
Hello


I have a big problem, which could not manage to cope despite the very many hours finding a solution.


I use Gentoo Linux distribution with 64-bit architecture of the system and I have a problem  with compilation mutter.

Without introspection compilation flags properly mutter OK today.But Mutter is required to install the gnome shell 3.4.1 or "normal" gnome.

Installing the latest patch and still I did not compile mutter 3.4.1-r1 with the flag introspection. This patch: created an attachment (id=208732)- Fix introspection gir metadata (actually v2)

Bulid log form compilation is the same as in the person, link this 

http://forums.gentoo.org/viewtopic-t-929136.html

Thank you in advance for your help.