cfillion / reapack

📦 Package manager for REAPER
https://reapack.com
GNU Lesser General Public License v3.0
328 stars 21 forks source link

Shared dependency between packages #16

Closed geraintluff closed 8 years ago

geraintluff commented 8 years ago

I've just started getting to grips with ReaPack (very neat tool). The index I've created is at: https://geraintluff.github.io/jsfx/index.xml

It sort of works - but the effects share a common UI library, so if I try to install both "Bad Connection" and "Dual Distortion" it throws an error because they are both attempting to "own" ui-lib.jsfx-inc. Installing "Spectral Matcher" works fine with either of the other two because they're different categories.

Is there a way to fix this, that's better than keeping three separate (renamed) copies of the UI library so they don't conflict? Giving the UI library its own entry in the repo wouldn't work either - because the different categories mean they're not in the same directory (let alone that if the user didn't install it, the effects would be broken with no explanation why).

Keeping three copies of the UI library is a possible workaround for now, but it feels inelegant.

cfillion commented 8 years ago

Giving the UI library its own entry in the repo wouldn't work either - because the different categories mean they're not in the same directory

REAPER still finds the file if it's in the parent directory (I believe it searches for it in the entire Effects folder?):

<source file="../ui-lib.jsfx-inc">

With this it can be in its own package. ReaPack doesn't have a dependency system to auto-install it but you could add a note in the package (and/or repo-wide) documentation to warn users this must be installed. Probably still not ideal though.

As for the other alternative, installing multiple copies has the advantage of ensuring a given FX has a good version of the library file in every situation.

geraintluff commented 8 years ago

OK yeah, multiple copies actually sounds reasonable, and avoids horrible versioning issues.