Hello Nico, Nico Rikken <[email protected]> writes:
> Hi Alex, > > Building offline is certainly possible, as long as the dependencies are > available on the > classpath, or perhaps in the local maven repository. I'm not sure how that > would work in Guix, > but I saw some java dependency statements, so it might just work. > I converted the subset of Leiningen, namend leiningen-core, to ant using `mvn > ant:ant` It the > seemingly built succesfully with ant, but I haven't tested it thoroughly. > I haven't used maven before. Do you mean that maven can convert pom.xml to ant.xml and then we can run ant to build leiningen-core? I suppose some binary jars need to be downloaded in the process since leiningen-core depends on other java libraries, right? > Do you have a Clojure project in mind that is worthwhile to bring over to > GuixSD as a package? > That might be an initial project. > I guess Leiningen itself would be a good candidate. It is a widely used and important project. > How do you use Guix? As GuixSD, or on a different OS? I intend to install it > on Debian in the > near future, or start dual-booting. > I personally run debian + guix. I start using guix about 1.5 years ago. Back then, guixsd was still in alpha and it was not very stable. So I picked the debian + guix approach. Of course, things are different now. So it is better to ask other guixsd users on their experience with guixsd. > We can indeed move this discussion to the mailinglist. Perhaps we can try > something out to > have concrete discussion points? > Since I don't know maven, yesterday, I used the dumb way to recursively identify dependencies of java library: 1. go to src/java/ directory 2. run $ javac `find -name \*.java` |& head 3. search for the first error of the form "package foo does not exist" 4. find the source for library foo in the internet 5. recur on step 1 with library foo So far I find out that Leiningen has the following dependencies (including recursive ones): aether-core animal-sniffer aopalliance asm-5.2 asomov-snakeyaml-623d46a03844 beanshell brotli cglib com.hypirion.io commons-compress commons-csv commons-logging disruptor error-prone geronimo-xbean guava guice j2objc jackson-annotations jackson-core jackson-databind jackson-dataformat-xml jackson-dataformat-yaml jackson-module-jaxb-annotations jansi javacc JavaHamcrest javamail javax-inject javax.jms-api-2.0-sources javax.persistence jcommander JCTools jeromq jffi jnr-ffi jnr-x86asm jsr-305 junit4 kafka kalium logging-log4j2 lz4-java maven-wagon org.eclipse.sisu.inject org.osgi.annotation.versioning-1.0.0-sources org.osgi.dto-1.0.0-sources org.osgi.framework-1.8.0-sources org.osgi.resource-1.0.0-sources org.osgi.util.tracker-1.5.1-sources plexus-classworlds plexus-containers plexus-utils pomegranate servlet-spec sisu.plexus slf4j stax2-api testng xz-java Wow! That's many dependencies! Although the the above is tedious, it is still doable. However, eventually I run into a problem - javacc depends on itself to build. It is analogous to how ghc is built. Does anyone know to bootstrap javacc from source? > Nico > > Alex Vong <[email protected]> schreef op 24 juni 2017 12:25:44 CEST: > > Hi Nico, > > Nico Rikken <[email protected]> writes: > > Hi Alex, > > I assume you are the contributer who introduced Clojure to Guix: > https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01125.html > > Yes, at that time, I was trying to learn clojure. So I introduced > Clojure to Guix. Then I got busy in study and stopped working on it. > > I must say at the moment, I am still very new to clojure and java. > > I'm a professional Clojure developer, and I have an interest in Guix > for it's functional and reproducibility aspect. Yet I see no real > packaging emerging for Clojure in Guix. There is the ant-build-system > for Java packages. Of course one should be able to build Clojure > packages with Ant, but I haven't done so. > > Assuming you have looked into this issue as well, what do you think of > the current state, and possibilities, of Clojure packages in Guix? > > My last thought was, instead of using ant-build-system directly, we > should first package Leiningen and create leiningen-build-system. > > However, I am completely new to Leiningen and the *-build-system stuff > in Guix. I don't know if this is the right thing to do. One of the > concerns is that Leiningen may not support offline building. > > If you wish, we can continue the discussion on <[email protected]>. I am > currently on summer holiday and thus have more spare time. > > Kind regards, > Nico Rikken (NL) > > Cheers, > Alex
signature.asc
Description: PGP signature
