summaryrefslogtreecommitdiff
path: root/gnu/packages/racket.scm
AgeCommit message (Collapse)Author
2024-04-19Merge remote-tracking branch 'savannah/master' into core-updatesChristopher Baines
Change-Id: I4f15bcb3e575062c4dd3b6c07a48470300413f24 Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/dictionaries.scm gnu/packages/display-managers.scm gnu/packages/engineering.scm gnu/packages/geo.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/gnome-xyz.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/mail.scm gnu/packages/patches/eudev-rules-directory.patch gnu/packages/plotutils.scm gnu/packages/sdl.scm gnu/packages/syndication.scm
2024-04-11gnu: chez-scheme: Bootstrap from source.Philip McGrath
* 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-11gnu: chez-scheme: Update and simplify machine-type handling.Philip McGrath
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-11gnu: racket: Update to 8.12.Philip McGrath
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-11gnu: zuo: Update to 1.9.Philip McGrath
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-01-07Merge branch 'master' into core-updatesLudovic Courtès
Change-Id: I150b4077fffca97c860439292a8d053579d64cb7
2023-10-18build-systems: gnu: Export %default-gnu-imported-modules and ↵Maxim Cournoyer
%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
2023-09-17gnu: racket: Declare OpenSSL search paths.Philip McGrath
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-17gnu: racket: Update to 8.10.Philip McGrath
* 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-12-13gnu: racket: Update to 8.11.1.Philip McGrath
* 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-09-08gnu: racket: Declare OpenSSL search paths.Philip McGrath
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-08gnu: racket: Update to 8.10.Philip McGrath
* 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-07-21chez-sheme-for-racket: Fix building on riscv64-linux.Efraim Flashner
* 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-14gnu: racket: Update to 8.9.Philip McGrath
* 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-02-19gnu: racket: Update to 8.8.Philip McGrath
* 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-16gnu: Remove unneeded module imports.Efraim Flashner
* 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.
2022-11-20gnu: racket-vm-cs: Avoid duplicate work.Philip McGrath
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-20gnu: racket: Update to 8.7.Philip McGrath
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-09-08gnu: zuo: Use English in description.Liliana Marie Prikler
* gnu/packages/racket.scm (zuo)[description]: Use English.
2022-09-04gnu: racket: Use Racket CS on all systems.Philip McGrath
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-04gnu: racket-vm-bc: Add workaround for ppc64le.Philip McGrath
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-04gnu: chez-scheme-for-racket: Support all systems.Philip McGrath
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-04gnu: racket: Support cross-compiling the VM packages.Philip McGrath
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-04gnu: racket: Update to 8.6.Philip McGrath
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-04gnu: Add Zuo.Philip McGrath
* 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-04gnu: chez-scheme: Fix use of "/bin/sh".Philip McGrath
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-04gnu: racket: Adjust patch for "/bin/sh" in rktio.Philip McGrath
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-06-13gnu: racket: Avoid use of (ice-9 exceptions).Ludovic Courtès
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-05-22gnu: racket-vm-cs: Fix typo in description.Tobias Geerinckx-Rice
* gnu/packages/racket.scm (racket-vm-cs)[description]: Fix ‘implemetation’ typo.
2022-05-12gnu: chez-scheme-for-racket: Fix supported systems.Philip McGrath
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 b8fc9169515ef1a6d6037c84e30ad308e5418b6f 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-12gnu: racket: Fix out-of-source build.Philip McGrath
* 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-12gnu: racket: Update to 8.5.Philip McGrath
* 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-03-04gnu: racket-vm-cs: Build with "--enable-scheme".Philip McGrath
* 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-04gnu: Add chez-scheme-for-racket.Philip McGrath
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-04gnu: Add chez-nanopass.Philip McGrath
* 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-04gnu: chez-scheme: Use new package style.Philip McGrath
* 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-04gnu: racket: Add 'racket-vm-for-system'.Philip McGrath
* 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-04gnu: racket: Move Chez bootfiles to (gnu packages chez).Philip McGrath
* 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-04gnu: racket-minimal: Separate from the Racket VM.Philip McGrath
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-04gnu: configure-layer.rkt: Adjust indentation.Philip McGrath
* 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-04gnu: racket-minimal: Add "debug" output.Philip McGrath
* 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-04gnu: racket-minimal: Adjust indentation.Philip McGrath
* 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-04gnu: racket-minimal: Change inheritance to follow bootstrapping.Philip McGrath
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-04gnu: racket-minimal: Don't configure non-existant catalogs.Philip McGrath
* 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-04gnu: racket-minimal: Use new package style.Philip McGrath
* 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-04gnu: racket: Use Git origins for Racket packages.Philip McGrath
* 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-04gnu: racket: Update to 8.4.Philip McGrath
* 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-04gnu: Use license prefix in (gnu packages racket).Philip McGrath
* 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>
2021-12-13gnu: Simplify package inputs.Ludovic Courtès
This commit was obtained by running: ./pre-inst-env guix style without any additional argument.
2021-11-25gnu: racket: Remove article from the beginning of the synopsis.Arun Isaac
* gnu/packages/racket.scm (racket)[synopsis]: Remove article from the beginning.