summaryrefslogtreecommitdiff
path: root/gnu/packages/racket.scm
AgeCommit message (Expand)Author
2023-07-21chez-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. Efraim Flashner
2023-07-14gnu: 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> Philip McGrath
2023-02-19gnu: 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> Philip McGrath
2023-02-16gnu: 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. Efraim Flashner
2022-11-20gnu: 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> Philip McGrath
2022-11-20gnu: 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> Philip McGrath
2022-09-08gnu: zuo: Use English in description....* gnu/packages/racket.scm (zuo)[description]: Use English. Liliana Marie Prikler
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-09-04gnu: 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> Philip McGrath
2022-06-13gnu: 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). Ludovic Courtès
2022-05-22gnu: racket-vm-cs: Fix typo in description....* gnu/packages/racket.scm (racket-vm-cs)[description]: Fix ‘implemetation’ typo. Tobias Geerinckx-Rice
2022-05-12gnu: 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 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> Philip McGrath
2022-05-12gnu: 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> Philip McGrath
2022-05-12gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2022-03-04gnu: 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> Philip McGrath
2021-12-13gnu: Simplify package inputs....This commit was obtained by running: ./pre-inst-env guix style without any additional argument. Ludovic Courtès
2021-11-25gnu: racket: Remove article from the beginning of the synopsis....* gnu/packages/racket.scm (racket)[synopsis]: Remove article from the beginning. Arun Isaac
2021-11-24gnu: 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> jgart
2021-09-10gnu: 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> Philip McGrath
2021-09-10gnu: 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> Philip McGrath
2021-09-07gnu: 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. Ludovic Courtès
2021-07-31gnu: 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> Philip McGrath
2021-07-31gnu: 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> Philip McGrath
2021-07-31gnu: 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> Philip McGrath
2021-05-29gnu: 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> raingloom
2021-05-23gnu: 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. Marius Bakke
2021-05-10gnu: 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> Philip McGrath
2021-05-05gnu: 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> Philip McGrath
2021-05-05gnu: 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> Philip McGrath