1 |
On Sun, 2008-07-20 at 15:40 +0400, Peter Volkov wrote: |
2 |
> В Втр, 01/07/2008 в 05:05 +0300, Mart Raudsepp пишет: |
3 |
> > Over a year or two ago, it was communicated that it supposedly a policy |
4 |
> > that USE=static |
5 |
> |
6 |
> Well, I don't have web-reference at hand now, but there was a thread in |
7 |
> gentoo-dev with the subject: "Say no to static libraries!". Summarizing |
8 |
> some ideas from there: |
9 |
> |
10 |
> 1. Some packages will break if you build their deps with USE=static. |
11 |
> This can be fixed when we start to use USE-deps in the tree. |
12 |
> |
13 |
> 2. We already have mechanism to make what you want. Just drop |
14 |
> EXTRA_ECONF="--disable-static" into your make.conf and to workaround |
15 |
> problem stated in point 1 use |
16 |
> |
17 |
> EXTRA_ECONF="${EXTRA_ECONF/--disable-static}" |
18 |
> |
19 |
> in /etc/portage/env/cat/pkg. (For those who interested list of packages |
20 |
> for which I have to filter --disable-static is in attachment). |
21 |
|
22 |
I'm going to simply drop the remaining USE=static's where appropriate, |
23 |
if upstreams choice is to disable static libraries, and we'll see even |
24 |
later what to do about those that don't default to not building static |
25 |
libraries. For now I stumbled on just gtk-engines. |
26 |
|
27 |
That is, some GNOME packages make it their own business to override the |
28 |
automake default of building both - they call AM_DISABLE_STATIC. |
29 |
So for those I'll just drop any --{enable,disable}-static (as I notice) |
30 |
and honor upstreams choice in not building static libraries. This also |
31 |
means nothing uses or needs the static libraries because all GNOME |
32 |
tinderboxes and jhbuild based development machines would scream in agony |
33 |
if it broke anything. |
34 |
|
35 |
> Well, I'm using EXTRA_ECONF for more then year now and I'd like to say |
36 |
> that it's not perfect solution. Not all packages are autotools based and |
37 |
> ignore --disable-static and now I have 103M of static libs on my |
38 |
> desktop. So now I'm all for having static-libs USE flag. But please, |
39 |
> don't do that on per-package base. Make an eclass for that. Think about |
40 |
> not-autotools packages, and don't put it in the tree until we start |
41 |
> using USE deps. |
42 |
|
43 |
I know of absolutely no GNOME package that needs its static libraries |
44 |
installed. Only exception is glib, but that is a lower level library, |
45 |
not a GNOME one - there we explicitly enable it for syslog-ng possible |
46 |
use primarily. And for glib I'm quite cool in enabling it always, as my |
47 |
take on glib is that it's a standard C library that makes C actually |
48 |
usable and powerful, just as libstdc++ makes C++ more powerful, and |
49 |
should be universally available to all. Though an alternative would be |
50 |
to install it in /lib, so that boot tools can use it and not need to |
51 |
link statically - having syslog-ng in mind primarily. |
52 |
|
53 |
> Thanks for reiterating this discussion. I wanted to return to it soon as |
54 |
> seems that USE deps are really about to enter our life. |
55 |
|
56 |
And now I'm reiterating it again the first time since 3 months. |
57 |
|
58 |
> And BTW, seems that all gnome packages obey EXTRA_ECONF ;) |
59 |
|
60 |
And probably G2CONF too, but we like to use that for ebuild use only - |
61 |
we aren't sure we have G2CONF="${G2CONF} foo" everywhere, etc. |
62 |
|
63 |
|
64 |
-- |
65 |
Mart Raudsepp |
66 |
Gentoo Developer |
67 |
Mail: leio@g.o |
68 |
Weblog: http://planet.gentoo.org/developers/leio |