Commit graph

63 commits

Author SHA1 Message Date
Maxim Cournoyer
f59df1aa3c
build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-modules.
Until now users would have to cargo cult or inspect the private
%default-modules variable of (guix build-systems gnu) to discover which
modules to include when extending the used modules via the #:modules argument.

The renaming was automated via the command:

  $ git grep -l %gnu-build-system-modules
    | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i

* guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to...
(%default-gnu-imported-modules): ... this.
(%default-modules): Rename to...
(%default-gnu-modules): ... this.  Export.
(dist-package, gnu-build, gnu-cross-build): Adjust accordingly.

Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee
2024-08-31 10:42:16 +02:00
Philip McGrath
18eea46d3b
gnu: racket: Update to 8.14.
* gnu/packages/racket.scm (%racket-version): Update to 8.14.
(racket)[inputs]<compatibility, db, drracket, gui, htdp, math>
<parser-tools, rackunit, redex, scribble, snip, typed-racket>
<string-constants, web-server>: Update hashes.
* gnu/packages/chez.scm (chez-scheme-for-racket): Fix comment.

Change-Id: I1bcfd8b4db178e42b200077ab909af37907264d0
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-08-22 12:20:25 +01:00
Philip McGrath
21402e6193
gnu: racket: Update to 8.13.
* gnu/packages/patches/racket-backport-8.12-chez-configure.patch: Delete
obsolete patch.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
10.0.1-pre-release.1.
* gnu/packages/racket.scm (%racket-version): Update to 8.13.
(racket)[inputs]<data, deinprogramm, drracket, eopl, expeditor, gui>
<htdp, math, net-cookies, option-contract, pict, plai, plot, rackunit>
<redex, scribble, snip, typed-racket, srfi, web-server>: Update hashes.

Change-Id: I2d7b6e79a5a4e775d9b918b39fb688b484bb9f93
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-09 17:09:46 +03:00
Philip McGrath
c472dfa7bb
gnu: zuo: Update to 1.10.
* gnu/packages/racket.scm (zuo): Update to 1.10.

Change-Id: I082129143b77d34236e32e5cd4f4aac3275d4bca
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-09 17:09:46 +03:00
Philip McGrath
4e7337536b
gnu: chez-scheme: Bootstrap from source.
* gnu/packages/chez.scm (chez-scheme)[source]<snippet>: Also unbundle
pre-built boot files.
(chez-scheme-bootstrap-bootfiles): Stop inheriting from 'chez-scheme'.
[native-inputs]: Add 'zuo', 'chez-nanopass-bootstrap', and either
'chez-scheme-for-racket' or, for cross builds, 'chez-scheme'.
[build-system]: Change to gnu-build-system.
[arguments]: Change to run 'configure' and then bootstrap via
`make re.boot` or, for cross builds, `make cross.boot`
[synopsis, description]: Update accordingly.
(chez-scheme-for-racket-bootstrap-bootfiles)[synopsis]: Write "boot
files" as two words in prose.
[description]: Likewise.
* gnu/packages/racket.scm: Update comments.

Change-Id: I55d9b57090ecaca0aa2ab19c2c3ebae2243a9173
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-11 12:46:41 +02:00
Philip McGrath
9d407205e8
gnu: chez-scheme: Update and simplify machine-type handling.
Since Chez Scheme 10.0.0 supports all of the backends added in Racket's
branch, the complexity of '%chez-features-table' is no longer needed.
Ideally, even more of this logic could be maintained upstream, but this
change will simplify maintenance in the mean time.

* gnu/packages/chez.scm (target-chez-arch): Recognize loongarch64.
(chez-upsteam-features-for-system): Remove function.
(%chez-features-table): Replace with ...
(define-machine-types, %machine-types): ... this new macro and variable,
using the list copied directly from the Chez Scheme source code.
(nix-system->pbarch-machine-type): Update docstring, since pbarch
machine types are supported upstream as of Chez Scheme 10.0.0.
(racket-cs-native-supported-system?): Replace with ...
(nix-system->native-chez-machine-type): ... this new function,
implemented using '%machine-types'.
(chez-scheme-for-racket): Update accordingly.
(chez-scheme-for-racket-bootstrap-bootfiles): Likewise.
* gnu/packages/racket.scm (racket-vm-cs): Likewise.

