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: update #76595

Merged
merged 2 commits into from Feb 9, 2020
Merged

rubyPackages: update #76595

merged 2 commits into from Feb 9, 2020

Conversation

@alyssais
Copy link
Member

@alyssais alyssais commented Dec 28, 2019

Motivation for this change

Noticed rubyPackages_2_6.gtk2 didn’t build any more. New version seems to fix it.

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 @

alyssais added 2 commits Dec 28, 2019
@zimbatm
Copy link
Member

@zimbatm zimbatm commented Dec 28, 2019

nix-review built everything except:

rubyPackages.libv8 rubyPackages_2_4.libv8 rubyPackages_2_5.libv8

I don't thing this should be a blocker to merge.

@zimbatm
Copy link
Member

@zimbatm zimbatm commented Dec 28, 2019

$ nix-build -A rubyPackages.libv8
warning: unknown setting 'experimental-features'
these derivations will be built:
  /nix/store/sp1avshcxayp723xaqfcgahwhxqc59wb-ruby2.6.5-libv8-7.3.492.27.1.drv
building '/nix/store/sp1avshcxayp723xaqfcgahwhxqc59wb-ruby2.6.5-libv8-7.3.492.27.1.drv'...
unpacking sources
patching sources
configuring
no configure script, doing nothing
installing
buildFlags: --with-system-v8=true
WARNING:  You build with buildroot.
  Build root: /
  Bin dir: /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/bin
  Gem home: /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0
Building native extensions with: '--with-system-v8=true'
This could take a while...
ERROR:  Error installing /nix/store/n6j9aksqr2bb6vsd2aiv3i9i2q3v1ady-libv8-7.3.492.27.1.gem:
        ERROR: Failed to build gem native extension.

    current directory: /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8
/nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/bin/ruby -I /nix/store/7l24siwk9yw0znjpcapq0rvpdghxmwsc-ruby-2.6.5/lib/ruby/2.6.0 -r ./siteconf20191228-8-101f4fp.rb extconf.rb --with-system-v8\=true
creating Makefile
/nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:83:in `block in setup_build_deps!': unable to fetch v8 source (RuntimeError)
        from /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:81:in `chdir'
        from /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:81:in `setup_build_deps!'
        from /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:40:in `build_libv8!'
        from /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1/ext/libv8/location.rb:24:in `install!'
        from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/gems/libv8-7.3.492.27.1 for inspection.
Results logged to /nix/store/31nix2zsgnnrqn5sckfcyph4rb3nkvhy-ruby2.6.5-libv8-7.3.492.27.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0/libv8-7.3.492.27.1/gem_make.out
builder for '/nix/store/sp1avshcxayp723xaqfcgahwhxqc59wb-ruby2.6.5-libv8-7.3.492.27.1.drv' failed with exit code 1
error: build of '/nix/store/sp1avshcxayp723xaqfcgahwhxqc59wb-ruby2.6.5-libv8-7.3.492.27.1.drv' failed

unable to fetch v8 source (RuntimeError)

looks like they are ignoring the --with-system-v8=true option now: rubyjs/libv8@c714ddf#diff-e4644139217623558c4f0b5fd4e07805

since version v6.7.288.46.0

@alyssais
Copy link
Member Author

@alyssais alyssais commented Dec 28, 2019

@zimbatm
Copy link
Member

@zimbatm zimbatm commented Dec 28, 2019

I read that they are shipping the gem with libv8 pre-compiled for most platforms. Potentially we just have to patchelf the binary but I haven't checked if it's true.

@zimbatm
Copy link
Member

@zimbatm zimbatm commented Dec 28, 2019

image
So now we need bundix to hash all of them right?

@alyssais
Copy link
Member Author

@alyssais alyssais commented Dec 29, 2019

@zimbatm
Copy link
Member

@zimbatm zimbatm commented Dec 30, 2019

For that we need some infrastructure from rubygems.

  1. Extend the gem spec schema to contain a set of name/URL/sha256 tuples that will be downloaded as part of the installation.
  2. Extend rubygems to handle the download and put them in a pre-determined location.
  3. Make a big PR campaign to convert existing gems to use that mechanism instead of doing custom downloads.
  4. (bonus) Extend the bundle.lock format to also contain that information.

With that in place we will be able to take over the download part with nix.

@FRidh FRidh added this to Needs review in Staging Dec 31, 2019
@FRidh
Copy link
Member

@FRidh FRidh commented Feb 5, 2020

What's the status of this PR?

@zimbatm
Copy link
Member

@zimbatm zimbatm commented Feb 5, 2020

I would be inclined to merge this. Perfect is the enemy of good.

@FRidh FRidh changed the base branch from master to staging Feb 9, 2020
@FRidh FRidh merged commit 1f95695 into NixOS:staging Feb 9, 2020
13 checks passed
13 checks passed
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Staging automation moved this from Needs review to Done Feb 9, 2020
@manveru manveru mentioned this pull request Feb 18, 2020
4 of 10 tasks complete
@ahiaao ahiaao mentioned this pull request Feb 18, 2020
4 of 10 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Staging
  
Done
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.