From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: Input needed: Plan for packaging scala Date: Fri, 24 Feb 2017 19:45:22 +0100 Message-ID: <20170224194522.30b2ac58@scratchpost.org> References: <878tovwt43.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1chKs2-0002rQ-9e for guix-devel@gnu.org; Fri, 24 Feb 2017 13:45:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1chKrx-0002At-DT for guix-devel@gnu.org; Fri, 24 Feb 2017 13:45:34 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:54653) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1chKrx-00026J-6l for guix-devel@gnu.org; Fri, 24 Feb 2017 13:45:29 -0500 In-Reply-To: <878tovwt43.fsf@gmail.com> 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: Katherine Cox-Buday Cc: guix-devel@gnu.org Hi, On Fri, 24 Feb 2017 08:39:24 -0600 Katherine Cox-Buday wrote: > So, to untangle this knot to achieve reproducibility, I was planning on > first packaging scala 2.9.2, then the latest version of sbt that could > be built with scala, then sbt 0.13 (which would be useful in its own > right as a package), and then finally scala 2.12.1. It seems you already did the hard work of finding out how to bootstrap Scala. (I think that writing the package definitions is the easy part. Finding the Scala versions that can be compiled by Java and then compile the correct newer Scala version using it is the hard part) > The build for scala 2.9.2 attempts to pull some libraries from a remote > source, so I'm assuming I'll need to also package those? Yes please. > I do, however, want to confirm that this is a sane plan > before I set out on this journey. Sounds good. > It would be easier if I could just do > a binary package to bootstrap the toolchain and back-fill when I have > more experience, but I wasn't sure if that is acceptable. It's acceptable. You should make sure to eventually do a reproducable build - but it's OK to start with a binary package as a builder for the time being. The question is whether it's actually easier that way. Guix uses non-standard locations (for good reasons) - so a random executable you download won't run because it won't find any libraries. The situation is not that bad if it's in Java, though - you can always specify the classpath when invoking the VM. P.S. For storing custom package definitions, do you use GUIX_PACKAGE_PATH ? I didn't when I started out using Guix - but I should have. It's easiest to get started writing your own package definitions that way.