[Nix-dev] Re: Dealing with plug-ins

Ludovic Courtès ludo at gnu.org
Mon Sep 21 11:00:31 CEST 2009


Saluton!

Lluís Batlle <viriketo at gmail.com> writes:

> 2009/9/21 Ludovic Courtès <ludo at gnu.org>:
>> I wonder how plug-ins are best handled given Nix’ model.
>>
>> NSS and OpenGL plug-ins are handled the same as what you’ve done here.
>> But Firefox/IceCat plug-ins (for instance) are handled in such a way
>> that the set of plug-ins is defined beforehand and assumed to be static.
>>
>> The latter sounds more “nixey” to me, in that it makes it easy to
>> reproduce a configuration, but it is inflexible and defeats the dynamic
>> nature of plug-ins.
>>
>> The former acknowledges the dynamic nature of plug-ins but also breaks
>> referential transparency in the Nix model.  That is, ‘alsaLib’ can have
>> run-time dependencies in addition to those specified in its Nix
>> expression.  It could end up using binary-incompatible plug-ins, etc.
>>
>> Where should we draw the line between statically handled “plug-ins” and
>> dynamic plug-ins?  Thoughts?
>
> What about allowing both models?

Sure.  The dynamic model can hardly be disallowed anyway, since the code
actually dlopen()s stuff.

I was just wondering in which cases packaging should favor one model
over the other.

Thanks,
Ludo’.




More information about the nix-dev mailing list