Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: RFC: new eclass - pkgconfig.eclass
Date: Thu, 29 Nov 2012 01:50:23
Message-Id: pan.2012.11.29.01.47.25@cox.net
In Reply to: Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass by Richard Yao
1 Richard Yao posted on Wed, 28 Nov 2012 20:26:00 -0500 as excerpted:
2
3 > On 11/28/2012 05:21 PM, Michał Górny wrote:
4 >> On Wed, 28 Nov 2012 22:49:14 +0100 Justin <jlec@g.o> wrote:
5 >>
6 >>> Hi,
7 >>>
8 >>> and another one.
9 >>>
10 >>> Problem:
11 >>> Some packages aren't lucky and their buildsystem doesn't create
12 >>> pkg-config files out of the box.
13 >>>
14 >>> Solution:
15 >>> Create them by hand.
16 >>
17 >> Result:
18 >> packages which fail to build on distributions other than Gentoo because
19 >> their authors were using Gentoo and didn't knew that the pkg-config
20 >> aren't anywhere else.
21 >>
22 >>
23 > I suspect that the .pc files would probably be available if people
24 > installed -dev packages. If not, people can blame the distribution
25 > developers for breaking things.
26
27 You missed the point. This has nothing to do with the usual -dev
28 packages on binary distros.
29
30 If the upstream devs for a package, call it package A, depending on and
31 using a library, call it library B, are on gentoo, and gentoo's creating
32 the *.pc files for library B because its upstream doesn't, then the devs
33 of package A, being on gentoo, won't be aware that the upstream library B
34 doesn't provide the *.pc files, since they're there on a gentoo system,
35 because gentoo's providing them.
36
37 So the package A developer (on gentoo) will depend on library B's *.pc
38 file, wrongly believing it's provided by upstream, when it's not, thus
39 screwing up things for all the OTHER distros when they try to build
40 package A, because it's trying to use a non-existent *.pc file that
41 library B should have provided, but didn't.
42
43 The only proper way to fix it, therefore, is to persuade upstream to
44 include the *.pc file, NOT for gentoo to provide what upstream should be
45 shipping, but isn't.
46
47 --
48 Duncan - List replies preferred. No HTML msgs.
49 "Every nonfree program has a lord, a master --
50 and if you use the program, he is your master." Richard Stallman