Change-Id: I46efebaf48cce388075ab4873c16a6f5f9692bb7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-11 12:46:31 +02:00
Philip McGrath
5b5d18e29d
gnu: racket: Update to 8.12.
All of Racket's changes to Chez Scheme have been merged upstream.  They
are the basis for the Chez Scheme 10.0.0 release.  For the forseeable
future, Racket will continue to depend on a specific pre-release
version of Chez Scheme as part of Racket's "ABI": see upstream
discussion at <https://racket.discourse.group/t/2739/3>.

* gnu/packages/chez.scm (chez-configure): Change to define a phase to
run the Chez Scheme configure script, renaming the old definition to ...
(configure-chezschemelibdirs): ... this new variable.
(chez-srfi, chez-matchable, chez-irregex, chez-fmt, chez-mit)
(chez-scmutils)[arguments]<#:phases>: Update accordingly.
(unpack-nanopass+stex): Replace with ...
(unpack-nanopass): ... this new variable.
(chez-scheme)[arguments]<#:phases>: Inline old definition of
'unpack-nanopass+stex' to facilitate transition.
(chez-scheme-for-racket): Stop inheriting from 'chez-scheme'.
[version]: Update to 9.9.9-pre-release.23.
[outputs]: Add "debug" output.
[native-inputs]: Add 'texlive-enumitem' for native builds. For cross
builds, omit TeX-related inputs and add this-package:doc.
[inputs, native-search-paths, home-page]: Rewrite without inheritance.
[arguments]: Likewise, and adjust for upstream changes.
[synopsis, description]: Rewrite to reflect upstreaming of
Racket's changes to Chez Scheme.
(chez-scheme-for-racket-bootstrap-bootfiles): Stop inheriting from
'chez-scheme-bootstrap-bootfiles'.
[arguments]: Rewrite without inheritance. Use `make cross.boot` instead
of broken experimental script for cross builds.
[home-page]: Use bootstrapping Racket package instead of archived Git
repository.
[description]: Rewrite to reflect upstreaming of Racket's changes to
Chez Scheme.
* gnu/packages/patches/racket-backport-8.11-layered-docs.patch: Delete
file.
* gnu/packages/patches/racket-backport-8.12-chez-configure.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
[snippet]: Also unbundle Zuo and potential pre-built boot files.
(%racket-version): Update to 8.12.
(racket-vm-cs)[arguments]<#:phases>: Use 'unpack-nanopass' instead of
'unpack-nanopass+stex'.
(racket)[inputs]<data, deinprogramm, drracket, gui, htdp, net-cookies>
<pict, plot, rackunit, redex, scribble, typed-racket, string-constants>
<web-server>: Update hashes.
<quickscript>: Likewise, and remove obsolete snippet.

Change-Id: I11e7f44be37c60c91b03d246a50e75e418bd0672
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-11 12:45:45 +02:00
Philip McGrath
b965780334
gnu: zuo: Update to 1.9.
Zuo now has tagged releases independent of the Racket release cycle.

* gnu/packages/patches/racket-zuo-bin-sh.patch: Move to ...
* gnu/packages/patches/zuo-bin-sh.patch: ... this file, and refresh it.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket/scm (%racket-origin)[patches]: Likewise.
* gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch.
* gnu/packages/patches/racket-rktio-bin-sh.patch: Likewise.
* gnu/packages/racket/scm (%zuo-version): Move to ...
(zuo)[version]: ... this field, and update to 1.9.
[source]: Change to the repository where Zuo releases are tagged.
[arguments]: Stop supplying '#:phases'.

Change-Id: Ia82c0f7a8e4696ae08e30965e3f4ec85673b86e5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-04-11 12:44:59 +02:00
Philip McGrath
1b2505217c
gnu: racket: Update to 8.11.1.
* gnu/packages/patches/racket-backport-8.10-rktboot.patch: Delete file.
* gnu/packages/patches/racket-backport-8.11-layered-docs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket/scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.11.1.
(%zuo-version): Update to 1.7.
(racket)[inputs]<deinprogramm, draw, drracket, games, gui, htdp>
<parser-tools, plot, rackunit, redex, scribble, slideshow, typed-racket>
<srfi, string-constants, syntax-color, web-server, xrepl>: Update hashes.
<quickscript>: Likewise, and add snippet.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
9.9.9-pre-release.18.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-12-13 12:58:43 +01:00
Philip McGrath
bce0fe8293
gnu: racket: Declare OpenSSL search paths.
Otherwise, OpenSSL used via Racket fails to find certificates, e.g. when
attempting to run 'raco pkg install'.

