diff --git a/racket/package.nix b/racket/package.nix index 82be2c3..42f6e4a 100644 --- a/racket/package.nix +++ b/racket/package.nix @@ -87,8 +87,25 @@ minimal.overrideAttrs ( export XDG_CACHE_HOME=$(mktemp -d) ''; - preFixup = lib.optionalString (!isDarwin) '' + # Disable automatic wrapping, and only wrap the ELF binaries: + # + # - bin/racket + # - lib/racket/gracket + # - bin/mred + # - bin/mzscheme + # + # This avoids effectively double-wrapping shell scripts generated by raco, because they will + # call into the wrapped ELF binaries + dontWrapGApps = true; + + preFixup = (lib.optionalString (!isDarwin) '' gappsWrapperArgs+=("--set" "LOCALE_ARCHIVE" "${glibcLocales}/lib/locale/locale-archive") + '') + '' + wrapProgram $out/bin/racket "''${gappsWrapperArgs[@]}" + wrapProgram $out/bin/mred "''${gappsWrapperArgs[@]}" + wrapProgram $out/bin/mzscheme "''${gappsWrapperArgs[@]}" + + wrapProgram $out/lib/racket/gracket "''${gappsWrapperArgs[@]}" ''; passthru =