1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-12 03:54:05 +02:00

Compare commits

..

12 Commits

Author SHA1 Message Date
Jan (janneke) Nieuwenhuizen 89a8bd9257 gnu: commencement: mes-boot: Use new package style.
* gnu/packages/commencement.scm (mes-boot)[arguments]: Use gexp for modify
phases.
2022-05-14 21:39:06 +02:00
Jan (janneke) Nieuwenhuizen f99f4a2257 gnu: commencement: stage0-posix: Use new package style.
* gnu/packages/commencement.scm (stage0-posix)[arguments]: Also use gexps for
inputs and output.
2022-05-14 21:35:00 +02:00
Jan (janneke) Nieuwenhuizen 02874b2a43 gnu: commencement: bootstrap-seeds: Use new package style.
* gnu/packages/commencement.scm (bootstrap-seeds)[arguments]: Also use gexps
for inputs and output.
2022-05-14 21:33:33 +02:00
Jan (janneke) Nieuwenhuizen 33253b562a doc: Fix "Full-Source Bootstrap" title case.
* doc/guix.texi (Full-source Bootstrap): Rename to...
(Full-Source Bootstrap): ...this.
2022-05-14 19:02:03 +02:00
Jan (janneke) Nieuwenhuizen eeba993f57 doc: Add the "Full-source Bootstrap".
* doc/guix.texi (Reduced Binary Seed Bootstrap): Update and rename to...
(Full-Source Bootstrap): ...this.
* doc/images/gcc-core-mesboot0-graph.dot: Regenerate.
2022-05-12 19:27:59 +02:00
Jan (janneke) Nieuwenhuizen 454bb06e83 gnu: commencement: Remove %bootstrap-mes-rewired.
* gnu/packages/commencement.scm (%bootstrap-mes-rewired): Remove.
2022-05-12 19:27:59 +02:00
Jan (janneke) Nieuwenhuizen 76f7602b9f gnu: bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes.
* gnu/packages/bootstrap.scm (%bootstrap-inputs): Remove
%bootstrap-mescc-tools, %bootstrap-mes.
2022-05-12 19:27:59 +02:00
Jan (janneke) Nieuwenhuizen a68d1d47ee gnu: commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd.
* gnu/packages/commencement.scm (tcc-boot0)[source]: Update to
0.9.26-1136-g0fbeb2dd.
[native-inputs]: Add stage0-posix and mes-boot, remove
%bootstrap-mescc-tools and %bootstrap-mes-rewired.
2022-05-12 19:27:59 +02:00
Jan (janneke) Nieuwenhuizen d79c103e11 gnu: commencement: tcc-boot0: Use nyacc-1.00.2.
* gnu/packages/commencement.scm (tcc-boot0): Use https source URL with
mirror://.  Update NYACC to 1.00.2 and call 'bootstrap-origin' on the source.
2022-05-12 19:27:58 +02:00
Jan (janneke) Nieuwenhuizen 2cebf680c7 gnu: commencement: mes-boot: Update to 0.24, build with M2-Planet.
* gnu/packages/commencement.scm (mes-boot)[source]: Update to
0.24.
[native-inputs]: Add stage0-posix, remove %bootstrap-mescc-tools and
%bootstrap-mes-rewired, and update nyacc to 1.00.2.
2022-05-12 19:27:58 +02:00
Jan (janneke) Nieuwenhuizen dc7da2c9ed gnu: commencement: Add stage0-posix.
Stage0-posix is a skeleton for bootstrapping all of Stage0 for POSIX systems.
On x86-linux, from the 357-byte hex0-seed binary from the bootstrap-seeds, it
builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, M1, M2,
get_machine, (mescc-tools), and M2-Planet.

