[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53878] [PATCH v2 00/15] Update Racket to 8.4. Adjust Chez Scheme pa
From: |
Philip McGrath |
Subject: |
[bug#53878] [PATCH v2 00/15] Update Racket to 8.4. Adjust Chez Scheme packages. |
Date: |
Thu, 17 Feb 2022 15:50:33 -0500 |
Hi,
Here is a v2!
Liliana, I tried using a function to generate the bootfile packages as you
suggested, but I didn't like the result---though it is very possible I still
didn't properly understand what you had in mind. I hope what I've done in this
version addresses the concerns you raised about inverted inheritance and such
anyway: if you'd like to compare the two, in the repository
at <https://gitlab.com/philip1/guix-patches> I've tagged this series as
`guix-issue-53878-v2` and the alternate as
`guix-issue-53878-v2-bootfiles-proc`. I'll also include the diff below.
Other than that, I hope I've addressed all your comments.
> diff --git a/gnu/packages/chez-and-racket-bootstrap.scm
> b/gnu/packages/chez-and-racket-bootstrap.scm
> index 3e90a15d94..cbdddb1e98 100644
> --- a/gnu/packages/chez-and-racket-bootstrap.scm
> +++ b/gnu/packages/chez-and-racket-bootstrap.scm
> @@ -720,21 +720,18 @@ (define* (stex-make #:optional (suffix ""))
> and 32-bit PowerPC architectures.")
> (license license:asl2.0)))
>
> -(define (bootfiles-for-chez chez)
> - (package/inherit chez
> - (outputs '("out"))
> +(define-public chez-scheme-bootstrap-bootfiles
> + (package
> + (inherit chez-scheme)
> + (name "chez-scheme-bootstrap-bootfiles")
> (inputs '())
> (native-inputs '())
> + (outputs '("out"))
> (build-system copy-build-system)
> ;; TODO: cross compilation
> (arguments
> (list #:install-plan
> - #~`(("boot/" "lib/chez-scheme-bootfiles"))))))
> -
> -(define-public chez-scheme-bootstrap-bootfiles
> - (package
> - (inherit (bootfiles-for-chez chez-scheme))
> - (name "chez-scheme-bootstrap-bootfiles")
> + #~`(("boot/" "lib/chez-scheme-bootfiles"))))
> (supported-systems
> ;; Upstream only distributes pre-built bootfiles for
> ;; arm32le and t?(i3|a6)(le|nt|osx)
> @@ -822,28 +819,34 @@ (define-public chez-scheme-for-racket
> (license license:asl2.0)))
>
> (define-public chez-scheme-for-racket-bootstrap-bootfiles
> - (let ((chez (bootfiles-for-chez chez-scheme-for-racket)))
> - (package
> - (inherit (bootfiles-for-chez chez))
> - (name "chez-scheme-for-racket-bootstrap-bootfiles")
> - (native-inputs (list chez-nanopass-bootstrap racket-vm-bc))
> - (arguments
> - (substitute-keyword-arguments (package-arguments chez)
> - ((#:phases those-phases #~%standard-phases)
> - #~(modify-phases #$those-phases
> - (add-after 'unpack 'chdir
> - (lambda args
> - (chdir "racket/src/ChezScheme")))
> - (add-after 'chdir 'unpack-nanopass+stex
> - (lambda args
> - #$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")))))))
> - (synopsis "Chez Scheme bootfiles bootstrapped by Racket")
> - (description "Chez Scheme is a self-hosting compiler: building it
> + (package
> + (inherit chez-scheme-bootstrap-bootfiles)
> + (name "chez-scheme-for-racket-bootstrap-bootfiles")
> + (version (package-version chez-scheme-for-racket))
> + (source (package-source chez-scheme-for-racket))
> + (native-inputs (list chez-nanopass-bootstrap racket-vm-bc))
> + (arguments
> + (substitute-keyword-arguments
> + (package-arguments chez-scheme-bootstrap-bootfiles)
> + ((#:phases those-phases #~%standard-phases)
> + #~(modify-phases #$those-phases
> + (add-after 'unpack 'chdir
> + (lambda args
> + (chdir "racket/src/ChezScheme")))
> + (add-after 'chdir 'unpack-nanopass+stex
> + (lambda args
> + #$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.)
> @@ -857,7 +860,7 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles
>
> 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."))))
> +Chez Scheme.")))
>
> ;;
> ;; Chez's bootstrap dependencies:
-Philip
Philip McGrath (15):
gnu: chez-scheme: Move to (gnu packages chez-and-racket-bootstrap).
gnu: chez-scheme: Use "lib/chez-scheme" for search path.
gnu: chez-scheme: Use shared zlib and lz4.
gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types.
gnu: chez-scheme: Use new package style.
gnu: Add stex.
gnu: Add chez-nanopass.
gnu: chez-scheme: Explicitly package bootstrap bootfiles.
gnu: Add racket-vm-cgc.
gnu: Add racket-vm-bc.
gnu: Add chez-scheme-for-racket.
gnu: Add racket-vm-cs.
gnu: chez-mit: Support chez-scheme-for-racket.
gnu: chez-and-racket-bootstrap: Add 'chez-scheme-for-system'.
gnu: racket: Update to 8.4.
gnu/local.mk | 5 +-
gnu/packages/chez-and-racket-bootstrap.scm | 1070 ++++++++++++
gnu/packages/chez.scm | 628 +++----
gnu/packages/emacs-xyz.scm | 4 +-
gnu/packages/loko.scm | 4 +-
.../racket-enable-scheme-backport.patch | 465 +++++
...acket-gui-tethered-launcher-backport.patch | 26 +
gnu/packages/racket.scm | 1553 +++++++++++------
8 files changed, 2813 insertions(+), 942 deletions(-)
create mode 100644 gnu/packages/chez-and-racket-bootstrap.scm
create mode 100644 gnu/packages/patches/racket-enable-scheme-backport.patch
create mode 100644
gnu/packages/patches/racket-gui-tethered-launcher-backport.patch
--
2.32.0
- [bug#53878] [PATCH 05/11] gnu: Add stex., (continued)
- [bug#53878] [PATCH 06/11] gnu: Add chez-nanopass., Philip McGrath, 2022/02/13
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/13
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Liliana Marie Prikler, 2022/02/14
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/16
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Liliana Marie Prikler, 2022/02/17
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Liliana Marie Prikler, 2022/02/17
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH 07/11] gnu: chez-scheme: Explicitly package bootstrap bootfiles., Liliana Marie Prikler, 2022/02/17
- [bug#53878] [PATCH v2 00/15] Update Racket to 8.4. Adjust Chez Scheme packages.,
Philip McGrath <=
- [bug#53878] [PATCH v2 02/15] gnu: chez-scheme: Use "lib/chez-scheme" for search path., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH v2 01/15] gnu: chez-scheme: Move to (gnu packages chez-and-racket-bootstrap)., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH v2 01/15] gnu: chez-scheme: Move to (gnu packages chez-and-racket-bootstrap)., Liliana Marie Prikler, 2022/02/18
- [bug#53878] [PATCH v2 01/15] gnu: chez-scheme: Move to (gnu packages chez-and-racket-bootstrap)., Philip McGrath, 2022/02/18
- [bug#53878] [PATCH v2 04/15] gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH v2 04/15] gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types., Liliana Marie Prikler, 2022/02/18
- [bug#53878] [PATCH v2 04/15] gnu: chez-and-racket-bootstrap: Add utilities for Chez machine types., Philip McGrath, 2022/02/18
- [bug#53878] [PATCH v2 05/15] gnu: chez-scheme: Use new package style., Philip McGrath, 2022/02/17
- [bug#53878] [PATCH v2 05/15] gnu: chez-scheme: Use new package style., Liliana Marie Prikler, 2022/02/18
- [bug#53878] [PATCH v2 05/15] gnu: chez-scheme: Use new package style., Philip McGrath, 2022/02/18