From patchwork Sun May 15 06:31:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Janneke Nieuwenhuizen X-Patchwork-Id: 39373 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6855827BBEA; Sun, 15 May 2022 07:32:19 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A741727BBE9 for ; Sun, 15 May 2022 07:32:18 +0100 (BST) Received: from localhost ([::1]:36040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nq7nc-0005eR-7b for patchwork@mira.cbaines.net; Sun, 15 May 2022 02:32:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nq7nO-0005bT-Br for guix-patches@gnu.org; Sun, 15 May 2022 02:32:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54517) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nq7nO-0005jP-2n for guix-patches@gnu.org; Sun, 15 May 2022 02:32:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nq7nN-0006U1-UV for guix-patches@gnu.org; Sun, 15 May 2022 02:32:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap Resent-From: Jan Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 15 May 2022 06:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55227 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?utf-8?q?Court=C3=A8s?= Cc: 55227@debbugs.gnu.org Received: via spool by 55227-submit@debbugs.gnu.org id=B55227.165259629524888 (code B ref 55227); Sun, 15 May 2022 06:32:01 +0000 Received: (at 55227) by debbugs.gnu.org; 15 May 2022 06:31:35 +0000 Received: from localhost ([127.0.0.1]:48414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nq7mq-0006TF-NM for submit@debbugs.gnu.org; Sun, 15 May 2022 02:31:35 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nq7mp-0006T3-1m for 55227@debbugs.gnu.org; Sun, 15 May 2022 02:31:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43514) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nq7mi-0005c1-QD; Sun, 15 May 2022 02:31:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=IjO/tKAPt2P6SwZqgZTlRSDL7CLXO/qHxLN2I5FTeB0=; b=NVJMBezbFEw121tMuyNN H+cSB/Qsaq+u/PnzRwGp3mBwyYYbLcYajiNzxOPU/xHvf55eIyodeRsRckqgDi6ChVmq/8Z6+plga 6Ko+GbsJl8I0cGFoIayqLWVBynuwxcazSsVuj02amSZgnh5zHv1hkzGPMdFZzB95tfmsbasbS38Zh u9tNj9OXklOc+wrNnhGS1EaR3ZBGtFE/1xdLtkJNiJGQ6rzxIpiWjKLHfUk9HA499EXbIo1MZLJBx l4iCZSAfZW0jjlLrtdKcDaNsDbEWC5vehHRfm9XcZpFP+hWHwd7J6PeWqjIpG73KHz04emXn0cGiO M2fMN96FHiO1gQ==; Received: from 2a02-a462-da03-1-cf41-23bd-7156-6a6c.fixed6.kpn.net ([2a02:a462:da03:1:cf41:23bd:7156:6a6c]:52784 helo=drakenpad.janneke.lilypond.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nq7mh-00086z-19; Sun, 15 May 2022 02:31:20 -0400 From: Jan Nieuwenhuizen Organization: AvatarAcademy.nl References: <20220513153631.13052-1-janneke@gnu.org> <20220513153631.13052-2-janneke@gnu.org> <87a6bkgq9u.fsf_-_@gnu.org> X-Url: http://AvatarAcademy.nl Date: Sun, 15 May 2022 08:31:15 +0200 In-Reply-To: <87a6bkgq9u.fsf_-_@gnu.org> ("Ludovic =?utf-8?q?Court=C3=A8s?= "'s message of "Sat, 14 May 2022 16:09:01 +0200") Message-ID: <87tu9rqpcc.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Ludovic Courtès writes: Hey > "Jan (janneke) Nieuwenhuizen" 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 89a8bd925774911f225713de6bf2e4c94319b640 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" 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