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 794603 - Meson: Should use generator for all pc files
Meson: Should use generator for all pc files
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: common
1.12.x
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 794604
 
 
Reported: 2018-03-22 18:37 UTC by Xavier Claessens
Modified: 2018-11-03 11:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Meson: Use pc file generator (3.71 KB, patch)
2018-03-22 18:38 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in core (3.41 KB, patch)
2018-04-08 00:51 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in bad (4.52 KB, patch)
2018-04-08 00:51 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in base (5.71 KB, patch)
2018-04-08 00:52 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in core (3.43 KB, patch)
2018-04-08 01:13 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in core (3.43 KB, patch)
2018-04-08 01:17 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in base (5.76 KB, patch)
2018-04-08 01:18 UTC, Xavier Claessens
none Details | Review
Meson: Use pc file generator for libs in bad (4.56 KB, patch)
2018-04-08 01:18 UTC, Xavier Claessens
none Details | Review

Description Xavier Claessens 2018-03-22 18:37:28 UTC
Currently gstreamer-*-1.0.pc are created using a .pc.in listing dependencies manually. That's error prone.

Meson has a generator that automatically pull dependencies from a library() object and generate the .pc for it.

I'm going to depend on a yet to be merged PR in meson:
https://github.com/mesonbuild/meson/pull/3284
Comment 1 Xavier Claessens 2018-03-22 18:38:18 UTC
Created attachment 370021 [details] [review]
Meson: Use pc file generator
Comment 2 Xavier Claessens 2018-04-08 00:51:03 UTC
Created attachment 370636 [details] [review]
Meson: Use pc file generator for libs in core
Comment 3 Xavier Claessens 2018-04-08 00:51:55 UTC
Created attachment 370637 [details] [review]
Meson: Use pc file generator for libs in bad
Comment 4 Xavier Claessens 2018-04-08 00:52:46 UTC
Created attachment 370638 [details] [review]
Meson: Use pc file generator for libs in base
Comment 5 Xavier Claessens 2018-04-08 01:13:50 UTC
Created attachment 370639 [details] [review]
Meson: Use pc file generator for libs in core
Comment 6 Xavier Claessens 2018-04-08 01:17:32 UTC
Created attachment 370640 [details] [review]
Meson: Use pc file generator for libs in core
Comment 7 Xavier Claessens 2018-04-08 01:18:03 UTC
Created attachment 370641 [details] [review]
Meson: Use pc file generator for libs in base
Comment 8 Xavier Claessens 2018-04-08 01:18:28 UTC
Created attachment 370642 [details] [review]
Meson: Use pc file generator for libs in bad
Comment 9 Xavier Claessens 2018-04-23 20:44:55 UTC
Meson 0.46 has been released with the API used by those patches. Review would be appreciated.
Comment 10 Tim-Philipp Müller 2018-04-25 10:50:06 UTC
The descriptions are gone now, or more generic like 'gstreamer: gstnet-1.0'.

It also seems that we now no longer create -uninstalled.pc files, which is something Guillaume and others wanted to maintain, so you can build gst with meson and still link against it with autotools, see bug #776810.

I don't particularly mind dropping this, but it should be a conscious and considered decision then :)
Comment 11 Xavier Claessens 2018-04-25 11:22:35 UTC
(In reply to Tim-Philipp Müller from comment #10)
> The descriptions are gone now, or more generic like 'gstreamer: gstnet-1.0'.

What's the use of those descriptions anyway? If it's important it can be copy pasted, just easy boring task given the number of PC files we have.

> It also seems that we now no longer create -uninstalled.pc files, which is
> something Guillaume and others wanted to maintain, so you can build gst with
> meson and still link against it with autotools, see bug #776810.

I haven't looked how uninstalled PC files are different, could need support in meson generator.
Comment 12 Tim-Philipp Müller 2018-04-25 11:30:06 UTC
Descriptions are shown in pkg-config --list-all for example. Not a deal-breaker for me, but a "would be nice".
Comment 13 Xavier Claessens 2018-04-25 16:01:22 UTC
Opened an issue on meson to gen uninstalled pc files:
https://github.com/mesonbuild/meson/issues/3472

Meson should already have all the info needed to build against an uninstalled library it built, so it makes sense for it to generate the pc file, IMO.
Comment 14 Nirbheek Chauhan 2018-05-30 11:26:14 UTC
Note that gst-build currently uses *-uninstalled.pc files, so that would need to be fixed somehow before this is merged. Either by merging that Meson PR, or by changing gst-uninstalled.py to use an alternative method of making .pc files available and usable in the environment.
Comment 15 Xavier Claessens 2018-11-01 14:16:51 UTC
I marked all patches here as obsolete because they had merge conflicts. I have up to date branches locally, waiting for gitlab migration to push them as branch.
Comment 16 GStreamer system administrator 2018-11-03 11:02:43 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/common/issues/2.