3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00
Commit graph

21 commits

Author SHA1 Message Date
Philip McGrath
9f8f785014
gnu: racket-minimal: Don't configure non-existant catalogs.
* gnu/packages/racket.scm (racket-minimal)[arguments]<#:phases>: Change
'initialize-config.rktd' to only add a release catalog when the package
version is a release version.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:55 +01:00
Philip McGrath
9e5e413c81
gnu: racket-minimal: Use new package style.
* gnu/packages/racket.scm (cfg-flag:sh-for-rktio, cfg-flag:enable-lt)
(cfg-flag:enable-racket): Change to G-expressions and combine in ...
(racket-vm-common-configure-flags): ... this new thunk.
(unpack-nanopass+stex): Change to G-expression and move to ...
(make-unpack-nanopass+stex): ... this new thunk.
(racket-bootstrap-chez-bootfiles): Rename to ...
(chez-scheme-for-racket-bootstrap-bootfiles): ... this new variable, and
stop inheriting from 'racket-minimal'.
[native-inputs]: Remove labels.
[build-system]: Use 'copy-build-system'.
[arguments]: Use G-expressions. Install under "lib".
(racket-minimal)[inputs, native-inputs]: Remove labels.
[arguments]: Use G-expressions. Avoid 'assoc-ref'. Adapt to changes in
'chez-scheme-for-racket-bootstrap-bootfiles'.
(racket-minimal-bc-3m)[native-inputs]: Remove labels.
[arguments]: Use G-expressions.
(racket-minimal-bc-cgc)[native-inputs]: Remove labels.
[arguments]: Use G-expressions.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:42 +01:00
Philip McGrath
81e532ff19
gnu: racket: Use Git origins for Racket packages.
* gnu/packages/patches/racket-gui-tethered-launcher-backport.patch:
Adjust path.
* gnu/packages/racket.scm (racket-packages-origin)
(simple-racket-origin): New procedures.
(extend-layer): Rename to ...
(configure-layer.rkt): ... this variable.  Tweak command-line arguments.
Adapt to 'config-tethered-apps-dir'.
(racket): Stop inheriting from 'racket-minimal'.
[version]: Use '%racket-version'.
[source]: Stop using bundled tarball.
[inputs]: Remove labels. Add 'racket-minimal' and package sources.
[native-inputs]: Reduce to racket-minimal.
Untested, as cross-compilation doesn't work yet.
[arguments]: Rewrite to use G-expressions, package sources from
'inputs', an explicit 'install' phase, and the revised
'configure-layer.rkt'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:24 +01:00
Philip McGrath
56cf53fb7b
gnu: racket: Update to 8.4.
* gnu/packages/patches/racket-enable-scheme-backport.patch,
gnu/packages/patches/racket-gui-tethered-launcher-backport.patch: New
patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-version, %racket-commit)
(%racket-origin): New variables.
[patches]: Add "racket-enable-scheme-backport.patch".
(racket-minimal): Update to 8.4.
[version]: Use '%racket-version'.
[source]: Use '%racket-origin'.
[inputs]: Add 'ncurses'. Remove 'zlib:static' and 'lz4:static'.
(racket-minimal-bc-3m)[inputs]: Adjust accordingly.
(racket-bootstrap-chez-bootfiles)[version]: Use Chez Scheme's
'(scheme-fork-version-number)'.
(racket)[version]: Use '%racket-version'.
[native-inputs]: Use '%racket-origin'.
[source]: Update to 8.4.
<patches>: Use "racket-gui-tethered-launcher-backport.patch".
<snippet>: Remove "srfi-doc-nonfree".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:36:58 +01:00
Philip McGrath
0ff69fa1dd
gnu: Use license prefix in (gnu packages racket).
* gnu/packages/racket.scm (racket-minimal, racket-minimal-bc-3m)
(racket-bootstrap-chez-bootfiles): Use license prefix.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:36:48 +01:00
Ludovic Courtès
8394619bac
gnu: Simplify package inputs.
This commit was obtained by running:

  ./pre-inst-env guix style

without any additional argument.
2021-12-13 17:48:25 +01:00
Arun Isaac
c47a45ca7e
gnu: racket: Remove article from the beginning of the synopsis.
* gnu/packages/racket.scm (racket)[synopsis]: Remove article from the
beginning.
2021-11-25 00:07:10 +05:30
6de284e832
gnu: racket: Update to 8.3.
* gnu/packages/racket.scm (racket-minimal, racket): Update to 8.3.
* gnu/packages/racket.scm (racket-minimal)[source]: Remove
racket-minimal-backport-1629887.patch from patches.
* gnu/packages/patches/racket-minimal-backport-1629887.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister it.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-11-24 23:59:37 +05:30
Philip McGrath
87da416308
gnu: racket: suppress build stamp
The `build-stamp` configuration key should generally be set to an empty
string for a release build. The automatically inferred build stamp is
especially unhelpful with Guix, since it ends up being the Unix epoch.

