Skip to content

ruby_2_7: init at 2.7.0#76495

Merged
alyssais merged 2 commits intoNixOS:masterfrom
marsam:add-ruby-27
Dec 25, 2019
Merged

ruby_2_7: init at 2.7.0#76495
alyssais merged 2 commits intoNixOS:masterfrom
marsam:add-ruby-27

Conversation

@marsam
Copy link
Contributor

@marsam marsam commented Dec 25, 2019

Motivation for this change

Release notes: https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/

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

cc @

@ofborg ofborg bot added 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 8.has: package (new) This PR adds a new package labels Dec 25, 2019
@ofborg ofborg bot requested review from manveru and vrthra December 25, 2019 13:47
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Dec 25, 2019
@alyssais
Copy link
Member

@GrahamcOfBorg build ruby ruby_2_7

@alyssais alyssais merged commit 76200c4 into NixOS:master Dec 25, 2019
@andersk
Copy link
Contributor

andersk commented Dec 29, 2019

This broke Vagrant.

$ nix-shell -p vagrant --run 'vagrant version'
/nix/store/x2xagsdlb556kg1jzx0qrbc1wyjf8092-ruby2.6.5-json-2.1.0/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:100: warning: already initialized constant JSON::NaN
/nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:100: warning: previous definition of NaN was here
/nix/store/x2xagsdlb556kg1jzx0qrbc1wyjf8092-ruby2.6.5-json-2.1.0/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:102: warning: already initialized constant JSON::Infinity
/nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:102: warning: previous definition of Infinity was here
/nix/store/x2xagsdlb556kg1jzx0qrbc1wyjf8092-ruby2.6.5-json-2.1.0/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:104: warning: already initialized constant JSON::MinusInfinity
/nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:104: warning: previous definition of MinusInfinity was here
/nix/store/x2xagsdlb556kg1jzx0qrbc1wyjf8092-ruby2.6.5-json-2.1.0/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:129: warning: already initialized constant JSON::UnparserError
/nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/json-2.1.0/lib/json/common.rb:129: warning: previous definition of UnparserError was here
Traceback (most recent call last):
	11: from /nix/store/5y31ch80fwnvbz2lpc7shn0jgnf2mql1-vagrant-2.2.6/bin/.vagrant-wrapped:18:in `<main>'
	10: from /nix/store/5y31ch80fwnvbz2lpc7shn0jgnf2mql1-vagrant-2.2.6/bin/.vagrant-wrapped:18:in `load'
	 9: from /nix/store/5y31ch80fwnvbz2lpc7shn0jgnf2mql1-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/vagrant-2.2.6/bin/vagrant:88:in `<top (required)>'
	 8: from /nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:72:in `require'
	 7: from /nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:72:in `require'
	 6: from /nix/store/5y31ch80fwnvbz2lpc7shn0jgnf2mql1-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/vagrant-2.2.6/lib/vagrant.rb:278:in `<top (required)>'
	 5: from /nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/i18n-1.1.1/lib/i18n.rb:55:in `load_path'
	 4: from /nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/i18n-1.1.1/lib/i18n.rb:42:in `config'
	 3: from /nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:72:in `require'
	 2: from /nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:72:in `require'
	 1: from /nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/i18n-1.1.1/lib/i18n/config.rb:5:in `<top (required)>'
/nix/store/p4hrycs0zaa9x0gsqylbk577ppnryixr-vagrant-2.2.6/lib/ruby/gems/2.6.0/gems/i18n-1.1.1/lib/i18n/config.rb:6:in `<module:I18n>': uninitialized constant I18n::Config (NameError)

Expected:

$ nix-shell -I nixpkgs=channel:nixos-19.09 -p vagrant --run 'vagrant version'
Installed Version: 2.2.6
Latest Version: 2.2.6
 
You're running an up-to-date version of Vagrant!

I bisected this regression to commit 2980109 “ruby: rubygems 3.0.6 -> 3.1.2”.

#76629

@alyssais
Copy link
Member

alyssais commented Dec 29, 2019 via email

@andersk
Copy link
Contributor

andersk commented Dec 31, 2019

The rubyMinimal fix was merged as #76649. Vagrant is still broken, though (#76629).

andersk added a commit to andersk/nixpkgs that referenced this pull request Jan 1, 2020
The rubygems upgrade from 3.0.6 to 3.1.2 (NixOS#76495) broke vagrant at
runtime.  Specifically, it

* works with ruby 2.6 and rubygems 3.0.6,
* fails with ruby 2.6 and rubygems 3.1.2,
* works with ruby 2.7 and rubygems 3.1.2,

perhaps because bundler 2.1 vendored by rubygems 3.1 conflicts with
bundler 1.17 vendored by ruby 2.6.

Fixes NixOS#76629.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants