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

rubyPackages: remove global v8 pinning #72419

Merged

Conversation

WilliButz
Copy link
Member

@WilliButz WilliButz commented Nov 1, 2019

Motivation for this change

The motivation behind this is the failing build of v8_3_16_14 on aarch64-linux, which causes gitlab to fail (#68550 (comment)) because it depends on ruby packages that depend on the broken v8 version because of an old version pinning.
The only ruby package that does not build with the latest v8 is therubyracer and it is not referenced by any other expression.

This removes the global pinning of v8 to 3.16.14 and also removes the
unreferenced package 'therubyracer'.
edit: This now also removes the no longer referenced v8 version 3.16.14 and limits the supported platforms of v8 version 3.14 to x86_*-linux

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 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.

  • Successfully ran nix-review:

Result of nix-review 1

5 package were build:
  • gitlab
  • gitlab-ee
  • rubyPackages_2_4.libv8
  • rubyPackages_2_5.libv8
  • rubyPackages_2_6.libv8

ping @flokli

Removes global pinning of v8 to 3.16.14 and also removes the
unreferenced package 'therubyracer'.
@flokli
Copy link
Contributor

flokli commented Nov 1, 2019 via email

@WilliButz
Copy link
Member Author

@flokli I agree. At least for 3.14 it seems to much of a hassle to get it to build on aarch64 and we can now even remove 3.16.14, because no other package references it after the removal of therubyracer (which I didn't notice before).

@flokli
Copy link
Contributor

flokli commented Nov 1, 2019

We should probably backport the ruby v8 change (or something only applying for gitlab, don't know what could break) into 19.09, to fix GitLab there on aarch64, too.

@alyssais
Copy link
Member

alyssais commented Nov 1, 2019

therubyracer may not be referenced elsewhere, but it’s used by a large number of Rails applications — I suspect everybody using NixOS to do Rails development would complain if we dropped build support for it.

@zimbatm
Copy link
Member

zimbatm commented Nov 3, 2019

source: https://rubygems.org/gems/therubyracer

Looking at the repo is doesn't seem maintained anymore. The last release was in January 2017.
Maybe we can drop it, especially since there are no projects in nixpkgs to exercise it. Users can provide their own gemConfig if they really want to keep using therubyracer in their project.

@alyssais
Copy link
Member

alyssais commented Nov 3, 2019 via email

@zimbatm
Copy link
Member

zimbatm commented Nov 3, 2019

I remember that execjs was used to select the JS evaluator engine and you could switch from therubyracer to just invoking nodejs, which is what most people do nowadays probably.

@zimbatm zimbatm merged commit 01f6d4d into NixOS:master Nov 3, 2019
@WilliButz
Copy link
Member Author

Ah I noticed that the project seemed to be no longer maintained. Sorry for not mentioning it above :/

@WilliButz WilliButz deleted the rubyPackages/remove-global-v8-pinning branch November 4, 2019 10:53
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

4 participants