1 |
On Wed, Oct 28, 2015 at 7:16 AM, hasufell <hasufell@g.o> wrote: |
2 |
> |
3 |
> This is outside of the scope of this thread, but there are already |
4 |
> distros that have fixed this: |
5 |
> 1. NixOS [0] with truly declarative configuration format, e.g. something |
6 |
> like: |
7 |
> packages.ssl.provider = openssl; |
8 |
|
9 |
Well, we can accomplish this in our syntax. Just RDEPEND on openssl, |
10 |
and set USE requirements for openssl on any dependencies that offer |
11 |
both. |
12 |
|
13 |
NixOS is still bound by the constraint that the two libraries have |
14 |
colliding namespace, so a package needs to have a dependency chain |
15 |
that exclusively uses one or the other. |
16 |
|
17 |
However, assuming all your packages are able to work with either |
18 |
library the thing NixOS does have going for it is that it would let |
19 |
you have apache using openssl and postfix using libressl on the same |
20 |
system, with side-by-side versions of any shared dependencies built |
21 |
against each. |
22 |
|
23 |
Their approach (as I understand it) is basically that every process is |
24 |
almost containerized on the same filesystem. |
25 |
|
26 |
> |
27 |
> which is a lot cleaner than USE_EXPAND + REQUIRED_USE, which still can |
28 |
> have arbitrary meanings. |
29 |
> |
30 |
|
31 |
Well, I think we can accomplish all of the above using the tools we |
32 |
already have, but I agree that we tend to do it in one namespace while |
33 |
other distros are using more than one. That is probably a good idea |
34 |
just to improve consistency. |
35 |
|
36 |
We should probably pursue both. For ssl we need the best solution we |
37 |
can implement today. However, for a future EAPI we should pursue a |
38 |
better way to handle this. |
39 |
|
40 |
-- |
41 |
Rich |