* gnu/packages/commencement.scm (stage0-posix): New variable.
2022-05-12 19:27:58 +02:00
Jan (janneke) Nieuwenhuizen 5324be85a7 gnu: commencement: Add bootstrap-seeds.
* gnu/packages/commencement.scm (bootstrap-seeds): New variable.
2022-05-12 19:27:57 +02:00
9 changed files with 700 additions and 2194 deletions
+41 -34
View File
@@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2021, 2022 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
@@ -394,7 +394,7 @@ Installing Debugging Files
Bootstrapping
* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
* Full-Source Bootstrap:: A Bootstrap worthy of GNU.
* Preparing to Use the Bootstrap Binaries:: Building that what matters most.
@end detailmenu
@@ -39491,12 +39491,12 @@ re-create them if needed (@pxref{Preparing to Use the Bootstrap
Binaries}).
@menu
* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
* Full-Source Bootstrap:: A Bootstrap worthy of GNU.
* Preparing to Use the Bootstrap Binaries:: Building that what matters most.
@end menu
@node Reduced Binary Seed Bootstrap
@section The Reduced Binary Seed Bootstrap
@node Full-Source Bootstrap
@section The Full-Source Bootstrap
Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
@@ -39511,28 +39511,47 @@ about 250MB (@pxref{Bootstrappable Builds,,, mes, GNU Mes}). Auditing
or even inspecting these is next to impossible.
For @code{i686-linux} and @code{x86_64-linux}, Guix now features a
``Reduced Binary Seed'' bootstrap @footnote{We would like to say: ``Full
Source Bootstrap'' and while we are working towards that goal it would
be hyperbole to use that term for what we do now.}.
@dfn{full-source bootstrap}. This bootstrap is rooted in
@file{hex0-seed} from the @url{https://savannah.gnu.org/projects/stage0,
Stage0} package. The hex0 program is minimalist assembler: it reads
space-separated hexadecimal digits (nibbles) from a file, possibly
including comments, and emits on standard output the bytes corresponding
to those hexadecimal numbers. The source code of this initial hex0
program is a file called
@c XXX TODO: udpate to savannah url, once accepted there
@url{https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0,@file{hex0_x86.hex0}}
and is written in the @code{hex0} language.
The Reduced Binary Seed bootstrap removes the most critical tools---from a
trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
Library are replaced by: @code{bootstrap-mescc-tools} (a tiny assembler and
linker) and @code{bootstrap-mes} (a small Scheme Interpreter and a C compiler
written in Scheme and the Mes C Library, built for TinyCC and for GCC).
Hex0 is self-hosting, which means that it can build itself:
Using these new binary seeds the ``missing'' Binutils, GCC, and the GNU
C Library are built from source. From here on the more traditional
bootstrap process resumes. This approach has reduced the bootstrap
binaries in size to about 145MB in Guix v1.1.
@example
./hex0-seed hex0_x86.hex0 hex0
@end example
The next step that Guix has taken is to replace the shell and all its
Hex0 it is the ASCII-equivalent of the binary program and can be
produced by doing something much like:
@example
sed 's/[;#].*$//g' hex0_x86.hex0 | xxd -r -p > hex0
chmod +x hex0
@end example
It is because of this ASCII-binary equivalence that we can bless this
initial 357-byte binary as source, and hence `full-source bootstrap''.
The bootstrap then continues: @code{hex0} builds @code{hex1} and then on
to @code{M0}, @code{hex2}, @code{M1}, @code{mescc-tools} and finally
@code{M2-Planet}. Then, using @code{mescc-tools}, @code{M2-Planet} we
build Mes (@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a
Scheme interpreter and C compiler in Scheme). Frome here on starts
the more traditional @code{C}-based bootstrap of the GNU System.
Another step that Guix has taken is to replace the shell and all its
utilities with implementations in Guile Scheme, the @emph{Scheme-only
bootstrap}. Gash (@pxref{Gash,,, gash, The Gash manual}) is a
POSIX-compatible shell that replaces Bash, and it comes with Gash Utils
which has minimalist replacements for Awk, the GNU Core Utilities, Grep,
Gzip, Sed, and Tar. The rest of the bootstrap binary seeds that were
removed are now built from source.
Gzip, Sed, and Tar.
Building the GNU System from source is currently only possible by adding
some historical GNU packages as intermediate steps@footnote{Packages
@@ -39548,22 +39567,10 @@ The graph below shows the resulting dependency graph for
@code{gcc-core-mesboot0}, the bootstrap compiler used for the
traditional bootstrap of the rest of the Guix System.
@c ./pre-inst-env guix graph -e '(@@ (gnu packages commencement) gcc-core-mesboot0)' | sed -re 's,((bootstrap-mescc-tools|bootstrap-mes|guile-bootstrap).*shape =) box,\1 ellipse,' > doc/images/gcc-core-mesboot0-graph.dot
@c ./pre-inst-env guix graph -e '(@@ (gnu packages commencement) gcc-core-mesboot0)' | sed -re 's,((bootstrap-seeds|guile-bootstrap).*shape =) box,\1 ellipse,' > doc/images/gcc-core-mesboot0-graph.dot
@image{images/gcc-core-mesboot0-graph,6in,,Dependency graph of gcc-core-mesboot0}
The only significant binary bootstrap seeds that remain@footnote{
Ignoring the 68KB @code{mescc-tools}; that will be removed later,
together with @code{mes}.} are a Scheme interpreter and a Scheme
compiler: GNU Mes and GNU Guile@footnote{Not shown in this graph are the
static binaries for @file{bash}, @code{tar}, and @code{xz} that are used
to get Guile running.}.
This further reduction has brought down the size of the binary seed to
about 60MB for @code{i686-linux} and @code{x86_64-linux}.
Work is ongoing to remove all binary blobs from our free software
bootstrap stack, working towards a Full Source Bootstrap. Also ongoing
is work to bring these bootstraps to the @code{arm-linux} and
Work is ongoing to to bring these bootstraps to the @code{arm-linux} and
@code{aarch64-linux} architectures and to the Hurd.
If you are interested, join us on @samp{#bootstrappable} on the Freenode
+76 -111
View File
@@ -1,114 +1,79 @@
digraph "Guix package" {
"139781154519456" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"139781154519456" -> "139781154519632" [color = darkgoldenrod];
"139781154519456" -> "139781154520688" [color = darkgoldenrod];
"139781154519456" -> "139781034971312" [color = darkgoldenrod];
"139781154519456" -> "139781154520160" [color = darkgoldenrod];
"139781154519456" -> "139781034971664" [color = darkgoldenrod];
"139781154519456" -> "139781154519984" [color = darkgoldenrod];
"139781154519456" -> "139781154519808" [color = darkgoldenrod];
"139781154519456" -> "139781154520512" [color = darkgoldenrod];
"139781154519456" -> "139781034971488" [color = darkgoldenrod];
"139781154519456" -> "139781034972896" [color = darkgoldenrod];
"139781154519456" -> "139781034972368" [color = darkgoldenrod];
"139781154519456" -> "139781034973072" [color = darkgoldenrod];
"139781154519456" -> "139781131267872" [color = darkgoldenrod];
"139781154519632" [label = "binutils-mesboot0@2.14", shape = box, fontname = Helvetica];
"139781154519632" -> "139781154520688" [color = peachpuff4];
"139781154519632" -> "139781034971312" [color = peachpuff4];
"139781154519632" -> "139781154520160" [color = peachpuff4];
"139781154519632" -> "139781034971664" [color = peachpuff4];
"139781154519632" -> "139781154519984" [color = peachpuff4];
"139781154519632" -> "139781154519808" [color = peachpuff4];
"139781154519632" -> "139781154520512" [color = peachpuff4];
"139781154519632" -> "139781034971488" [color = peachpuff4];
"139781154519632" -> "139781034972896" [color = peachpuff4];
"139781154519632" -> "139781034972368" [color = peachpuff4];
"139781154519632" -> "139781034973072" [color = peachpuff4];
"139781154519632" -> "139781131267872" [color = peachpuff4];
"139781154520688" [label = "bash-mesboot0@2.05b", shape = box, fontname = Helvetica];
"139781154520688" -> "139781034971488" [color = magenta];
"139781154520688" -> "139781034971840" [color = magenta];
"139781154520688" -> "139781034972896" [color = magenta];
"139781154520688" -> "139781034972368" [color = magenta];
"139781154520688" -> "139781034973072" [color = magenta];
"139781154520688" -> "139781131267872" [color = magenta];
"139781034971488" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"139781034971488" -> "139781034971840" [color = dimgrey];
"139781034971488" -> "139781034972896" [color = dimgrey];
"139781034971488" -> "139781034972368" [color = dimgrey];
"139781034971488" -> "139781034973072" [color = dimgrey];
"139781034971488" -> "139781131267872" [color = dimgrey];
"139781034971840" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, fontname = Helvetica];
"139781034971840" -> "139781034972016" [color = magenta];
"139781034971840" -> "139781131266816" [color = magenta];
"139781034971840" -> "139781034972896" [color = magenta];
"139781034971840" -> "139781034972368" [color = magenta];
"139781034971840" -> "139781034973072" [color = magenta];
"139781034971840" -> "139781131267872" [color = magenta];
"139781034972016" [label = "mes-boot@0.22", shape = box, fontname = Helvetica];
"139781034972016" -> "139781034972192" [color = cyan3];
"139781034972016" -> "139781131266816" [color = cyan3];
"139781034972016" -> "139781034972896" [color = cyan3];
"139781034972016" -> "139781034972368" [color = cyan3];
"139781034972016" -> "139781034973072" [color = cyan3];
"139781034972016" -> "139781131267872" [color = cyan3];
"139781034972192" [label = "bootstrap-mes-rewired@0.19", shape = ellipse, fontname = Helvetica];
"139781034972192" -> "139781131266640" [color = darkseagreen];
"139781034972192" -> "139781034972896" [color = darkseagreen];
"139781131266640" [label = "bootstrap-mes@0", shape = ellipse, fontname = Helvetica];
"139781034972896" [label = "gash-boot@0.2.0", shape = box, fontname = Helvetica];
"139781034972896" -> "139781034973072" [color = darkviolet];
"139781034972896" -> "139781131267872" [color = darkviolet];
"139781034973072" [label = "bootar@1", shape = box, fontname = Helvetica];
"139781034973072" -> "139781131267872" [color = darkviolet];
"139781131267872" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = Helvetica];
"139781131266816" [label = "bootstrap-mescc-tools@0.5.2", shape = ellipse, fontname = Helvetica];
"139781034972368" [label = "gash-utils-boot@0.1.0", shape = box, fontname = Helvetica];
"139781034972368" -> "139781034973072" [color = darkseagreen];
"139781034972368" -> "139781034972896" [color = darkseagreen];
"139781034972368" -> "139781131267872" [color = darkseagreen];
"139781034971312" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = Helvetica];
"139781034971312" -> "139781034971488" [color = cyan3];
"139781034971312" -> "139781034971840" [color = cyan3];
"139781034971312" -> "139781034972896" [color = cyan3];
"139781034971312" -> "139781034972368" [color = cyan3];
"139781034971312" -> "139781034973072" [color = cyan3];
"139781034971312" -> "139781131267872" [color = cyan3];
"139781154520160" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"139781154520160" -> "139781034971488" [color = red];
"139781154520160" -> "139781034971840" [color = red];
"139781154520160" -> "139781034972896" [color = red];
"139781154520160" -> "139781034972368" [color = red];
"139781154520160" -> "139781034973072" [color = red];
"139781154520160" -> "139781131267872" [color = red];
"139781034971664" [label = "gzip-mesboot@1.2.4", shape = box, fontname = Helvetica];
"139781034971664" -> "139781034971840" [color = red];
"139781034971664" -> "139781034972896" [color = red];
"139781034971664" -> "139781034972368" [color = red];
"139781034971664" -> "139781034973072" [color = red];
"139781034971664" -> "139781131267872" [color = red];
"139781154519984" [label = "patch-mesboot@2.5.9", shape = box, fontname = Helvetica];
"139781154519984" -> "139781034971488" [color = blue];
"139781154519984" -> "139781034971840" [color = blue];
"139781154519984" -> "139781034972896" [color = blue];
"139781154519984" -> "139781034972368" [color = blue];
"139781154519984" -> "139781034973072" [color = blue];
"139781154519984" -> "139781131267872" [color = blue];
"139781154519808" [label = "sed-mesboot0@1.18", shape = box, fontname = Helvetica];
"139781154519808" -> "139781034971488" [color = red];
"139781154519808" -> "139781034971840" [color = red];
"139781154519808" -> "139781034972896" [color = red];
"139781154519808" -> "139781034972368" [color = red];
"139781154519808" -> "139781034973072" [color = red];
"139781154519808" -> "139781131267872" [color = red];
"139781154520512" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"139781154520512" -> "139781034971312" [color = darkviolet];
"139781154520512" -> "139781034971488" [color = darkviolet];
"139781154520512" -> "139781034971840" [color = darkviolet];
"139781154520512" -> "139781034972896" [color = darkviolet];
"139781154520512" -> "139781034972368" [color = darkviolet];
"139781154520512" -> "139781034973072" [color = darkviolet];
"139781154520512" -> "139781131267872" [color = darkviolet];
"139803511371136" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = sans];
"139803511371136" -> "139803511371312" [color = red];
"139803511371136" -> "139803511372016" [color = red];
"139803511371136" -> "139803511371488" [color = red];
"139803511371136" -> "139803511371664" [color = red];
"139803511371136" -> "139803511371840" [color = red];
"139803511371136" -> "139803507105792" [color = red];
"139803511371136" -> "139803511373600" [color = red];
"139803511371136" -> "139803507105968" [color = red];
"139803511371136" -> "139803749199472" [color = red];
"139803511371312" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = sans];
"139803511371312" -> "139803511372016" [color = dimgrey];
"139803511371312" -> "139803511371488" [color = dimgrey];
"139803511371312" -> "139803511371664" [color = dimgrey];
"139803511371312" -> "139803511371840" [color = dimgrey];
"139803511371312" -> "139803507105792" [color = dimgrey];
"139803511371312" -> "139803511373600" [color = dimgrey];
"139803511371312" -> "139803507105968" [color = dimgrey];
"139803511371312" -> "139803749199472" [color = dimgrey];
"139803511372016" [label = "gzip-mesboot@1.2.4", shape = box, fontname = sans];
"139803511372016" -> "139803511372192" [color = magenta];
"139803511372016" -> "139803507105792" [color = magenta];
"139803511372016" -> "139803511373600" [color = magenta];
"139803511372016" -> "139803507105968" [color = magenta];
"139803511372016" -> "139803749199472" [color = magenta];
"139803511372192" [label = "tcc-boot0@0.9.26-1136-g5bba73cc", shape = box, fontname = sans];
"139803511372192" -> "139803511372368" [color = magenta];
"139803511372192" -> "139803511372544" [color = magenta];
"139803511372192" -> "139803507105792" [color = magenta];
"139803511372192" -> "139803511373600" [color = magenta];
"139803511372192" -> "139803507105968" [color = magenta];
"139803511372192" -> "139803749199472" [color = magenta];
"139803511372368" [label = "mes-boot@0.24", shape = box, fontname = sans];
"139803511372368" -> "139803511372544" [color = darkviolet];
"139803511372368" -> "139803507105792" [color = darkviolet];
"139803511372368" -> "139803511373600" [color = darkviolet];
"139803511372368" -> "139803507105968" [color = darkviolet];
"139803511372368" -> "139803749199472" [color = darkviolet];
"139803511372544" [label = "stage0-posix@1.4", shape = box, fontname = sans];
"139803511372544" -> "139803511373072" [color = peachpuff4];
"139803511372544" -> "139803507105792" [color = peachpuff4];
"139803511372544" -> "139803511373600" [color = peachpuff4];
"139803511372544" -> "139803507105968" [color = peachpuff4];
"139803511372544" -> "139803749199472" [color = peachpuff4];
"139803511373072" [label = "bootstrap-seeds@1.0.0", shape = ellipse, fontname = sans];
"139803511373072" -> "139803507105968" [color = cyan3];
"139803507105968" [label = "bootar@1b", shape = box, fontname = sans];
"139803507105968" -> "139803749199472" [color = dimgrey];
"139803749199472" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = sans];
"139803507105792" [label = "gash-boot@0.3.0", shape = box, fontname = sans];
"139803507105792" -> "139803507105968" [color = darkviolet];
"139803507105792" -> "139803749199472" [color = darkviolet];
"139803511373600" [label = "gash-utils-boot@0.2.0", shape = box, fontname = sans];
"139803511373600" -> "139803507105968" [color = red];
"139803511373600" -> "139803507105792" [color = red];
"139803511373600" -> "139803749199472" [color = red];
"139803511371488" [label = "patch-mesboot@2.5.9", shape = box, fontname = sans];
"139803511371488" -> "139803511371840" [color = darkseagreen];
"139803511371488" -> "139803511372192" [color = darkseagreen];
"139803511371488" -> "139803507105792" [color = darkseagreen];
"139803511371488" -> "139803511373600" [color = darkseagreen];
"139803511371488" -> "139803507105968" [color = darkseagreen];
"139803511371488" -> "139803749199472" [color = darkseagreen];
"139803511371840" [label = "make-mesboot0@3.80", shape = box, fontname = sans];
"139803511371840" -> "139803511372192" [color = blue];
"139803511371840" -> "139803507105792" [color = blue];
"139803511371840" -> "139803511373600" [color = blue];
"139803511371840" -> "139803507105968" [color = blue];
"139803511371840" -> "139803749199472" [color = blue];
"139803511371664" [label = "tcc-boot@0.9.27", shape = box, fontname = sans];
"139803511371664" -> "139803511371840" [color = peachpuff4];
"139803511371664" -> "139803511372192" [color = peachpuff4];
"139803511371664" -> "139803507105792" [color = peachpuff4];
"139803511371664" -> "139803511373600" [color = peachpuff4];
"139803511371664" -> "139803507105968" [color = peachpuff4];
"139803511371664" -> "139803749199472" [color = peachpuff4];
}
+1 -3
View File
@@ -11,7 +11,7 @@
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -1089,7 +1089,6 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-asan-missing-include.patch \
%D%/packages/patches/gcc-boot-2.95.3.patch \
%D%/packages/patches/gcc-boot-2.95.3-arm.patch \
%D%/packages/patches/gcc-boot-4.6.4.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-cross-gxx-include-dir.patch \
@@ -1158,7 +1157,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
%D%/packages/patches/glibc-boot-2.16.0.patch \
%D%/packages/patches/glibc-boot-2.2.5.patch \
%D%/packages/patches/glibc-bootstrap-arm-2.2.5.patch \
%D%/packages/patches/glibc-bootstrap-system-2.2.5.patch \
%D%/packages/patches/glibc-bootstrap-system-2.16.0.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
+14 -43
View File
@@ -661,23 +661,12 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cute string-append <>
(match system
((or "armhf-linux" "aarch64-linux")
(string-append
"/armhf-linux/20201219/"
"linux-libre-headers-stripped-5.4.20-armhf-linux.tar.xz"))
((or "i686-linux" "x86_64-linux")
(string-append
"/i686-linux/20190815/"
"linux-libre-headers-stripped-4.14.67-i686-linux.tar.xz"))))
"/i686-linux/20190815/"
"linux-libre-headers-stripped-4.14.67-i686-linux.tar.xz")
%bootstrap-base-urls))
(sha256
(base32
(match system
((or "armhf-linux" "aarch64-linux")
"0d010sp3n2q6cc3ppcgrxrdlgkgr3vlv3x76wz14gc3xfhnnm2x5")
((or "i686-linux" "x86_64-linux")
"0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s"))))))
"0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s"))))
#f ; no program to test
"Bootstrap linux-libre-headers"))
@@ -979,25 +968,17 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(origin
(method url-fetch)
(uri (map
(cut string-append <> (%current-system) "/"
(match (%current-system)
((or "armhf-linux" "aarch64-linux")
"20221016/mescc-tools-static-stripped-1.4.0-armhf-linux.tar.xz")
((or "i686-linux" "x86_64-linux")
"20190815/mescc-tools-static-stripped-0.5.2-i686-linux.tar.xz")))
(cute string-append <>
"/i686-linux/20190815/"
"mescc-tools-static-stripped-0.5.2-i686-linux.tar.xz")
%bootstrap-base-urls))
(sha256
(base32
(match (%current-system)
((or "armhf-linux" "aarch64-linux")
"0ldpxi17c6bgxi8sp84k0f49q0s4xn2nbg89qav594slhq3px9lv")
((or "i686-linux" "x86_64-linux")
"0c3kklgghzh4q2dbpl6asb74cimp7hp6jscdwqwmzxbapgcl6582")))))))))
"0c3kklgghzh4q2dbpl6asb74cimp7hp6jscdwqwmzxbapgcl6582")))))))
(synopsis "Bootstrap binaries of MesCC Tools")
(description synopsis)
(home-page #f)
(supported-systems '("armhf-linux" "aarch64-linux"
"i686-linux" "x86_64-linux"))
(supported-systems '("i686-linux" "x86_64-linux"))
(license gpl3+)))
(define %bootstrap-mes
@@ -1036,22 +1017,14 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(origin
(method url-fetch)
(uri (map
(cute string-append <> (%current-system) "/"
(match (%current-system)
((or "armhf-linux" "aarch64-linux")
"20201217/mes-minimal-stripped-0.22-115-gdacaed9fe-armhf-linux.tar.xz")
((or "i686-linux" "x86_64-linux")
"20190815/mes-minimal-stripped-0.19-i686-linux.tar.xz")))
(cute string-append <>
"/i686-linux/20190815/"
"mes-minimal-stripped-0.19-i686-linux.tar.xz")
%bootstrap-base-urls))
(sha256
(base32
(match (%current-system)
((or "armhf-linux" "aarch64-linux")
"0daz658r9psmqxjkayvr8ymql6h4gf11gwdd4k3mdv7czc5ak399")
((or "i686-linux" "x86_64-linux")
"1q4xjpx6nbn44kxnilpgl12bhpmwy2bblzwszc2ci7xkf400jcpv")))))))))
(supported-systems '("armhf-linux" "aarch64-linux"
"i686-linux" "x86_64-linux"))
"1q4xjpx6nbn44kxnilpgl12bhpmwy2bblzwszc2ci7xkf400jcpv")))))))
(supported-systems '("i686-linux" "x86_64-linux"))
(synopsis "Bootstrap binaries of Mes")
(description synopsis)
(home-page #f)
@@ -1062,9 +1035,7 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
;; own packages.
(match (%current-system)
((or "i686-linux" "x86_64-linux")
`(("linux-libre-headers" ,%bootstrap-linux-libre-headers)
("bootstrap-mescc-tools" ,%bootstrap-mescc-tools)
("mes" ,%bootstrap-mes)))
`(("linux-libre-headers" ,%bootstrap-linux-libre-headers)))
(_
`(("libc" ,%bootstrap-glibc)
("gcc" ,%bootstrap-gcc)
File diff suppressed because it is too large Load Diff
+3 -8
View File
@@ -598,13 +598,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(inherit mescc-tools)
(name "mescc-tools-static")
(arguments
`(#:system ,(match (%current-system)
((or "i686-linux" "x86_64-linux") "i686-linux")
((or "armhf-linux" "aarch64-linux") "armhf-linux"))
`(#:system "i686-linux"
,@(substitute-keyword-arguments (package-arguments mescc-tools)
((#:make-flags flags)
'(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc -static")))))))
`(cons "CC=gcc -static" ,flags)))))))
;; ... next remove store references.
(define %mescc-tools-static-stripped
@@ -639,9 +636,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(name "mes-minimal")
(native-inputs (list guile-3.0))
(arguments
`(#:system ,(match (%current-system)
((or "i686-linux" "x86_64-linux") "i686-linux")
((or "armhf-linux" "aarch64-linux") "armhf-linux"))
`(#:system "i686-linux"
#:strip-binaries? #f
#:configure-flags '("--mes")
#:phases
+3 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
@@ -167,14 +167,14 @@ parsers to allow execution with Guile as extension languages.")))
(define-public mes
(package
(name "mes")
(version "0.23.1")
(version "0.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
"0hbnqgjiajs8wq03dkvr9aswrzk8kl98dm6245xhlgqis8d2yhqd"))))
"0mnryfkl0dwbr5gxp16j5s95gw7z1vm1fqa1pxabp0aiar1hw53s"))))
(supported-systems '("armhf-linux" "i686-linux" "x86_64-linux"))
(propagated-inputs (list mescc-tools nyacc-1.00.2))
(native-inputs
@@ -1,31 +0,0 @@
This patch enables building gcc-2.95.3 on armhf-linux using TCC and
Mes C Library.
* Add include/asm/unist.h linux header.
* Disable libgcc2.c float and long long functions.
Upstream status: Not presented upstream.
--- gcc-2.95.3/include/asm/unistd.h.orig 1970-01-01 01:00:00.000000000 +0100
+++ gcc-2.95.3/include/asm/unistd.h 2020-12-23 07:49:44.156673879 +0100
@@ -0,0 +1,9 @@
+#ifndef __ASM_UNISTD_H
+#define __ASM_UNISTD_H
+
+#if __arm__
+#define __NR_getpid 0x14
+#define __NR_kill 0x25
+#endif
+
+#endif // __ASM_UNISTD_H
--- gcc-2.95.3/gcc/Makefile.in.orig 2020-12-23 08:31:57.733501802 +0100
+++ gcc-2.95.3/gcc/Makefile.in 2020-12-23 08:31:49.985371208 +0100
@@ -1260,7 +1260,7 @@
-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
(cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
- rm -rf libgcc2.a tmpcopy
+ rm -rf tmpcopy
if $(RANLIB_TEST_FOR_TARGET) ; then \
$(RANLIB_FOR_TARGET) tmplibgcc.a; \
else true; fi
File diff suppressed because it is too large Load Diff