Fixes <https://racket.discourse.group/t/2206/8>.

* gnu/packages/racket.scm (racket-minimal)[native-search-paths]: Add
$SSL_CERT_DIR and $SSL_CERT_FILE.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-09-08 09:05:57 +03:00
Philip McGrath
0a69961953
gnu: racket: Update to 8.10.
* gnu/packages/patches/racket-rktboot-riscv64-support.patch: Move to ...
* gnu/packages/patches/racket-backport-8.10-rktboot.patch: ... this
file, together with a related upstreamed patch.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket/scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.10.
(racket)[inputs]<data, deinprogramm, drracket, gui, htdp, math>
<net-cookies, pict, plot, racklog, redex, scribble, slideshow, snip>
<typed-racket, string-constants, syntax-color, web-server>: Update
hashes.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
9.9.9-pre-release.17.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-09-08 09:05:47 +03:00
Efraim Flashner
261422e745
chez-sheme-for-racket: Fix building on riscv64-linux.
* gnu/packages/racket.scm (%racket-origin): Add patch.
* gnu/packages/patches/racket-rktboot-riscv64-support.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2023-07-21 13:19:30 +03:00
Philip McGrath
ff4f5a725e
gnu: racket: Update to 8.9.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
9.9.9-pre-release.16.
* gnu/packages/racket.scm (%racket-version): Update to 8.9.
(racket)[inputs]<deinprogramm, draw, drracket, future-visualizer, gui>
<htdp, macro-debugger, math, pict, plot, rackunit, redex, scribble>
<slideshow, snip, typed-racket, srfi, swindle, syntax-color>
<web-server>: Update checksums.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-07-14 16:16:25 +02:00
Philip McGrath
b5326763c7
gnu: racket: Update to 8.8.
* gnu/packages/patches/racket-backport-8.7-pkg-strip.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Delete it.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.8.
(%zuo-version): Update to 1.6.
(racket)[inputs]<algol60, cext-lib, deinprogramm, draw, drracket>
<expeditor, gui, htdp, math, pict, r5rs, redex, sasl, scribble>
<typed-racket, string-constants, syntax-color>: Update checksums.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to
9.9.9-pre-release.14.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-19 08:16:47 +01:00
Efraim Flashner
672036c6df
gnu: Remove unneeded module imports.
* gnu/packages/abiword.scm,
* gnu/packages/ada.scm,
* gnu/packages/agda.scm,
* gnu/packages/backup.scm,
* gnu/packages/barrier.scm,
* gnu/packages/bioinformatics.scm,
* gnu/packages/bootstrap.scm,
* gnu/packages/bqn.scm,
* gnu/packages/c.scm,
* gnu/packages/chemistry.scm,
* gnu/packages/coq.scm,
* gnu/packages/cross-base.scm,
* gnu/packages/databases.scm,
* gnu/packages/emacs-xyz.scm,
* gnu/packages/enlightenment.scm,
* gnu/packages/games.scm,
* gnu/packages/geo.scm,
* gnu/packages/ghostscript.scm,
* gnu/packages/gl.scm,
* gnu/packages/golang.scm,
* gnu/packages/jami.scm,
* gnu/packages/java-maths.scm,
* gnu/packages/kde-frameworks.scm,
* gnu/packages/kde-plasma.scm,
* gnu/packages/language.scm,
* gnu/packages/libreoffice.scm,
* gnu/packages/linphone.scm,
* gnu/packages/lisp.scm,
* gnu/packages/llvm.scm,
* gnu/packages/machine-learning.scm,
* gnu/packages/minetest.scm,
* gnu/packages/monitoring.scm,
* gnu/packages/nfs.scm,
* gnu/packages/ocr.scm,
* gnu/packages/opencl.scm,
* gnu/packages/pdf.scm,
* gnu/packages/python-xyz.scm,
* gnu/packages/racket.scm,
* gnu/packages/rust.scm,
* gnu/packages/syncthing.scm,
* gnu/packages/syndication.scm,
* gnu/packages/telegram.scm,
* gnu/packages/vulkan.scm,
* gnu/packages/web-browsers.scm,
* gnu/packages/web.scm,
* gnu/packages/webkit.scm: Remove some unecessary module imports.
2023-02-16 22:41:03 +02:00
Philip McGrath
ac09fcb955
gnu: racket-vm-cs: Avoid duplicate work.
Only configure with '--enable-racket' for cross-compilation: otherwise,
it effectively overrides '--enable-scheme' and bootstraps Chez Scheme
again. This change saves a couple minutes of build time. See upstream
discussion at <https://github.com/racket/racket/issues/4492>.

* gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Only supply a
Racket VM when cross-compiling.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-20 02:22:18 +01:00
Philip McGrath
fca5e1a507
gnu: racket: Update to 8.7.
Also, update 'chez-scheme-for-racket' to 9.5.9.8.

Note that racket-backport-8.6-cross-install.patch,
racket-backport-8.6-docindex-write.patch, and
racket-backport-8.6-hurd.patch were missing from dist_patch_DATA.

* gnu/packages/patches/racket-backport-8.6-cross-install.patch,
gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
gnu/packages/patches/racket-backport-8.6-hurd.patch,
gnu/packages/patches/racket-backport-8.6-zuo.patch: Remove patches.
* gnu/packages/patches/racket-backport-8.7-pkg-strip.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(%racket-version): Update to 8.7.
(racket)[inputs]: Add 'scheme-doc' source package from '%racket-origin'.
(racket)[inputs]<compatibility, db, deinprogramm, draw, drracket>
<eopl, errortrace, gui, htdp, mzscheme, parser-tools, pict, plai, plot>
<r6rs, redex, scribble, slideshow, snip, typed-racket, srfi>
<string-constants>: Update checksums.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to 9.5.9.8.
[arguments]: Enable tests.
[description]: Update.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]: Update path to
'rktboot'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-11-20 02:22:18 +01:00
Liliana Marie Prikler
38e8373830
gnu: zuo: Use English in description.
* gnu/packages/racket.scm (zuo)[description]: Use English.
2022-09-08 15:50:39 +02:00
Philip McGrath
ed24d6b46c
gnu: racket: Use Racket CS on all systems.
This patch uses the 'pbarch' support added to 'racket-vm-cs' to make it
the default Racket VM implementation on all systems.

* gnu/packages/racket.scm (racket-vm-for-system): Remove.
(racket-minimal, racket)[inputs]: Replace '(racket-vm-for-system)' with
'racket-vm-cs'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:12 +02:00
Philip McGrath
64a27e1678
gnu: racket-vm-bc: Add workaround for ppc64le.
This is an attempt to avoid a problem with Racket BC on ppc64 reported
in <https://issues.guix.gnu.org/57050#19> that was exposed by attempting
to use Racket BC to bootstrap Chez Scheme. Thanks to Matthew Flatt for
the workaround: <https://racket.discourse.group/t/950/30>.

* gnu/packages/racket.scm (racket-vm-bc)[arguments]<#:configure-flags>:
Increase the number of bytes that should be available on the stack for
"safety" when checking for stack overflow.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:12 +02:00
Philip McGrath
a15d72f8e1
gnu: chez-scheme-for-racket: Support all systems.
On systems for which Racket's variant of Chez Scheme cannot generate
native code, it can use a 'pbarch' machine type: a variant of the
``portable bytecode'' backend specialized to word size and endianness.
This allows Racket CS to replace Racket BC on those systems while
maintaining comparable performance. (Racket BC lacks JIT support for
those systems anyway.) It also lets us provide a Chez Scheme package on
all systems Guix supports.

This patch adds 'pbarch' support to both 'chez-scheme-for-racket' and
'racket-vm-cs', but it does not change the Racket VM implementation used
for the 'racket' and 'racket-minimal' packages.

* gnu/packages/chez.scm (nix-system->pbarch-machine-type): New variable.
(chez-scheme-for-racket)[inputs]: Use 'libffi' for non-native systems.
[arguments]<#:configure-flags>: Always supply '-m='. Add applicable
flags for non-native systems.
[supported-systems]: Use '%supported-systems'.
[description]: Update.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phases>: Adapt
'build' phase for non-native systems.
* gnu/packages/racket.scm (racket-vm-bc)[description]: Update.
(racket-vm-cs)[description]: Likewise.
[inputs]: Use 'libffi' for non-native systems.
[arguments]<#:configure-flags>: Add applicable flags for non-native
systems.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:12 +02:00
Philip McGrath
cb0d106590
gnu: racket: Support cross-compiling the VM packages.
Cross-compilation works for 'racket-vm-cgc', 'racket-vm-bc', and
'racket-vm-cs'. These changes are not enough to cross-compile
'racket-minimal' or 'racket': that would require building and loading
cross-compilation pluggins for 'racket-vm-cs', which will be much
easier once we can build the package 'raco-cross'.

