Commit Graph

327 Commits

Author SHA1 Message Date
Michael Francis
ae4fac9f4b
Use minimal git for fetching gems 2021-03-26 17:04:37 -04:00
Mario Rodas
7121ef61da buildRubyGem: update CFLAGS for ruby 3.0 on Clang 2021-02-22 04:20:00 +00:00
Milan
bd4b22a87a
gitlab: 13.7.4 -> 13.8.4 (#112836) 2021-02-17 22:55:14 +01:00
Wael Nasreddine
2df97e4b0a
Merge pull request #111662 from nicknovitski/remove-ruby-2.5
Remove Ruby 2.5
2021-02-15 10:21:46 -08:00
Justin Humm
8d27886e08
defaultGemConfig.openssl: build with openssl 2021-02-12 15:36:38 +00:00
Nick Novitski
eda1eab733 ruby_2_5: remove 2021-02-03 12:10:32 -08:00
Pavol Rusnak
a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
zowoq
59b83c43e0 treewide: add final newline 2021-01-22 07:18:04 +10:00
zowoq
0ebfeaeca1 bundix: add final newline patch 2021-01-22 07:18:04 +10:00
github-actions[bot]
b7f20dcd02
Merge master into staging-next 2021-01-18 01:16:03 +00:00
Pavol Rusnak
cf2a67fef3
pkgs/development: stdenv.lib -> lib
this takes care of the following folders in pkgs/development:
* arduino
* chez-modules
* go-packages
* guile-modules
* idris-modules
* perl-modules
* r-modules
* ruby-modules
2021-01-17 19:11:59 +01:00
Jan Tojnar
2b9372b2ca
Merge branch 'master' into staging-next 2021-01-11 13:36:42 +01:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Mario Rodas
7217c05c66
Merge pull request #108831 from marsam/update-solargraph
solargraph: 0.39.17 -> 0.40.1
2021-01-09 18:26:25 -05:00
Mario Rodas
2544a6754a solargraph: 0.39.17 -> 0.40.1 2021-01-09 06:32:51 +00:00
Mario Rodas
abe3a1867d defaultGemConfig: fix zlib flags in nokogiri 2021-01-09 06:32:51 +00:00
Sandro
9075da145a
Merge pull request #108641 from Mic92/ruby-packages 2021-01-07 12:23:26 +01:00
Jörg Thalheim
37f355f3e5 rubyPackages: remove problematic packages
Those packages block regenerating the lock file.
Bundler loops forever
2021-01-07 10:04:22 +00:00
Ben Siraphob
b04fc593e7 treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
Jörg Thalheim
355d593ac0
Merge pull request #89433 from fzakaria/rbenv
rbenv: init at 1.1.2
2020-12-03 07:19:03 +00:00
Farid Zakaria
4af8bc084a
buildRubyGem: fix to support bundler cmds (#104977)
The way in which Nixpks builds Ruby gems means that certain operations
by bundler *will not work*, namely `bundle install --redownload`.

According to the source the _cache/_ directory should have been kept,
however it seems through revisions to the file it has been purged.

Here was the comment from the original commit that introduced
buildRubyGem:
```
  # Note:
  #   We really do need to keep the $out/${ruby.gemPath}/cache.
  #   This is very important in order for many parts of RubyGems/Bundler to not blow up.
  #   See https://github.com/bundler/bundler/issues/3327
```

Why is the _cache_ directory needed?

Bundler and RubyGems uses the cache as a source of truth.
When bundler executes `bundler install --redownload`, any gems it
discovers in the _GEM_PATH_ it assums must have their _.gem_ file
present in the cache (unaware it was installed from Nix).

Rather than downloading the gem from RubyGems the bundler code forcibly
re-installs the gem from the cache directory instead and **fails** if it
does not exist.

I've opened https://github.com/rubygems/rubygems/issues/4088 to see if
this failure should be soft and not so explicit; or fallback to fetching
the gem from scratch.

Without this change the following is the error:
```bash
> [nix-shell:~/code/nix/playground/jruby-bundler-rake]$ bundle install --force
[DEPRECATED] The `--force` option has been renamed to `--redownload`
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jruby.ext.openssl.SecurityHelper (file:/nix/store/fis6nzrpw9pmcivr84qh5byfgm07qn10-jruby-9.2.13.0/lib/ruby/stdlib/jopenssl.jar) to field java.security.MessageDigest.provider
WARNING: Please consider reporting this to the maintainers of org.jruby.ext.openssl.SecurityHelper
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Fetching gem metadata from https://rubygems.org/.
Using bundler 2.1.4
Installing hello-world 1.2.0
Bundler::GemNotFound: Could not find hello-world-1.2.0.gem for installation
An error occurred while installing hello-world (1.2.0), and Bundler
cannot continue.
Make sure that `gem install hello-world -v '1.2.0' --source
'https://rubygems.org/'` succeeds before bundling.
```

Wth the fix the following no woccurs:
```bash
[nix-shell:~/code/nix/playground/jruby-bundler-rake]$ bundle install --redownload
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jruby.ext.openssl.SecurityHelper (file:/nix/store/69wjlj4yirp48rv1q03zxgd4xvf0150d-jruby-9.2.13.0/lib/ruby/stdlib/jopenssl.jar) to field java.security.MessageDigest.provider
WARNING: Please consider reporting this to the maintainers of org.jruby.ext.openssl.SecurityHelper
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Fetching gem metadata from https://rubygems.org/.
Using bundler 2.1.4
Installing hello-world 1.2.0
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
```

```
[nix-shell:~/code/nix/playground/jruby-bundler-rake]$ ls -l /nix/store/cwl9n5073hqgpfhnw4wic13nrrgg9dn8-gem-env/lib/jruby/gems/2.5.0/cache/
total 8
lrwxrwxrwx 1 fmzakari primarygroup 102 Dec 31  1969 bundler-2.1.4.gem -> /nix/store/ifc8a0gsfkrhkv953rd4rz8bcspahi8y-bundler-2.1.4/lib/jruby/gems/2.5.0/cache/bundler-2.1.4.gem
lrwxrwxrwx 1 fmzakari primarygroup 110 Dec 31  1969 hello-world-1.2.0.gem -> /nix/store/xi9ln6n1mz2is5ppykjxqhhkpjq9zm6i-hello-world-1.2.0/lib/jruby/gems/2.5.0/cache/hello-world-1.2.0.gem
```

I have a minimal project that demonstrates this issue at https://github.com/fzakaria/jruby-bundler-nix-failure
2020-11-30 12:15:12 +01:00
Farid Zakaria
5d1f37f65d rbenv: init at 1.1.2
Add new derivation for rbenv -- a ruby environment manager.

Apply suggestions from code review

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2020-11-29 21:11:28 -08:00
Graham Christensen
bc49a0815a
utillinux: rename to util-linux 2020-11-24 12:42:06 -05:00
Milan Pässler
2429d5a307 gitlab: 13.5.1 -> 13.6.0
Changed ruby version to 2.7.x to match upstream.
Added a gem config for gitlab-pg_query as it tries to download a source
tarball during the build process.
Also removed a patch for gitaly that has become obsolete by upstream fix
[here](de04077c25).
2020-11-21 01:38:35 +01:00
zimbatm
c3357d2cd9
buildRubyGem: remove Makefiles
The generated Makefile is not reproducible. The HDRS section is inode
dependent. "sitearchdir" and "sitelibdir" contains a timestamp and
random postfix. See https://r13y.com/diff/8350ec80865096f84705f3e000d97f151760e768bf626e52c84570413c5e1093-f9dea788fe62d683e90e12e166f29b778c39c699a5be39f9262e5cffb77d3e45.html

Instead of trying to make it reproducible, remove it entirely. It was
only useful for generating the .so file and it no longer needed.

See also https://bugs.ruby-lang.org/issues/15304

Fixes the rubyPackages.nokogiry reproducibility for example.
2020-10-27 14:20:09 +01:00
Mario Rodas
08236e4148 solargraph: 0.39.8 -> 0.39.17 2020-10-09 04:20:00 +00:00
Lassulus
b4ad4325ac
Merge pull request #90258 from Shopify/epk/bump-solargraph
solargraph: 0.38.6 -> 0.39.8
2020-08-22 10:08:36 +02:00
Joe Hermaszewski
f6e07b3c5d defaultGemConfig.mathematical: fix cross compilation 2020-07-10 07:48:12 +02:00
Aditya Sharma
19c5353b73
solargraph: 0.38.6 -> 0.39.8 2020-06-13 16:51:26 -04:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Michael Fellinger
b285fa07d5
set GEM_HOME via Gem.paths 2020-04-06 15:31:18 +02:00
Michael Fellinger
f92600b406
update versions in Gemfile.lock 2020-04-06 15:02:13 +02:00
Michael Fellinger
a2e73b062a
bundler: 1.17.3 -> 2.1.4 2020-04-03 23:52:14 +02:00
Douglas Soares de Andrade
dc4a0da5ff solargraph: 0.38.0 -> 0.38.6 2020-03-27 13:12:16 -07:00
zimbatm
89a09456c7
Revert "defaultGemConfig: remove asciidoctor-diagram JARs" (#81737)
This reverts commit 1ac11cc1c1.

asciidoctor-diagram starts Java processes, so the JARs are necessary
on all platforms.

See https://github.com/NixOS/nixpkgs/pull/77149#issuecomment-594576339.
2020-03-04 18:04:36 +00:00
Jan Tojnar
9d0fac46fd
Merge pull request #81664 from jtojnar/vips-cleanup
vips: general clean-ups
2020-03-04 08:26:18 +01:00
Jan Tojnar
3aa9d99a0a
vips: split into multiple outputs 2020-03-04 01:32:41 +01:00
talyz
affcf9ba1e bundlerEnv: Add option to copy gem files instead of symlinking
The way ruby loads gems and keeps track of their paths seems to not
always work very well when the gems are accessed through
symlinks. Ruby will then complain that the same files are loaded
multiple times; it relies on the file's full path to determine whether
the file is loaded or not.

This adds an option to simply copy all gem files into the environment
instead, which gets rid of this issue, but may instead result in major
file duplication.
2020-03-03 21:19:01 +01:00
Michael Fellinger
84fa1d2fb3
rubyWithPackages.libv8: fix compilation 2020-02-18 22:29:38 +01:00
zimbatm
bcdc90a3a7 ruby_2_4: remove
According to https://endoflife.software/programming-languages/server-side-scripting/ruby
ruby 2.4 will go end-of-life in march, where the new release of nixpkgs
will be cut. We won't be able to support it for security updates.

Remove all references to ruby_2_4 and add ruby_2_7 instead where
missing.

Mark packages that depend on ruby 2.4 as broken:
* chefdk
* sonic-pi
2020-02-10 13:23:35 -05:00
Alyssa Ross
1ac11cc1c1
defaultGemConfig: remove asciidoctor-diagram JARs
(Except on JRuby, where these are presumably important.)
2020-01-09 15:55:02 +00:00
Alyssa Ross
fbe4716bd5
defaultGemConfig: reduce mathematical closure size
ext/ isn't needed once the extensions have been built, contains
references to a bunch of huge dependencies, and contains megabytes of
tests.
2020-01-09 15:55:00 +00:00
Alyssa Ross
ec8293fbfe
buildRubyGem: remove more bloat files 2020-01-09 15:54:57 +00:00
Alyssa Ross
11970ee1d6
buildRubyGem: strip by default
I'm not sure why this was disabled, but it looks like a pretty
harmless way to bring down closure size and remove references to
compilers and stuff.
2020-01-09 15:54:56 +00:00
Frederik Rietdijk
f08e3e38d4 Merge master into staging-next 2020-01-02 21:41:13 +01:00
zimbatm
a9341dbb33
ruby_2_7.withPackages: test 2020-01-01 00:25:35 +00:00
Frederik Rietdijk
6d059becd3 Merge gcc-9 into staging (#68029) 2019-12-30 16:38:38 +01:00
Merijn Broeren
133103d709
treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
Alyssa Ross
106d0920d9
bundlerEnv: fix for Ruby 2.7
Setting a Bundler version with GEM_PATH doesn't seem to work in Ruby
2.7, so we need to use the LOAD_PATH instead.  Without this,
bundlerEnv environments will always use the version of Bundler that
comes with Ruby, which won't necessarily work because it isn't the
version that was used to generate the bundle.

For example, building ronn with Ruby 2.7 without this change results
in a broken executable, but it works (when built with all packaged
Ruby versions) after this change.
2019-12-26 15:49:04 +00:00
Franz Pletz
77b6c3cd06
Merge remote-tracking branch 'origin/master' into gcc-9 2019-12-26 14:17:36 +01:00