On Sun, 20 Sep 2015 12:17:11 +0300
Andrew Savchenko <birc...@gentoo.org> wrote:

> On Sun, 20 Sep 2015 10:22:59 +0200 Alexis Ballier wrote:
> > > > My idea would be:
> > > > 
> > > > 1. import "dev-libs/libressl" (this will block
> > > > dev-libs/openssl) and introduce the global USE flag "libressl"
> > > > with the following description:
> > > 
> > > Please try to avoid such block, e.g. install libressl to a
> > > separate location. This is easier to do when introducing package
> > > to the tree, rather when facing large-scale blockers. Otherwise
> > > one day we will face nasty bug like mutual heimdal/mit-krb5
> > > blocker[1], where foo will work only openssl, bar only with
> > > libressl and users will need both.
> > 
> > If they're abi incompatible but share some namespace (symbols,
> > soname, library names, etc.) I think that's a terrible idea since
> > that'd introduce runtime bugs.
> > 
> > I've faced something like that recently: opencv can link to qt4 or
> > qt5. but if you link a qt5 program to opencv[qt4] it'll fail in
> > terrible ways. you'd have the same replacing qt4/qt5 by
> > libressl/openssl.
> 
> Probably slotting of opencv will help here: have both qt4 and qt5
> versions. Other distributions are being able to handle mit-krb5 and
> heidmal on the same system simultaneously, so should we. Situation
> with openssl/libressl, ffmpeg/libav and so on is effectively the
> same: when we have couples of libraries deliberately incompatible
> with each other why sharing pretty much common namespace.

Yes, that's what gnome team is doing with gtk2 vs gtk3; however, I'm
not sure how much work it is. Only package I know of providing
different slots depending on what it's built upon is webkit-gtk.

I can't imagine every library using {open,libre}ssl provide two slots,
two different libraries, two different pkg-config and the like files,
etc. And every package using a library that uses a library that uses a
library that uses {open,libre}ssl to have to chose what ssl library to
use.

Reply via email to