Fix gemset generation for Gem version including the platform requirement #67
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some gems like sorbet-static or sys-proctable (< 1.2) compose their version number by appending the platform cpu, os and version.
For example, the following
Gemfile
:Gives the following
Gemfile.lock
:But will produce the following
gemset.nix
file withbundix
:Notice how the platform specified in the
Gemfile.lock
forsorbet-static
is lost when thegemset.nix
is generated. From0.4.4821-universal-darwin-14
to0.4.4821
.This is a problem since the package manager for NixOs only relies on the
version
attribute to download the required gem (code copied from https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/ruby-modules/gem/default.nix#L56-L62):This pull-request appends the platform to the compiled
gemset.nix
file so we get:And the NixOS package manager is happy.