[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53878] [PATCH v6 11/24] gnu: racket: Move Chez bootfiles to (gnu pa
From: |
Philip McGrath |
Subject: |
[bug#53878] [PATCH v6 11/24] gnu: racket: Move Chez bootfiles to (gnu packages chez). |
Date: |
Sat, 26 Feb 2022 21:34:37 -0500 |
* 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.
---
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 @@ (define-module (gnu packages chez)
#: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 @@ (define* (stex-make #:optional (suffix ""))
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 3271e78d45..59944031e6 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -445,58 +445,6 @@ (define-public racket-vm-cs
;; 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 spec0 . spec*)
"Extract from ORIGIN the sources for the Racket packages specified by SPEC0
and any additional arguments SPEC*. In the resulting file-like object, each
--
2.32.0
- [bug#53878] [PATCH v6 01/24] gnu: Use license prefix in (gnu packages racket)., (continued)
- [bug#53878] [PATCH v6 04/24] gnu: racket-minimal: Use new package style., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 05/24] gnu: racket-minimal: Don't configure non-existant catalogs., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 06/24] gnu: racket-minimal: Change inheritance to follow bootstrapping., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 08/24] gnu: racket-minimal: Add "debug" output., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 07/24] gnu: racket-minimal: Adjust indentation., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 09/24] gnu: configure-layer.rkt: Adjust indentation., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 10/24] gnu: racket-minimal: Separate from the Racket VM., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 11/24] gnu: racket: Move Chez bootfiles to (gnu packages chez).,
Philip McGrath <=
- [bug#53878] [PATCH v6 12/24] gnu: chez: Add utilities for Chez machine types., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 13/24] gnu: racket: Add 'racket-vm-for-system'., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 15/24] gnu: chez-scheme: Use "lib/chez-scheme" for search path., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 15/24] gnu: chez-scheme: Use "lib/chez-scheme" for search path., Liliana Marie Prikler, 2022/02/27
- [bug#53878] [PATCH v6 14/24] gnu: chez-scheme: Use new style for Chez packages., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 16/24] gnu: chez-scheme: Use shared zlib and lz4., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 17/24] gnu: chez-scheme: Use new package style., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 20/24] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 21/24] gnu: chez-mit: Support chez-scheme-for-racket., Philip McGrath, 2022/02/26
- [bug#53878] [PATCH v6 18/24] gnu: Add stex., Philip McGrath, 2022/02/26