[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
11/25: gnu: racket: Move Chez bootfiles to (gnu packages chez).
From: |
guix-commits |
Subject: |
11/25: gnu: racket: Move Chez bootfiles to (gnu packages chez). |
Date: |
Fri, 4 Mar 2022 17:54:14 -0500 (EST) |
lilyp pushed a commit to branch master
in repository guix.
commit df00c01d94f62b5d2f3af7f82cd705d5caf97104
Author: Philip McGrath <philip@philipmcgrath.com>
AuthorDate: Sun Feb 27 16:29:07 2022 -0500
gnu: racket: Move Chez bootfiles to (gnu packages chez).
* gnu/packages/racket.scm (chez-scheme-for-racket-bootstrap-bootfiles):
Move to ...
* gnu/packages/chez.scm (chez-scheme-for-racket-bootstrap-bootfiles):
... this new variable.
[source]: Avoid problematic cycle with "racket.scm".
[arguments]<#:phases>: Likewise.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
---
gnu/packages/chez.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
gnu/packages/racket.scm | 52 -----------------------------------------
2 files changed, 62 insertions(+), 52 deletions(-)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 47904e7b4e..046bb3dcdc 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -31,12 +31,14 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix gexp)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages linux)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages racket)
#:use-module (gnu packages tex)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
@@ -260,6 +262,66 @@ generates native code for each target processor, with
support for x86, x86_64,
and 32-bit PowerPC architectures.")
(license asl2.0)))
+(define-public chez-scheme-for-racket-bootstrap-bootfiles
+ (package
+ (name "chez-scheme-for-racket-bootstrap-bootfiles")
+ (version "9.5.7.3")
+ ;; The version should match `(scheme-fork-version-number)`.
+ ;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
+ ;; It will always be different than the upstream version!
+ ;; When updating, remember to also update %racket-version in racket.scm.
+ (source #f) ; avoid problematic cycle with racket.scm
+ (inputs `())
+ (native-inputs (list racket-vm-bc))
+ (build-system copy-build-system)
+ ;; TODO: cross compilation
+ (arguments
+ (list
+ #:install-plan
+ #~`(("boot/" "lib/chez-scheme-bootfiles"))
+ #:phases
+ #~(let ((unpack (assoc-ref %standard-phases 'unpack)))
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda args
+ (unpack #:source #$(or (package-source this-package)
+ (package-source racket-vm-bc)))))
+ (add-after 'unpack 'chdir
+ (lambda args
+ (chdir "racket/src/ChezScheme")))
+ (add-after 'chdir 'unpack-nanopass+stex
+ (lambda args
+ (copy-recursively
+ #$nanopass
+ "nanopass"
+ #:keep-mtime? #t)))
+ (add-before 'install 'build
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (invoke (search-input-file (or native-inputs inputs)
+ "/opt/racket-vm/bin/racket")
+ "rktboot/main.rkt")))))))
+ (home-page "https://github.com/racket/ChezScheme")
+ ;; ^ This is downstream of https://github.com/racket/racket,
+ ;; but it's designed to be a friendly landing place for people
+ ;; who want a ChezScheme-shaped repositroy.
+ (synopsis "Chez Scheme bootfiles bootstrapped by Racket")
+ (description "Chez Scheme is a self-hosting compiler: building it
+requires ``bootfiles'' containing the Scheme-implemented portions compiled for
+the current platform. (Chez can then cross-compile bootfiles for all other
+supported platforms.)
+
+The Racket package @code{cs-bootstrap} (part of the main Racket Git
+repository) implements enough of a Chez Scheme simulation to load the Chez
+Scheme compiler purely from source into Racket and apply the compiler to
+itself, thus bootstrapping Chez Scheme. Bootstrapping takes about 10 times as
+long as using an existing Chez Scheme, but @code{cs-bootstrap} supports Racket
+7.1 and later, including the Racket BC variant.
+
+Note that the generated bootfiles are specific to Racket's fork of Chez
+Scheme, and @code{cs-bootstrap} does not currently support building upstream
+Chez Scheme.")
+ (license (list asl2.0))))
+
(define-public chez-srfi
(package
(name "chez-srfi")
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index c3eabff604..ae6997c646 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -415,58 +415,6 @@ Using the Racket VM packages directly is not recommended:
instead, install the
;; The LGPL components are only used by Racket BC.
(license (list license:asl2.0 license:expat))))
-(define-public chez-scheme-for-racket-bootstrap-bootfiles
- (package
- (name "chez-scheme-for-racket-bootstrap-bootfiles")
- (version "9.5.7.3")
- ;; The version should match `(scheme-fork-version-number)`.
- ;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
- ;; It will always be different than the upstream version!
- ;; When updating, remember to also update %racket-version in racket.scm.
- (source %racket-origin)
- (inputs `())
- (native-inputs (list racket-vm-bc))
- (build-system copy-build-system)
- ;; TODO: cross compilation
- (arguments
- (list
- #:install-plan
- #~`(("boot/" "lib/chez-scheme-bootfiles"))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda args
- (chdir "racket/src/ChezScheme")))
- (add-after 'chdir 'unpack-nanopass+stex
- (lambda args
- #$(make-unpack-nanopass+stex)))
- (add-before 'install 'build
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (invoke (search-input-file (or native-inputs inputs)
- "/opt/racket-vm/bin/racket")
- "rktboot/main.rkt"))))))
- (home-page "https://github.com/racket/ChezScheme")
- ;; ^ This is downstream of https://github.com/racket/racket,
- ;; but it's designed to be a friendly landing place for people
- ;; who want a ChezScheme-shaped repositroy.
- (synopsis "Chez Scheme bootfiles bootstrapped by Racket")
- (description "Chez Scheme is a self-hosting compiler: building it
-requires ``bootfiles'' containing the Scheme-implemented portions compiled for
-the current platform. (Chez can then cross-compile bootfiles for all other
-supported platforms.)
-
-The Racket package @code{cs-bootstrap} (part of the main Racket Git
-repository) implements enough of a Chez Scheme simulation to load the Chez
-Scheme compiler purely from source into Racket and apply the compiler to
-itself, thus bootstrapping Chez Scheme. Bootstrapping takes about 10 times as
-long as using an existing Chez Scheme, but @code{cs-bootstrap} supports Racket
-7.1 and later, including the Racket BC variant.
-
-Note that the generated bootfiles are specific to Racket's fork of Chez
-Scheme, and @code{cs-bootstrap} does not currently support building upstream
-Chez Scheme.")
- (license (list license:asl2.0))))
-
(define (racket-packages-origin name origin specs)
"Extract from ORIGIN the sources for the Racket packages specified by SPECS,
a non-empty list of package specifications. In the resulting file-like
- branch master updated (b5f654b238 -> 97065f9fe3), guix-commits, 2022/03/04
- 03/25: gnu: racket: Use Git origins for Racket packages., guix-commits, 2022/03/04
- 05/25: gnu: racket-minimal: Don't configure non-existant catalogs., guix-commits, 2022/03/04
- 07/25: gnu: racket-minimal: Adjust indentation., guix-commits, 2022/03/04
- 08/25: gnu: racket-minimal: Add "debug" output., guix-commits, 2022/03/04
- 25/25: gnu: komikku: Update to 0.37.0., guix-commits, 2022/03/04
- 14/25: gnu: chez-scheme: Use new style for Chez packages., guix-commits, 2022/03/04
- 11/25: gnu: racket: Move Chez bootfiles to (gnu packages chez).,
guix-commits <=
- 13/25: gnu: racket: Add 'racket-vm-for-system'., guix-commits, 2022/03/04
- 12/25: gnu: chez: Add utilities for Chez machine types., guix-commits, 2022/03/04
- 15/25: gnu: chez-scheme: Use "lib/chez-scheme" for search path., guix-commits, 2022/03/04
- 09/25: gnu: configure-layer.rkt: Adjust indentation., guix-commits, 2022/03/04
- 16/25: gnu: chez-scheme: Use shared zlib and lz4., guix-commits, 2022/03/04
- 23/25: gnu: chez: Add 'chez-scheme-for-system'., guix-commits, 2022/03/04
- 19/25: gnu: Add chez-nanopass., guix-commits, 2022/03/04
- 04/25: gnu: racket-minimal: Use new package style., guix-commits, 2022/03/04
- 06/25: gnu: racket-minimal: Change inheritance to follow bootstrapping., guix-commits, 2022/03/04
- 10/25: gnu: racket-minimal: Separate from the Racket VM., guix-commits, 2022/03/04