From mboxrd@z Thu Jan 1 00:00:00 1970 From: alex.ter.weele@gmail.com Subject: Packaging leiningen (feedback desired) Date: Mon, 06 Feb 2017 22:30:04 -0500 Message-ID: <877f52he4j.fsf@guix.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cawUD-0003nf-5e for guix-devel@gnu.org; Mon, 06 Feb 2017 22:30:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cawU9-0003Jh-7U for guix-devel@gnu.org; Mon, 06 Feb 2017 22:30:33 -0500 Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]:36307) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cawU9-0003JY-3I for guix-devel@gnu.org; Mon, 06 Feb 2017 22:30:29 -0500 Received: by mail-qk0-x22d.google.com with SMTP id 11so76101913qkl.3 for ; Mon, 06 Feb 2017 19:30:27 -0800 (PST) Received: from guix (c-73-147-38-191.hsd1.va.comcast.net. [73.147.38.191]) by smtp.gmail.com with ESMTPSA id b1sm2279471qkc.33.2017.02.06.19.30.25 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 Feb 2017 19:30:25 -0800 (PST) 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.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org If anyone's around, I would appreciate some feedback. I'm trying to package leiningen, a build tool for clojure projects. The recommended way to manually install leiningen is to use a script that will download a .jar (https://github.com/technomancy/leiningen/blob/stable/bin/lein#L65). This is also the recommended way to bootstrap: use an older version of leiningen to build the newer version (https://github.com/technomancy/leiningen/blob/stable/CONTRIBUTING.md#bootstrapping). Other distributions, even Nix, use this approach for their leiningen package. Download the .jar and the "lein" script and put them in the appropriate places (https://github.com/technomancy/leiningen/wiki/Packaging). * https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build-managers/leiningen/default.nix * https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-java/leiningen-bin/leiningen-bin-2.7.1.ebuild Anyway, I'm trying to do this right, so my plan is to make a leiningen-bootstrap package (based on an old version of leiningen) that will be built "manually", then using that to build a modern leiningen. Is this the right idea? I'm also running into some problems with either the clojure or the icedtea packages, manifesting as "Could not find or load main class": bash-4.4$ guix environment --ad-hoc clojure bash-4.4$ java -cp $GUIX_ENVIRONMENT/share/java/ clojure.main bash: java: command not found bash-4.4$ exit bash-4.4$ guix environment clojure bash-4.4$ java -cp clojure-1.8.0.jar clojure.main Error: Could not find or load main class clojure.main bash-4.4$ file clojure-1.8.0.jar clojure-1.8.0.jar: Zip archive data, at least v1.0 to extract bash-4.4$ clojure bash: clojure: command not found (I'm trying to emulate https://clojure.org/guides/getting_started here.) It is unclear to me how the current clojure package is meant to be used. Could someone clarify that? Ricardo, I believe you reviewed the patch to add the package...any ideas? Thanks, Alex