From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Lepiller Subject: Re: [GSoC 2020] [Proposal draft #0] Initial JVM support for Guix Date: Mon, 23 Mar 2020 13:00:36 -0400 Message-ID: <07945E3D-05CB-4603-BBCD-E829B718189A@lepiller.eu> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:44636) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGQRe-0007yu-Hs for guix-devel@gnu.org; Mon, 23 Mar 2020 13:01:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jGQRd-0006tJ-4L for guix-devel@gnu.org; Mon, 23 Mar 2020 13:00:58 -0400 Received: from lepiller.eu ([89.234.186.109]:51842) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jGQRc-0006qC-E6 for guix-devel@gnu.org; Mon, 23 Mar 2020 13:00:57 -0400 In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org, Leandro Doctors Le 23 mars 2020 12:06:12 GMT-04:00, Leandro Doctors = a =C3=A9crit : >On Mon, 23 Mar 2020 at 12:39, Julien Lepiller >wrote: > >> Hi Leandro! > >Hi, Julien, > >Thanks a lot for your feedback! I add my comments below=2E > > >> I'm glad you're interested in JVM languages=2E > >In fact, I am only interested in Clojure=2E=2E=2E However, given that >Clojure is hosted on the JVM, it seems very difficult to me not to >think in JVM terms when describing a "Clojure importer"=2E This is the >main reason behind the proposal name change from my previous emails=2E > > >> I cannot find a way to I am currently trying to build a proper >maven-build-system (it's a matter of days now)=2E > >Again, I am only speaking in JVM terms because of Clojure's hosted >nature=2E Actually, I'm interested in android apps, but maven ended up being a requi= rement ^^" > > >> Some of the issues we have with JVM languages and that you should >take into account for your proposal: >[=2E=2E=2E] > >Thanks for this! > > >> - maven allows programmers to upload a "source" jar, but it is meant >for debugging, contains generated sources and might be incomplete=2E > >Even though I don't have data to back up this claim, in the >Guix-Jupyter Scicloj video session [1] they mention that, in the case >of Clojure, most packages usually include sources=2E > >[1] Guix-Jupyter Scicloj video session from January 9th, 2020=2E >https://scicloj=2Egithub=2Eio/posts/2020-03-07-guix-jupyter/ I'll check, thanks :) > > >> - maven doesn't link to source repositories > >You're right=2E > >However, Clojars (the primary hub for Clojure packages) does=2E Maybe >implementing Clojars support could be a first step? >(I still have to assess this, as there are many Clojure packages that >are published primarily in Maven Central=2E=2E=2E) > > >> - how to find a source repository from a groupId and an artifactId is >not clear to me=2E > >Considering the previous points, this seems mostly a Java-specific >problem? > > >> Considering that, I don't know if your project is doable=2E At least, >all other importers are able to give you a working source, but if it's >> really impossible, having a list of dependencies would already be >great :) > >I agree with you in that this does seem non-trivial=2E=2E=2E >Perhaps, this could be a research-oriented project? I mean, to see >whether it is feasible to (eventually) support the JVM, and the major >milestone being a minimalistic POC implementation for Clojars support? > > >> We have a lot of java packages, but none of them are usable with >maven yet=2E I've worked on those that are directly required to run >> maven and its common plugins already, and will send patches as soon >as everything works=2E There will need to be a huge work on >> these packages to rebuild them, probably with the maven-build-system=2E > >I guess this means I should focus on Clojars? From=20what you say, yes=2E A clojars importer would be great=2E If/when we = find other ways to be able to import other JVM packages, we'll be able to i= mprove upon that work :)=2E Maybe the importer could work in that way: Import from Clojars, if it fails, import from central, without source info= rmation=2E Basically, try multiple repos, from the most specific (that have= source info) to more generic (that at least haveqversion and dependency in= formation)=2E If you leave some space to be able to plug in other sources (eg=2E when we= have scala, for sbt repos), I think you'll have a substantial contribution= :)=2E Does it sound doable? > > >Best, >Leandro