* gnu/packages/racket.scm (racket-vm-cgc): Add 'this-package' when
cross-compiling.
(racket-vm-bc)[native-inputs]: Adjust accordingly.
(racket-vm-cs)[native-inputs]: Use 'racket-vm-cs' instead of
'racket-vm-bc' when cross-compiling. Adapt to changes to
'racket-vm-cgc'.
[arguments]<#:configure-flags>: Fix '--enable-scheme' for
cross-compilation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:12 +02:00
Philip McGrath
9647296ce6
gnu: racket: Update to 8.6.
Also, update 'chez-scheme-for-racket' to 9.5.9.2.

* gnu/packages/patches/racket-chez-scheme-bin-sh.patch: Refresh patch.
* gnu/packages/patches/racket-backport-8.6-cross-install.patch,
gnu/packages/patches/racket-backport-8.6-docindex-write.patch,
gnu/packages/patches/racket-backport-8.6-hurd.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-origin)[patches]: Use them and the
patches for Zuo.
(%racket-version): Update to 8.6.
(zuo)[version]: Refer to '%racket-version'.
[origin]: Use '%racket-origin'.
(racket-vm-cgc)[native-inputs]: Add 'zuo'.
[arguments]<#:make-flags>: Use 'zuo' from 'native-inputs'.
(racket)[inputs]<data, db, deinprogramm, draw, drracket, errortrace,
gui, htdp, math, option-contract, parser-tools, pict, rackunit, realm,
redex, scribble, typed-racket, string-constants, swindle, syntax-color,
web-server>: Update checksums.
* gnu/packages/chez.scm (target-chez-os): Handle Hurd and QNX.
(%chez-features-table): Likewise.
(chez-scheme-for-racket): Update to 9.5.9.2.
[native-inputs]: Add 'zuo'.
[arguments]<#:out-of-source?>: Use out-of-source build.
<#:tests?>: Skip them due to ongoing problems.
<#:configure-flags>: Add '--install-csug=' and '--installreleasenotes='.
<#:make-flags>: Use 'zuo' from 'native-inputs'. Supply 'STEXLIB=' here,
rather than in a phase.
<#:phases>: Replace 'install-docs' using new 'make' target.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:11 +02:00
Philip McGrath
07a8440f50
gnu: Add Zuo.
* gnu/packages/patches/racket-backport-8.6-zuo.patch,
gnu/packages/patches/racket-zuo-bin-sh.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%zuo-version): New variable.
(zuo): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:11 +02:00
Philip McGrath
5142fba364
gnu: chez-scheme: Fix use of "/bin/sh".
The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process'
function seems to have caused parts of the Chez Scheme test suite to
have been silently skipped. The issue was exposed by the upcoming
changes to Racket's build system.

* gnu/packages/patches/chez-scheme-bin-sh.patch,
gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-origin)[patches]: Update accordingly.
* gnu/packages/chez.scm (chez-scheme)[origin]<patches>: Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:11 +02:00
Philip McGrath
911768b6d5
gnu: racket: Adjust patch for "/bin/sh" in rktio.
Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may not
be The Right Thing in the long term, but it at least avoids a
proliferation of 'CPPFLAGS'.

* gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ...
* gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and change
to use '_PATH_BSHELL'.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change to a
constant instead of a function, since we no longer need the delay.
(racket-vm-cgc, racket-vm-bc,
racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly.
[inputs]: Remove 'bash-minimal'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-04 23:10:11 +02:00
Ludovic Courtès
8918ce6d16
gnu: racket: Avoid use of (ice-9 exceptions).
Fixes <https://issues.guix.gnu.org/54546>.
Reported by Giovanni Biscuolo <g@xelera.eu>
and Michael Chirillo <michael.a.chirillo@gmail.com>.

* gnu/packages/racket.scm (racket): Rewrite in terms of SRFI-34/35
instead of (ice-9 exceptions).
2022-06-13 12:27:34 +02:00
Tobias Geerinckx-Rice
a504a446f0
gnu: racket-vm-cs: Fix typo in description.
* gnu/packages/racket.scm (racket-vm-cs)[description]:
Fix ‘implemetation’ typo.
2022-05-22 02:00:36 +02:00
Philip McGrath
4c0ac41ba4
gnu: chez-scheme-for-racket: Fix supported systems.
This commit fixes the treatment of systems like "powerpc-w64-mingw32",
where the combination of architecture and kernel is not supported, even
though both are supported in other combinations. The build failure fixed
in b8fc916951 highlighted this problem:
see also <https://issues.guix.gnu.org/54292#6>. The correct support
status is specified by '%chez-features-table', which was added to
improve 'chez-upstream-features-for-system': this commit uses it to fix
the repair.

Once the issues in <https://racket.discourse.group/t/950> are resolved,
'chez-scheme-for-racket' and 'racket-vm-cs' will be able to run even on
systems for which native code generation is not supported. It's not
clear what behavior would be useful from 'nix-system->chez-machine':
since the current implementation is flawed and easy to misuse, we remove
it for now, replacing the remaining uses with
'racket-cs-native-supported-system?'.

* gnu/packages/chez.scm (nix-system->chez-machine): Remove it.
(racket-cs-native-supported-system?): New variable.
(chez-scheme-for-racket)[supported-systems]: Use it.
* gnu/packages/racket.scm (racket-vm-for-system): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-12 10:30:08 +02:00
Philip McGrath
544fbdcc9e
gnu: racket: Fix out-of-source build.
* gnu/packages/racket.scm (racket-vm-cgc)[arguments]: Supply
'#:out-of-source? #t'. Wrap 'install-license-files' to work around
limitation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-12 10:30:07 +02:00
Philip McGrath
af375c6394
gnu: racket: Update to 8.5.
* gnu/packages/patches/racket-gui-tethered-launcher-backport.patch,
gnu/packages/patches/racket-enable-scheme-backport.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
* gnu/packages/chez.scm (chez-scheme-for-racket): Update to 9.5.7.6.
* gnu/packages/racket.scm (%racket-version): Update to 8.5.
(%racket-origin)[patches]: Remove obsolete patches.
(racket-vm-common-configure-flags): Correct comment.
(racket)[inputs]<2d, datalog, deinprogramm, draw, drracket, expeditor,
htdp, pict, plot, quickscript, racklog, rackunit, redex, scribble,
typed-racket, string-constants, syntax-color, web-server, xrepl>: Update
checksums.
<gui, srfi>: Likewise, and remove obsolete backports.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-05-12 10:30:07 +02:00
Philip McGrath
992ed3b4ce
gnu: racket-vm-cs: Build with "--enable-scheme".
* gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Replace
'chez-scheme-for-racket-bootstrap-bootfiles' with 'chez-scheme-for-racket'.
[arguments]<#:phases>: Delete 'unpack-bootfiles'.
<#:configure-flags>: Add "--enable-scheme".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:54 +01:00
Philip McGrath
61ca3d9a84
gnu: Add chez-scheme-for-racket.
The Racket variant of Chez Scheme can be used to support platforms that
are not yet supported by upstream Chez Scheme.

* gnu/packages/chez.scm (chez-scheme-for-racket): New variable.
(chez-scheme-for-racket-bootstrap-bootfiles)[version]
[supported-systems]: Derive from 'chez-scheme-for-racket'.
* gnu/packages/racket.scm (%racket-version): Update comment.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:41 +01:00
Philip McGrath
6bca38f282
gnu: Add chez-nanopass.
* gnu/packages/chez.scm (nanopass): Rename to ...
(chez-nanopass-bootstrap): ... this new variable, and promote it from an
origin to a package.
(chez-nanopass): New variable.
(unpack-nanopass+stex): New variable using 'chez-nanopass-bootstrap'.
(chez-scheme-for-racket-bootstrap-bootfiles)
(chez-scheme)[native-inputs]: Add 'chez-nanopass-bootstrap'.
[arguments]<#:phases>: Adapt 'unpack-nanopass+stex' phase
to use the new variable.
* gnu/packages/racket.scm (racket-vm-cs): Likewise.
(make-unpack-nanopass+stex): Remove it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:11 +01:00
Philip McGrath
75f9f9441f
gnu: chez-scheme: Use new package style.
* gnu/packages/chez.scm (chez-scheme)[inputs]: Remove labels.
[native-inputs]: Likewise.
[arguments]: Use G-expressions.
<#:phases>: Use 'search-input-file' instead of 'assoc-ref'.
(nanopass): Make public as a temporary workaround for Racket.
* gnu/packages/racket.scm (make-unpack-nanopass+stex): Update
accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:43 +01:00
Philip McGrath
9b1bfc0ce9
gnu: racket: Add 'racket-vm-for-system'.
* gnu/packages/racket.scm (racket-vm-for-system): New procedure.
(racket-minimal, racket)[inputs]: Use it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:15 +01:00
Philip McGrath
df00c01d94
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>
2022-03-04 23:42:26 +01:00
Philip McGrath
035562b7b7
gnu: racket-minimal: Separate from the Racket VM.
For consistency with other Racket distributions, 'racket-minimal' should
have the "racket-lib" Racket package installed: see
<https://github.com/racket/racket/issues/3851#issuecomment-942368947>.

Happily, this gives us a clean boundary between the core Racket VM and
compiler, with all of the bootstrapping involved, and building Racket
packages and installation layers, which can be handled in a nice,
uniform way and eventually turned into a 'racket-build-system'.
Building the VM layer as an "in-place" installation should help us use
it with other Racket tools.

* gnu/packages/racket.scm (racket-vm-common-configure-flags): Add
"--enable-origtree" and --prefix. Adapt "--enable-racket=" accordingly.
(racket-minimal-bc-cgc): Rename to ...
(racket-vm-cgc): ... this new variable.
[inputs]: Move 'openssl' and 'sqlite' to new 'racket-minimal'.
[arguments]<#:strip-directories>: Use "opt/racket-vm/" prefix.
<#:phases>: Adapt 'initialize-config.rktd' for removal of
'openssl' and 'sqlite'.
[description]: Tweak.
(racket-minimal-bc-3m): Rename to ...
(racket-vm-bc): ... this new variable.
[synopsis, description]: Tweak.
(racket-vm-cs): New variable, adapted from the old 'racket-minimal'.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phhases>:
Adapt to the "opt/racket-vm/" prefix.
(racket-minimal): Rewrite like 'racket' using 'racket-vm-cs'.
(racket): Inherit from 'racket-minimal'.
[inputs]: Add 'racket-vm-cs'. Move "racket-lib" and "base" to
'racket-minimal'.
[arguments]<#:make-flags, #:configure-flags>: Override from
'racket-minimal'.
(configure-layer.rkt): Adapt to support in-place VM build with possible
intermediate layer.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:52 +01:00
Philip McGrath
f6cd4279a0
gnu: configure-layer.rkt: Adjust indentation.
* gnu/packages/racket.scm (configure-layer.rkt): Wrap 'command-line' in
'define-values' to reduce rightward drift.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:23 +01:00
Philip McGrath
049a27d8a8
gnu: racket-minimal: Add "debug" output.
* gnu/packages/racket.scm (racket-minimal-bc-cgc)[outputs]: Add "debug".
(racket-vm-common-configure-flags): Add "--disable-strip".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:13 +01:00
Philip McGrath
ec031b3cf3
gnu: racket-minimal: Adjust indentation.
* gnu/packages/racket.scm (racket-minimal-bc-cgc): Use 'hidden-package'
rather than 'properties'.
(racket-minimal-bc-3m): Remove redundant 'hidden-package' wrapper.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:09 +01:00
Philip McGrath
daa91a49b2
gnu: racket-minimal: Change inheritance to follow bootstrapping.
Having the package inheritance chain go in the same direction as the
bootstrapping chain, rather than the opposite, is less confusing. In
some cases, it can also help to avoid unnecessary rebuilds.

* gnu/packages/racket.scm (racket-minimal-bc-cgc): Change to be the root
of the package inheritance chain.
[version, source, inputs, native-inputs, build-system, arguments]
[home-page, license]: Inline formerly inherited values.
(racket-minimal-bc-3m): Inherit from 'racket-minimal-bc-cgc' rather than
'racket-minimal'.
[inputs, native-inputs, arguments, license]: Adjust accordingly.
(racket-minimal): Inherit from 'racket-minimal-bc-3m'.
[inputs, native-inputs, arguments, license]: Adjust accordingly.
[properties]: Override effect of 'hidden-package'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:59 +01:00
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
jgart
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