* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
This fixes `fetchurl-force.nix` not being installed, which breaks
bundix for some gems.
E.g.
```
$ nix-build --argstr url https://rubygems.org/gems/nio4r-2.1.0.gem /nix/store/y6959dxal86l3alc0ryf7752prbbkzxg-bundix-2.2.0/lib/ruby/gems/2.3.0/gems/bundix-2.2.0/lib/bundix/fetchurl-force.nix
error: getting status of ‘/nix/store/y6959dxal86l3alc0ryf7752prbbkzxg-bundix-2.2.0/lib/ruby/gems/2.3.0/gems/bundix-2.2.0/lib/bundix/fetchurl-force.nix’: No such file or directory
```
Rainbow needs rake (a make analogue) as build dep. This builds an specific
version of rake for building rainbow.
Since rake is private to rainbow there shouldn't be any problems until rainbow
devs decide they need another rake version which is unlikely.
The bin stubs need to be built where there's access to /nix/store - so
it can't happen in a nix-shell run. Ergo, a shell.nix needs to be able
to signal to the build that all bins need to be built.
Original error:
$ nix-shell -p jekyll --command "jekyll new test"
Running bundle install in /private/tmp/test...
Bundler: There was an error while trying to write to
Bundler:
`/nix/store/l67429rhvrmr7c4c1msb7s8zjq4fx7ad-gemfile-and-lockfile/.bundle/config`.
Bundler: It is likely that you need to grant write permissions for
that path.
`usesGemspec` no longer required to trigger the "copy everything into
gemfile-and-lock" behavior. If the mainGem is referred to by path,
that's sufficient.
Without the adjustment I was not able to build scrypt. It was failing
because of missing symbols due to the parameter '-arch i386' being
appended to the clang calls.
From the website,
https://gitlab.com/mjwhitta/zoom
Zoom adds some convenience to ag/ack/grep by allowing you to quickly
open your search results in your editor of choice.
Also available as a ruby gem.
https://rubygems.org/gems/ruby-zoom
In addition to including the ruby-zoom tool, we also added a global
override for the ruby-terminfo gem to handle the ncurses build time
dependency.
Add `pname` attribute: if passed, the derivation name defaults to the
gem name + version and only expose the gem's bin.
Add `gemdir` attribute: gives a default lookup path for the Gemfile,
Gemfile.lock and gemset.nix.
Set the `meta.platforms' to `ruby.meta.platforms' by default.
* Manage patches in git
* Fixes the hook invocation to be more safe. Thanks @Mic92
* Install gems as user by default
* Install gem binaries with the /usr/bin/env shebang
* Fixes a bug where the passthru.libPath and passthru.gemPath would
point to the wrong directory
* Overhaul ruby version heuristics
If a gemspec has UTF-8 characters in it, ruby will fail loading it with
invalid multibyte char (US-ASCII)
This change forces the encoding to be correct, we assume everyone now
uses UTF-8.
For some reason `gem install` unsets the GEM_PATH environment variable
internally unless the install dir is provided. This in turn means that
if it invokes extconf.rb and extconf.rb depends on a gem available on
the GEM_PATH (like pkg-config for nokogiri) then it's not available in
that context.
Proof: d8293c4729/lib/rubygems/commands/install_command.rb (L151)
Blame: 9ea600c9c2
This is a hack that sets the :install_dir to where we would install
anyways (the GEM_HOME is the default installation destination).
bundler for example needs to have the GEM_HOME being passed trough to
function properly.
For gems that are loading content dynamically, or can use plugins, use
buildRubyGem.
For executables that are wrapped in their own sealed thing use
bundlerEnv.
lib.escapeShellArgs doesn't work well when a null value is provided.
[] is also the correct value since it's really just an empty list of
arguments that we have.