[racket] Tricking PLaneT out of eagerly installing dependencies
Hello everyone!
I'm making an Ogg Vorbis library for racket, and it's convenient
to also be able to convert Ogg files to rsounds for (planet
clements/rsound). To this end, I have an rsound-compat module in
my package.
Not everyone who uses my package will want to pull down (planet
clements/rsound) as a dependency when they install my package,
but they might want it when they use rsound-compat.
Is there a way of asking a planet _not_ to pull down that
dependency when users install this package, but _do_ install that
dependency when they try to use rsound-compat? Or should I just
bite the bullet and split rsound-compat into its own mini-planet
package?
As a workaround, I have this at the top of my rsound-compat
module, which is just enough to trick raco make but I feel icky
after typing it:
(define mono-signal->rsound (dynamic-require '(planet clements/rsound) 'mono-signal->rsound))
(define signals->rsound (dynamic-require '(planet clements/rsound) 'signals->rsound))
(define s16max/i (dynamic-require '(planet clements/rsound)
's16max/i))
(define default-sample-rate (dynamic-require
'(planet clements/rsound)
'default-sample-rate))
;; And whatever other bindings I need
Is this the preferred way of doing it? Am I missing something
obvious? Does such abuse go against PLaneT's philosophy or
something?
--
Reclined in a defunct and truly obese satellite dish,
_mike