Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sbcl: add option to disable immobile space #89232

Merged
merged 1 commit into from May 31, 2020

Conversation

kini
Copy link
Member

@kini kini commented May 31, 2020

Motivation for this change

Programs which generate and compile a lot of code at runtime (such as
programming language interpreters like ACL2) are not suited for running on SBCL
executables built with the "immobile space" feature, as explained by Douglas
Katzman in this mail thread:

https://sourceforge.net/p/sbcl/mailman/message/36007057/

In this commit, I add an optional flag to the SBCL package allowing you to
disable the "immobile space" features.

I also migrated away from specifying enabled/disabled features in a
customize-target-features.lisp file and towards supplying them as command line
arguments to make.sh, as has been recommended by the installation instructions
since 2012 or so.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Programs which generate and compile a lot of code at runtime (such as
programming language interpreters like ACL2) are not suited for running on SBCL
executables built with the "immobile space" feature, as explained by Douglas
Katzman in this mail thread:

  https://sourceforge.net/p/sbcl/mailman/message/36007057/

In this commit, I add an optional flag to the SBCL package allowing you to
disable the "immobile space" features.

I also migrated away from specifying enabled/disabled features in a
`customize-target-features.lisp` file and towards supplying them as command line
arguments to `make.sh`, as has been recommended by the installation instructions
since 2012 or so.
@ofborg ofborg bot requested a review from 7c6f434c May 31, 2020 00:36
@7c6f434c 7c6f434c merged commit d7e5696 into NixOS:master May 31, 2020
@kini kini deleted the sbcl/disableImmobileSpace branch June 16, 2020 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants