Michael,<br><br>I don&#39;t think there&#39;s anything about your library that suggests a dynamic dependency; as a user, I would be more surprised by a long pause for a planet install during operation than by a slightly longer installation when I first download the package.  I suggest you require the rsound package directly, and either split your package in two to reduce dependencies or just live with a possibly unnecessary dependency.  I guess it depends on whether clements/rsound is significantly bigger or slower to install than your package or not.  Personally, as a Planet user, if I downloaded an Ogg Vorbis library, I would not begrudge it a dependency on an extra sound library for potential conversions.<br>

<br clear="all">Carl Eastlund<br>
<br><div class="gmail_quote">On Fri, Jan 27, 2012 at 8:47 PM, Michael W <span dir="ltr">&lt;<a href="mailto:mwilber@uccs.edu">mwilber@uccs.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hello everyone!<br>
<br>
I&#39;m making an Ogg Vorbis library for racket, and it&#39;s convenient<br>
to also be able to convert Ogg files to rsounds for (planet<br>
clements/rsound). To this end, I have an rsound-compat module in<br>
my package.<br>
<br>
Not everyone who uses my package will want to pull down (planet<br>
clements/rsound) as a dependency when they install my package,<br>
but they might want it when they use rsound-compat.<br>
<br>
Is there a way of asking a planet _not_ to pull down that<br>
dependency when users install this package, but _do_ install that<br>
dependency when they try to use rsound-compat? Or should I just<br>
bite the bullet and split rsound-compat into its own mini-planet<br>
package?<br>
<br>
As a workaround, I have this at the top of my rsound-compat<br>
module, which is just enough to trick raco make but I feel icky<br>
after typing it:<br>
<br>
(define mono-signal-&gt;rsound (dynamic-require &#39;(planet clements/rsound) &#39;mono-signal-&gt;rsound))<br>
(define signals-&gt;rsound (dynamic-require &#39;(planet clements/rsound) &#39;signals-&gt;rsound))<br>
(define s16max/i (dynamic-require &#39;(planet clements/rsound)<br>
                                  &#39;s16max/i))<br>
(define default-sample-rate (dynamic-require<br>
                             &#39;(planet clements/rsound)<br>
                             &#39;default-sample-rate))<br>
;; And whatever other bindings I need<br>
<br>
Is this the preferred way of doing it? Am I missing something<br>
obvious? Does such abuse go against PLaneT&#39;s philosophy or<br>
something?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Reclined in a defunct and truly obese satellite dish,<br>
    _mike<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</font></span></blockquote></div><br>