[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap
From: |
Jan Nieuwenhuizen |
Subject: |
[bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap |
Date: |
Sun, 15 May 2022 08:31:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Ludovic Courtès writes:
Hey
> "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
>
>> 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.
>
> [...]
>
> We could get rid of the remaining (assoc-ref …) expressions, along the
> lines of:
>
> https://issues.guix.gnu.org/55227#12-lineno40
Ah yes. I have pushed the patches below to wip-full-source-bootstrap,
WYDT?
Is there a way yet to change things like these:
(native-inputs
`(("bootstrap-seeds" ,bootstrap-seeds)
,@(%boot-gash-inputs)))
I didn't really find an example or way to do this.
Janneke
>From 02874b2a43a6255c83d67d40c88742b2a4234c27 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Sat, 14 May 2022 21:27:55 +0200
Subject: [PATCH 1/3] gnu: commencement: bootstrap-seeds: Use new package
style.
* gnu/packages/commencement.scm (bootstrap-seeds)[arguments]: Also use gexps
for inputs and output.
---
gnu/packages/commencement.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0390c43023..ffaa5f03de 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -289,9 +289,9 @@ (define bootstrap-seeds
#:builder
#~(begin
(use-modules (guix build utils))
- (let ((source (assoc-ref %build-inputs "source"))
- (tar (assoc-ref %build-inputs "bootar"))
- (out (assoc-ref %outputs "out")))
+ (let ((source #$(package-source this-package))
+ (tar #$(this-package-native-input "bootar"))
+ (out #$output))
(setenv "PATH" (string-append tar "/bin:"))
(invoke "tar" "xvf" source)
(mkdir-p out)
--
2.35.1
>From f99f4a2257ceaf3b555e284d241d897da43b2868 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Sat, 14 May 2022 21:24:52 +0200
Subject: [PATCH 2/3] gnu: commencement: stage0-posix: Use new package style.
* gnu/packages/commencement.scm (stage0-posix)[arguments]: Also use gexps for
inputs and output.
---
gnu/packages/commencement.scm | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ffaa5f03de..0089c2607c 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -365,13 +365,14 @@ (define stage0-posix
#:builder
#~(begin
(use-modules (guix build utils))
- (let* ((bootstrap-seeds (assoc-ref %build-inputs
"bootstrap-seeds"))
- (source (assoc-ref %build-inputs "source"))
- (tar (assoc-ref %build-inputs "bootar"))
- (bash (assoc-ref %build-inputs "bash"))
- (coreutils (assoc-ref %build-inputs "coreutils"))
- (guile (assoc-ref %build-inputs "guile"))
- (out (assoc-ref %outputs "out"))
+ (let* ((bootstrap-seeds #$(this-package-native-input
+ "bootstrap-seeds"))
+ (source #$(package-source this-package))
+ (tar #$(this-package-native-input "bootar"))
+ (bash #$(this-package-native-input "bash"))
+ (coreutils #$(this-package-native-input "coreutils"))
+ (guile #$(this-package-input "guile"))
+ (out #$output)
(bindir (string-append out "/bin"))
(target (or #$(%current-target-system)
#$(%current-system)))
--
2.35.1
>From 89a8bd925774911f225713de6bf2e4c94319b640 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Sat, 14 May 2022 21:39:06 +0200
Subject: [PATCH 3/3] gnu: commencement: mes-boot: Use new package style.
* gnu/packages/commencement.scm (mes-boot)[arguments]: Use gexp for modify
phases.
---
gnu/packages/commencement.scm | 98 +++++++++++++++++------------------
1 file changed, 49 insertions(+), 49 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0089c2607c..268dfe9795 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -445,55 +445,55 @@ (define mes-boot
(snippet #f))))
,@(%boot-gash-inputs)))
(arguments
- `(#:implicit-inputs? #f
- #:tests? #f
- #:guile ,%bootstrap-guile
- #:strip-binaries? #f ;no strip yet
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'unpack-seeds
- (lambda _
- (let ((nyacc-source (assoc-ref %build-inputs "nyacc-source")))
- (with-directory-excursion ".."
- (invoke "tar" "-xvf" nyacc-source)))))
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gash (assoc-ref inputs "bash"))
- (mes (assoc-ref inputs "mes"))
- (dir (with-directory-excursion ".." (getcwd))))
- (setenv "GUILE_LOAD_PATH" (string-append
- dir "/nyacc-1.00.2/module"))
- (invoke "gash" "configure.sh"
- (string-append "--prefix=" out)
- "--host=i686-linux-gnu"))))
- (replace 'build
- (lambda _
- (invoke "gash" "bootstrap.sh")))
- (delete 'check)
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "install.sh" ; show some progress
- ((" -xf") " -xvf")
- (("^( *)((cp|mkdir|tar) [^']*[^\\])\n" all space cmd)
- (string-append space "echo '" cmd "'\n"
- space cmd "\n")))
- (invoke "gash" "install.sh")
- ;; Keep ASCII output, for friendlier comparison and bisection
- (let* ((out (assoc-ref outputs "out"))
- (cache (string-append out "/lib/cache")))
- (define (objects-in-dir dir)
- (find-files dir
- (lambda (name stat)
- (and (equal? (dirname name) dir)
- (or (string-suffix? ".M1" name)
- (string-suffix? ".hex2" name)
- (string-suffix? ".o" name)
- (string-suffix? ".s" name))))))
- (for-each (lambda (x) (install-file x cache))
- (append (objects-in-dir "m2")
- (objects-in-dir ".")
- (objects-in-dir "mescc-lib")))))))))
+ (list
+ #:implicit-inputs? #f
+ #:tests? #f
+ #:guile %bootstrap-guile
+ #:strip-binaries? #f ;no strip yet
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-seeds
+ (lambda _
+ (let ((nyacc-source #$(this-package-native-input
"nyacc-source")))
+ (with-directory-excursion ".."
+ (invoke "tar" "-xvf" nyacc-source)))))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out #$output)
+ (gash #$(this-package-native-input "bash"))
+ (dir (with-directory-excursion ".." (getcwd))))
+ (setenv "GUILE_LOAD_PATH" (string-append
+ dir "/nyacc-1.00.2/module"))
+ (invoke "gash" "configure.sh"
+ (string-append "--prefix=" out)
+ "--host=i686-linux-gnu"))))
+ (replace 'build
+ (lambda _
+ (invoke "gash" "bootstrap.sh")))
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "install.sh" ; show some progress
+ ((" -xf") " -xvf")
+ (("^( *)((cp|mkdir|tar) [^']*[^\\])\n" all space cmd)
+ (string-append space "echo '" cmd "'\n"
+ space cmd "\n")))
+ (invoke "gash" "install.sh")
+ ;; Keep ASCII output, for friendlier comparison and bisection
+ (let* ((out #$output)
+ (cache (string-append out "/lib/cache")))
+ (define (objects-in-dir dir)
+ (find-files dir
+ (lambda (name stat)
+ (and (equal? (dirname name) dir)
+ (or (string-suffix? ".M1" name)
+ (string-suffix? ".hex2" name)
+ (string-suffix? ".o" name)
+ (string-suffix? ".s" name))))))
+ (for-each (lambda (x) (install-file x cache))
+ (append (objects-in-dir "m2")
+ (objects-in-dir ".")
+ (objects-in-dir "mescc-lib")))))))))
(native-search-paths
(list (search-path-specification
(variable "C_INCLUDE_PATH")
--
2.35.1
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://lilypond.org
Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com
- [bug#55227] [PATCH core-updates v3 3/8] gnu: commencement: mes-boot: Update to 0.24, build with M2-Planet., (continued)
- [bug#55227] [PATCH core-updates v3 3/8] gnu: commencement: mes-boot: Update to 0.24, build with M2-Planet., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 6/8] gnu: bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 7/8] gnu: commencement: Remove %bootstrap-mes-rewired., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 8/8] doc: Add the "Full-source Bootstrap"., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 5/8] gnu: commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 4/8] gnu: commencement: tcc-boot0: Use nyacc-1.00.2., Jan (janneke) Nieuwenhuizen, 2022/05/13
- [bug#55227] [PATCH core-updates v3 2/8] gnu: commencement: Add stage0-posix., Jan (janneke) Nieuwenhuizen, 2022/05/13
[bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap, Ludovic Courtès, 2022/05/14
[bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap, Maxim Cournoyer, 2022/05/16