Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Christopher Allan Webber
Ludovic Courtès writes: > Ricardo Wurmus skribis: > >> It is probably easier for us to try to write primitive compilers in >> Guile than to start from scratch each time. Then the only blob we need >> to figure out how to bootstrap would be Guile itself. > > +1 > > Though of course, writing a fai

Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Ludovic Courtès
Ricardo Wurmus skribis: > It is probably easier for us to try to write primitive compilers in > Guile than to start from scratch each time. Then the only blob we need > to figure out how to bootstrap would be Guile itself. +1 Though of course, writing a faithful C or Haskell or OCaml compiler

Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Alex Vong
Chris Marusich writes: > Chris Marusich writes: > > > Sorry for replying to my own post, but I couldn't help myself. If > anyone thinks the above sounds too paranoid, remember the Ken Thompson > hack: > > http://www.c2.com/cgi/wiki?TheKenThompsonHack > There is a way to defeat this kind of atta

Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Jookia
On Sat, Mar 26, 2016 at 09:12:52AM +0100, Ricardo Wurmus wrote: > GCC itself is not sufficient to build many compilers. For GHC, for > example, you need a Haskell compiler such as GHC. I looked at nhc98 and > other defunct Haskell compilers, but they all have a bootstrapping step > that either re

Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Jookia
Hey, I have a few quick notes that aren't that relevant. On Fri, Mar 25, 2016 at 11:55:44PM -0700, Chris Marusich wrote: > > 1) Write the simplest possible program (or collection of programs) in > > the simplest possible machine code. This program serves only one > > purpose: to enable you to wr

Re: Removing compilers that cannot be bootstrapped

2016-03-26 Thread Ricardo Wurmus
Chris Marusich writes: > Leo Famulari writes: > >> `wget https://blob` doesn't count as reproducible :) > > Very true. > > Self-hosting compilers are a cute trick, but they're a far cry from > being reproducible. They're just inscrutable binary blobs. If we want > true reproducibility from th

Re: Removing compilers that cannot be bootstrapped

2016-03-25 Thread Chris Marusich
Chris Marusich writes: > Leo Famulari writes: > >> `wget https://blob` doesn't count as reproducible :) > > Very true. > > Self-hosting compilers are a cute trick, but they're a far cry from > being reproducible. They're just inscrutable binary blobs. If we want > true reproducibility from the

Re: Removing compilers that cannot be bootstrapped

2016-03-25 Thread John Darrington
Doesn't gcc also belong in this category? J' On Mon, Mar 21, 2016 at 01:54:24PM -0400, Thompson, David wrote: 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! They rely upon pre-built

Re: Removing compilers that cannot be bootstrapped

2016-03-25 Thread Chris Marusich
Leo Famulari writes: > `wget https://blob` doesn't count as reproducible :) Very true. Self-hosting compilers are a cute trick, but they're a far cry from being reproducible. They're just inscrutable binary blobs. If we want true reproducibility from the bottom up, then it seems like the only

Re: Removing compilers that cannot be bootstrapped

2016-03-25 Thread Leo Famulari
On Sat, Mar 26, 2016 at 12:08:09AM +0100, Ludovic Courtès wrote: > Leo Famulari skribis: > > > On Wed, Mar 23, 2016 at 03:49:33PM -0700, Christopher Allan Webber wrote: > >> Ludovic Courtès writes: > >> > >> > Christopher Allan Webber skribis: > >> > > >> >> Let me give an even shorter-term sol

Re: Removing compilers that cannot be bootstrapped

2016-03-25 Thread Ludovic Courtès
Leo Famulari skribis: > On Wed, Mar 23, 2016 at 03:49:33PM -0700, Christopher Allan Webber wrote: >> Ludovic Courtès writes: >> >> > Christopher Allan Webber skribis: >> > >> >> Let me give an even shorter-term solution: maybe there is a way to mark >> >> things as risky from a trust perspectiv

Re: Removing compilers that cannot be bootstrapped

2016-03-23 Thread Leo Famulari
On Wed, Mar 23, 2016 at 03:49:33PM -0700, Christopher Allan Webber wrote: > Ludovic Courtès writes: > > > Christopher Allan Webber skribis: > > > >> 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

Re: Removing compilers that cannot be bootstrapped

2016-03-23 Thread Christopher Allan Webber
Ludovic Courtès writes: > Christopher Allan Webber skribis: > >> 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 >>

Re: Removing compilers that cannot be bootstrapped

2016-03-23 Thread Ludovic Courtès
Christopher Allan Webber skribis: > 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

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Christopher Allan Webber
Ludovic Courtès 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’s put it aside for now.) > >> They rely upon pre-built binaries o

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Ludovic Courtès
Jookia <166...@gmail.com> skribis: > On Mon, Mar 21, 2016 at 11:48:40PM +0100, Ludovic Courtès wrote: >> Often, in their implementation history, compilers are boostrapped from >> something else initially, and only later to they become self-hosted and >> unbootstrappable. >> >> So in theory, it’d b

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Ludovic Courtès
ra...@openmailbox.org skribis: > I would like to propose one idea to manage this: What about adding a > field to the system configuration for a list of 'trusted-binaries'? To me it sounds like sidestepping the issue. We’d want the whole distro to be trustworthy. Ludo’.

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Ludovic Courtès
Eric Bavier skribis: > On 2016-03-21 17:48, l...@gnu.org wrote: >> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: >> >>> A while back Mark raised the idea of hosting one pre-compiled >>> bootstrap >>> version of each such compiler, and use that to compile further >>> versions.

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Eric Bavier
On 2016-03-21 17:48, l...@gnu.org wrote: taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: A while back Mark raised the idea of hosting one pre-compiled bootstrap version of each such compiler, and use that to compile further versions. This way the number of blobs is one per

Re: Removing compilers that cannot be bootstrapped

2016-03-22 Thread Jookia
On Mon, Mar 21, 2016 at 11:48:40PM +0100, Ludovic Courtès wrote: > Often, in their implementation history, compilers are boostrapped from > something else initially, and only later to they become self-hosted and > unbootstrappable. > > So in theory, it’d be possible to find, say, an old-enough GHC

Re: Removing compilers that cannot be bootstrapped

2016-03-21 Thread rain1
On 2016-03-21 17:54, Thompson, David wrote: 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! They rely upon pre-built binaries of the same compiler. I understand that it's very inconvenient to not h

Re: Removing compilers that cannot be bootstrapped

2016-03-21 Thread Ludovic Courtès
"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’s put it aside for now.) > They rely upon pre-built binaries of the same compiler. I understand >

Re: Removing compilers that cannot be bootstrapped

2016-03-21 Thread Andreas Enge
On Mon, Mar 21, 2016 at 08:15:34PM +0100, Taylan Ulrich Bayırlı/Kammer wrote: > So when someone instructs guix to rebuild the world from scratch, it > downloads the bootstrap blob, then builds 1.1 with it, then builds 1.7 > with that, then 2.2 with that, and so on, and ultimately the current > vers

Re: Removing compilers that cannot be bootstrapped

2016-03-21 Thread Taylan Ulrich Bayırlı/Kammer
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes: > "Thompson, David" writes: > >> 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! They rely upon pre-built binaries of the same

Re: Removing compilers that cannot be bootstrapped

2016-03-21 Thread Taylan Ulrich Bayırlı/Kammer
"Thompson, David" writes: > 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! They rely upon pre-built binaries of the same compiler. I > understand that it's very inconvenient to not have these