Package: guix-patches;
Reported by: "Jan (janneke) Nieuwenhuizen" <janneke <at> gnu.org>
Date: Mon, 2 May 2022 18:22:01 UTC
Severity: important
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Jan Nieuwenhuizen <janneke <at> gnu.org> To: Ludovic Courtès <ludo <at> gnu.org> Cc: 55227 <at> debbugs.gnu.org Subject: [bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap Date: Sun, 15 May 2022 08:31:15 +0200
[Message part 1 (text/plain, inline)]
Ludovic Courtès writes: Hey > "Jan (janneke) Nieuwenhuizen" <janneke <at> 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
[0001-gnu-commencement-bootstrap-seeds-Use-new-package-sty.patch (text/x-patch, inline)]
From 02874b2a43a6255c83d67d40c88742b2a4234c27 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" <janneke <at> 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
[0002-gnu-commencement-stage0-posix-Use-new-package-style.patch (text/x-patch, inline)]
From f99f4a2257ceaf3b555e284d241d897da43b2868 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" <janneke <at> 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
[0003-gnu-commencement-mes-boot-Use-new-package-style.patch (text/x-patch, inline)]
From 89a8bd925774911f225713de6bf2e4c94319b640 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" <janneke <at> 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
[Message part 5 (text/plain, inline)]
-- Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond https://lilypond.org Freelance IT https://JoyOfSource.com | Avatar® https://AvatarAcademy.com
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.