From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Re: Removing compilers that cannot be bootstrapped Date: Tue, 22 Mar 2016 15:29:08 -0700 Message-ID: <87h9fyw3j8.fsf@dustycloud.org> References: <87twjz4fcn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36087) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aiUnc-0006iv-GZ for guix-devel@gnu.org; Tue, 22 Mar 2016 18:29:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aiUnX-0007gv-Gz for guix-devel@gnu.org; Tue, 22 Mar 2016 18:29:16 -0400 In-reply-to: <87twjz4fcn.fsf@gnu.org> 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel Ludovic Court=C3=A8s writes: > "Thompson, David" skribis: > >> Haskell, OCaml, Chicken, and other compilers that we package have a >> serious issue that many of us are aware of: they cannot be built from >> source! > > (And GCC, but let=E2=80=99s put it aside for now.) > >> They rely upon pre-built binaries of the same compiler. I understand >> that it's very inconvenient to not have these compilers available to >> us, and all of the software that is written in their respective >> languages, but I feel like all of our work is undermined by making >> exceptions for them. I would like to remove compilers that don't have >> a bunch of dependent packages yet such as Chicken until upstream fixes >> the issue. But we have tons of Haskell packages and a handful of >> OCaml packages and it would be heartbreaking to some to remove all of >> that hard work. > > I definitely sympathize with your concerns, and also in the case of > whole-distro bootstrapping. > > However, removing things seems really harsh, and also sidestepping the > problem (not to mention that once we=E2=80=99d done that, we couldn=E2=80= =99t ignore > GCC=E2=80=99s bootstrapping.) I agree that removing things seems really harsh... I'd even say too harsh, in the case of Haskell at least. I'd really like Guix to be a good long-term solution for Haskell people. > taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skri= bis: > >> A while back Mark raised the idea of hosting one pre-compiled bootstra= p >> version of each such compiler, and use that to compile further version= s. >> >> This way the number of blobs is one per such compiler, instead of one >> for every new version of each such compiler. >> >> It seemed like a good medium-term solution to me. I'm not sure how it >> would be implemented. > > I like the idea. It sounds good to me too. Let me give an even shorter-term solution: maybe there is a way to mark things as risky from a trust perspective when it comes to bootstrapping? Maybe we could do something like: (define-public ghc (package (name "ghc") (version "7.10.2") ;; [... bla bla ...] (properties '(("bootstrap-untrusted" #t))))) ... or bootstrap-risky, or etc. This can allow us to move forward with these languages for now while leaving clear documentation and a way to check trust via the dependency heierarchy. Obviously we want there to be no bootstrap-untrusted, and we can work towards that... - Chris