* gnu/packages/racket.scm (racket-minimal)[arguments]: Adjust the
'initialize-config.rktd phase to set 'build-stamp to "".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-10 17:30:55 +02:00
Philip McGrath
fd22921490
gnu: racket: fix raco exe with non-minimal Racket
This commit backports an upstream repair for a bug exposed by Guix's
change in Racket 8.2 to make the `racket` package a layered/tethered
installation that chains to the `racket-minimal` package. When using a
layered/tethered installation, the `setup/variant` library would fail to
recognize the default Racet variant (CS, 3M, or CGC), leading to
confusing failures from `raco exe`, `create-embedding-executable`, and
other clients.

For further details, see <https://issues.guix.gnu.org/50118> and
<https://github.com/racket/racket/issues/3969>.

* gnu/packages/patches/racket-minimal-backport-1629887.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/racket.scm (racket-minimal)[source]: Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-10 17:30:55 +02:00
Ludovic Courtès
96db2ff145
gnu: racket-minimal: Remove top-level reference to 'chez-scheme'.
This could cause build errors; for instance, doing:

  make && touch gnu/packages/chez.scm && make

would trigger a "chez-scheme: unbound variable" error.

* gnu/packages/racket.scm (racket-minimal)[source]: Add 'modules'
field.  In 'snippet', remove top-level reference to CHEZ-SCHEME, which
could cause build errors.  Simplify snippet.
2021-09-07 15:59:34 +02:00
Philip McGrath
db2c7e70ad
gnu: racket-minimal: Bootstrap from C.
This commit bootstraps the Racket compiler and runtime system from source,
including Racket CS as well as both variants of Racket BC. (One remaining
limitation is discussed in comments added to gnu/packages/racket.scm.)

In the process, it moves to building minimal Racket from the Git repository,
rather than the packaged source tarballs. The Git repository is slightly
better as the ``corresponding source'':

 1. A few packages especially closely tied to the Racket core implementation
    (like "compiler-lib", "base", and "racket-doc") are developed in the
    same Git repository. Having them use the same Guix origin, too, will
    help to keep them in sync.

 2. The top-level Makefile in the Git repository is an important
    ``script[] used to control compilation and installation.''
    In particular, it cooperates with the "distro-build" package to
    create the source tarballs and installers for a Racket distribution.
    (Racket supports a notion of custom distributions.)

 3. It is ``the preferred form ... for making modifications'' to the core
    Racket implementation.

Racket releases are tagged in the Git repository (e.g. "v8.1"). At the
beginning of each release cycle, a branch is created to stabilizer a version
for extra testing. Active development happens on the "master" branch.

