Gentoo Archives: gentoo-dev

From: justin <jlec@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass
Date: Thu, 29 Nov 2012 16:58:13
Message-Id: 50B793FB.4030305@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass by hasufell
1 On 29/11/12 17:23, hasufell wrote:
2 > On 11/29/2012 03:56 PM, justin wrote:
3 >> On 29/11/12 14:16, hasufell wrote:
4 >>>
5 >>> again, even if there are corner cases which cannot be dealt with
6 >>> in a different way...
7 >>>
8 >>> having an eclass function like the mentioned one is bad, cause
9 >>> it suggests that this is a way to fix things. It's not.
10 >>> Application developers running gentoo might think "oh great,
11 >>> there is a pkgconfig file for this, so I can use it in my
12 >>> Makefile". Then a Fedora packager comes across this package and
13 >>> realizes a compile failure until he notices the build system is
14 >>> calling for a pkgconfig file that cannot be found anywhere. So he
15 >>> contacts this developer and asks which distro he is using.
16 >
17 >> So why not making our lives easier by having a pkg-config option?
18 >
19 > Did you read what you quoted? Are you saying cross distro interfaces
20 > for accessing libraries in build systems are ok to break?
21 > Not only are people using foo.pc to compile a package on gentoo, but
22 > also when writing a build system for "bar" which might link against "foo".
23 >
24 > So having largely unused .pc files is the best case, the worst is
25 > causing random breakage/annoyance for other distros without even
26 > knowing, cause yeah... for us it works.
27 >
28
29 I understand the pros about pc files and the cons about doing it the way
30 I propose.
31 _But_, there is no cross distro way which we are disturbing. Every
32 distro is having its own magic and naming of those libs. That means,
33 they all patch the buildsystem if needed to use their stuff. The same
34 way as we do since ever. (And I can tell you, for sci package handling
35 blas/lapack is one of the simplest tasks)
36
37 Our approach is of no interest to 90% or more of the other distros
38 because it would only work on a source distro which has capabilities of
39 selecting different implementations at compile time. And the number of
40 non gentoo derived distros which fullfill this criteria is rather
41 limited. So no general interest of bringing things back upstream.
42
43 We also do not disturb standard non pm builds as they are normally
44 hardcoding the path to bundled lib or provide a sane autotools/cmake way
45 to point to the lib.
46
47 And currently all ebuilds in the portage are using pkg-config for a long
48 time, so nothing new here. And nothing non-sci-team members need to
49 worry about. In fact they never did.
50
51 The only thing what happened was, that I had this crazy idea of writing
52 an eclass to reduce redundant code. This was not about inventing or
53 implementing something new. That has been done a long time before.
54
55 justin

Attachments

File name MIME type
signature.asc application/pgp-signature