Hans-Christoph Steiner wrote:
> Since you are also thinking about packaging, it would be good to open up
> a discussion about how to handle some things. If you plan on just
> packaging pd-vanilla, then its easy. If you want to support multiple
> versions of Pd then it gets a bit more complicated.
Yes, because they are incompatible.
> Basically, libraries/externals can't be installed into 'pd/extra'
> because then the packages would conflict.
Huh? You can't have two packages installing the same file (but there
are mechanisms to cope with this even then), but you can have different
packages installing files into the same directory (/usr/bin/ for example).
> I proposed
> /usr/lib/pd-externals/ as a place to install all packaged externals, so
> then you could have pd-vanilla, pd-extended, desiredata, etc. installed
> and they could all use the externals. Claude of pure-dyne had an
> objection to this, but he didn't follow up on the details.
It's broken by design.
Where is the guarantee that pd, pd-extended, desiredata, etc all have
exactly equal binary API for externals? Some externals (that use GUI
features, for example) won't work with desiredata while they work fine
with pd. Also, some abstractions (that use [initbang], for example)
won't work with pd while they work fine with pd-extended.
I suggest something like: /usr/lib/pd for pd, /usr/lib/pd-extended for
pd-extended, /usr/lib/desiredata for desiredata. Otherwise you'll end
up with a lot of broken-ness.
Claude