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

tree-sitter: patch out web-ui by default, to drop emscripten #107513

Merged
merged 1 commit into from Dec 24, 2020

Conversation

Profpatsch
Copy link
Member

@Profpatsch Profpatsch commented Dec 24, 2020

The tree-sitter build closure is pretty lean by default, but the
optional web-ui requires emscripten to compile the web interface
javascript/wasm code.

This is clearly not worth the increase in build closure size, and
since emscripten is broken more often than not, let’s patch it out by
default. If somebody /really/ needs the web-ui, there is a
webUISupport flag.

Motivation for this change
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.

The tree-sitter build closure is pretty lean by default, but the
optional web-ui requires emscripten to compile the web interface
javascript/wasm code.

This is clearly not worth the increase in build closure size, and
since emscripten is broken more often than not, let’s patch it out by
default. If somebody /really/ needs the web-ui, there is a
`webUISupport` flag.
@Profpatsch Profpatsch merged commit c505e57 into NixOS:master Dec 24, 2020
Comment on lines +59 to +63
buildInputs =
lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs =
[ which ]
++ lib.optionals webUISupport [ emscripten ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
buildInputs =
lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs =
[ which ]
++ lib.optionals webUISupport [ emscripten ];
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs = [ which ]
++ lib.optionals webUISupport [ emscripten ];

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newlines were pretty much intentional. :)

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

3 participants