guix-mirrors/gnu
Philip McGrath 834aa48504
gnu: racket: Don't inject store paths into Racket files.
Apparently, during grafting, Guix can somehow mangle compiled
Racket CS files (.zo) such that Racket will refuse to load them.
(Maybe it has something to do with compression?)
So, we stop patching Racket sources with absolute paths to store
files (i.e. for foreign libraries to dlopen).
Instead, we put them in a data file that doesn't get compiled or,
in one case, embed it in C.

Fixes https://issues.guix.gnu.org/47064

* gnu/packages/patches/racket-sh-via-rktio.patch: New file.
Adds a special case at the C level, controlled by a preprocessor macro,
to handle attempts to execute "/bin/sh".
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/scheme.scm (racket)[source](patches): Apply it.
(racket)[arguments](#:configure-flags): Add the CPP flag to enable it.
(racket)[arguments](#:modules): Use srfi-1.
(racket)[arguments](#:phases): Remove 'patch-/bin/sh and 'pre-configure.
Change 'pre-configure-minimal to just change directory.
Add 'patch-config.rktd-lib-search-dirs after 'build and before 'install
to configure Racket's "lib-search-dirs".
(racket, racket-minimal)[inputs]: Add bash-minimal as an explicit input.
(racket-minimal)[source]: Adjust to inherit patches from racket.
(racket-minimal)[arguments]: Inherit from racket: changes no longer needed.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-12 18:42:22 +02:00
..
bootloader bootloader: grub: Fix typo in docstring. 2021-04-10 14:11:33 +02:00
build activation: Do not dereference symlinks during home directory creation. 2021-04-03 22:08:34 +02:00
installer
machine machine: ssh: Use 'formatted-message'. 2021-02-25 11:29:35 +01:00
packages gnu: racket: Don't inject store paths into Racket files. 2021-04-12 18:42:22 +02:00
services services: git-daemon: Fix typo in docstring. 2021-04-10 14:11:26 +02:00
system system: vm: Add a memory-size argument to system-docker-image. 2021-04-12 14:12:49 +02:00
tests tests: docker: Increase VM building memory size to 1024MiB. 2021-04-12 14:12:49 +02:00
artwork.scm
bootloader.scm
ci.scm ci: Fix system-tests subset. 2021-04-12 11:55:41 +02:00
image.scm image: Export image? procedure. 2021-02-17 10:55:36 +01:00
installer.scm
local.mk gnu: racket: Don't inject store paths into Racket files. 2021-04-12 18:42:22 +02:00
machine.scm
packages.scm
services.scm services: Support DELETE in MODIFY-SERVICES macro. 2021-04-12 17:49:07 +02:00
system.scm
tests.scm tests: Export %simple-os. 2021-02-19 20:10:08 +01:00