* gnu/packages/racket-minimal-sh-via-rktio.patch: Adjust for extra directory
layer.
* gnu/local/racket.scm (cfg-flag:sh-for-rktio, cfg-flag:enable-lt,
cfg-flag:enable-racket, unpack-nanopass+stex,
%main-repo-main-distribution-pkgs): New private variables.
* gnu/local/racket.scm (racket-minimal)[source]: Use Git.
[source](snippet): Unbundle nanopass, stex, and libffi.
[native-inputs]: Use racket-bootstrap-chez-bootfiles, plus its
dependencies (for Chez, plus a Racket for bootstrap pig).
[arguments]: Revise extensively.
* gnu/local/racket.scm (racket-minimal-bc-3m, racket-minimal-bc-cgc): New
packages, hidden at least for now.
(racket-bootstrap-chez-bootfiles): Another new package, but this one is
especially likely to stay hidden.
* gnu/local/racket.scm (racket)[origin](snippet): Unbundle packages
developed in the main Git repository, but leave their links.rktd and
pkgs.rktd entries in place.
[native-inputs]: Add the main Racket Git repository.
[arguments](#:phases): Adjust 'unpack-packages to also unpack package
sources from the main Racket Git repository.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-31 01:03:25 +02:00
Philip McGrath
65bad4d036
gnu: racket: Unbundle racket-minimal.
This change takes advantage of improved support for layered
and tethered installations in Racket 8.2.

* gnu/packages/racket.scm (extend-layer): New private variable.
This is a script for configuring a new config-tethered layer
chaining to an existing Racket installation.
* gnu/packages/racket.scm (racket)[source](snippet): Unbundle
`racket-minimal`.
[inputs]: Remove inputs that properly belong to `racket-minimal`.
[native-inputs]: Add `racket-minimal` and `extend-layer`.
[arguments]: Stop inheriting from `racket-minimal`. Add phase
'unpack-packages to move the sources and links file into place.
Replace 'configure phase using `extend-layer`.
Replace 'build phase using `raco setup`.
Delete 'install phase.
* gnu/packages/patches/racket-sh-via-rktio.patch: Rename to ...
* gnu/packages/patches/racket-minimal-sh-via-rktio.patch: ... this
file to placate `guix lint`.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (racket-minimal)[source]: Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-31 01:03:25 +02:00
Philip McGrath
1ae95ebcdd
gnu: racket: Update to 8.2.
* gnu/packages/racket.scm (racket-minimal, racket): Update to 8.2.
* gnu/packages/racket.scm (racket-minimal)[#:arguments]: Fix
patch-config.rktd-lib-search-dirs phase. When a config.rktd file
doesn't contain an entry for `lib-search-dirs`, the default is
equivalent to `'(#f)`, not `'()`.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-31 01:03:24 +02:00
raingloom
c094e574f2
gnu: Break up import loop between (gnu packages racket) and (gnu packages chez).
* gnu/packages/racket.scm: Remove (gnu packages chez) import.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-29 22:12:48 +02:00
Marius Bakke
dbcf2b61b1
gnu: Fix erroneous uses of 'package/inherit'.
These packages use a different source/version from the inherited package, and
thus should not inherit replacements.

* gnu/packages/check.scm (googletest-1.8, python-pytest-runner-2): Use record
inheritance instead of PACKAGE/INHERIT.
* gnu/packages/crates-io.scm (rust-bindgen-0.49, rust-bytes-0.4,
rust-colored-1.9.1, rust-difference-1, rust-docopt-0.8, rust-html5ever-0.23,
rust-http-0.1, rust-http-body-0.1, rust-loom-0.2, rust-loom-0.1,
rust-pulldown-cmark-0.0.8, rust-ring-0.13, rust-rustls-0.12, rust-sct-0.3,
rust-term-0.2, rust-untrusted-0.6, rust-webpki-0.18, rust-webpki-roots-0.17,
rust-webpki-roots-0.14): Likewise.
* gnu/packages/emacs.scm (emacs-next, emacs-next-pgtk, guile-emacs): Likewise.
* gnu/packages/guile.scm (guile-2.2.4): Likewise.
* gnu/packages/maths.scm (hdf5-1.10, hdf5-1.12): Likewise.
* gnu/packages/protobuf.scm (protobuf-3.6, protobuf-3.5, python-protobuf-3.6):
Likewise.
* gnu/packages/python-web.scm (python2-html2text): Likewise.
* gnu/packages/python-xyz.scm (python-pygments/fixed, python2-numpy,
python2-urwid, python2-markdown, python2-fonttools): Likewise.
* gnu/packages/racket.scm (racket): Likewise.
* gnu/packages/sequoia.scm (sequoia4pEp): Likewise.
2021-05-23 17:49:56 +02:00
Philip McGrath
b12bb7d297
gnu: racket: Update to 8.1.
* gnu/packages/racket.scm (racket-minimal): Update to 8.1.
[arguments](#:phases): Remove 'patch-chez-configure: fixes applied upstream.
(racket): Update to 8.1.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-05-10 15:51:48 +03:00
Philip McGrath
0ca37f3c7d
gnu: racket: Add aditional mirrors.
* gnu/packages/racket.scm (racket-minimal, racket)[source](uri): Lift
base urls into a new internal variable, '%installer-mirrors'.
Add mirrors at the University of Utah, Northwestern University,
the University of Waterloo, and Vrije Universiteit Brussel (Infogroep).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-05 16:56:45 +02:00
Philip McGrath
93867cb3be
gnu: racket: Racket inherits racket-minimal, not vice versa.
By design, the `racket` package is equivalent to 'racket-minimal'
plus 'raco pkg install -i main-distribution'.
This switch brings the Guix packages a small step closer to that goal.

* gnu/packages/racket.scm (racket-minimal, racket): Change
'racket-minimal' to be the base package and 'racket' to inherit
from it.  Move 'version', 'patches', 'home-page', 'build-system',
'arguments', and 'license' to 'racket-minimal'.
* gnu/packages/racket.scm (racket)[inputs]: Rather than copy and
pasting, use '(package-inputs racket-minimal)'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-05 16:56:45 +02:00
Philip McGrath
cd9454f6ed
gnu: racket: Remove obsolete patch.
* gnu/packages/racket.scm (racket)[source](patches): Remove
"racket-store-checksum-override.patch", which is no longer needed since
we stopped injecting store paths into Racket files in commit 834aa48:
see <https://issues.guix.gnu.org/47180>.
* gnu/packages/patches/racket-store-checksum-override.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-05 16:56:44 +02:00
Philip McGrath
3df04eb09f
gnu: racket: Move to (gnu packages racket).
* gnu/packages/scheme.scm (racket,racket-minimal): Move to ...
* gnu/packages/racket.scm: ... this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/racket.scm (racket)[synopsis]: Tweak.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-05-05 16:56:44 +02:00