On Dec 1, 8:15 am, David Nolen <dnolen.li...@gmail.com> wrote: > On Tue, Dec 1, 2009 at 1:10 AM, Phil Hagelberg <p...@hagelb.org> wrote: > > David Nolen <dnolen.li...@gmail.com> writes: > > > > The problem is that JOGL needs JNIs and JNIs need to be on > > > java.library.path or java.ext.dirs, not the classpath. In order to > > > make life easier for people learning about clojure as well generally > > > making lein projects simpler to play around for newbies do people see > > > any utility in supporting something like lein run? > > > It sounds like you're talking about two orthogonal things: setting java > > options for JNI and a run task. We have talked about adding a run task; > > if you're interested we could even get it in for the 1.0.0 release. If > > the java.library.path flag can be set in a subclassloader like we do > > with the classpath in the deps task in the isolated-compile branch that > > Alex just cooked up, then this could be added soon as well. But it would > > be helpful to discuss these as two separate steps. > > Yes. > > > > > Also from talking on IRC it sounded like there might also be a third > > unpacking step involved; could you explain that in more detail here? It > > sounds like the SqliteJDBC libraries do that for you, but perhaps that > > is not always the case with native libraries? > > SQLiteJDBC decides to take the runtime solution via System.load. Benefit is > that everything stays in the jar. > > The other tack is to support specifying platform specific library jars and > unpacking them into whatever folder is specified by project.clj > library.path. > > David > > > > > -Phil >
I've looked into this a bit, because right now setting up Penumbra (http://github.com/ztellman/penumbra) is way too complex. As far as I can see, there are two different situations to think about: 1) A standalone executable which relies on Penumbra. This situation is actually pretty well supported by JOGL's use of JNLP, which will download the appropriate binaries at startup (and cache them for later usage). This has the benefit of being more lightweight (the jar doesn't have to contain all the binaries for all the target platforms), so maybe there's an argument for Leiningen generating the .jnlp file. 2) A library which relies on Penumbra, or any development work towards a standalone executable. If there were some generic code provided by Leiningen which did the runtime extraction of the binaries, I don't really see any issue with doing it that way. The "lein run" approach described above would also work, with the caveat that "lein swank" would also need to have similar functionality. With all that said, I'm certainly not an expert on the subject. If any of the above seems suspect, please feel free to correct me. Zach -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en