Commit Graph

555 Commits

Author SHA1 Message Date
Jörg Thalheim
42a4f2fd0a ruby: fix default CC not beeing set
This is a regression introduced in https://github.com/NixOS/nixpkgs/pull/202041
2023-02-02 18:41:53 +01:00
Vladimír Čunát
4782601857
Merge #211410: ruby: 2.7.6 -> 2.7.7, 3.0.4 -> 3.0.5
...into staging
2023-02-01 10:19:18 +01:00
Shawn8901
a59dda942c treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
ajs124
0f9f669328 ruby_3_0: 3.0.4 -> 3.0.5
Fixes CVE-2021-33621
2023-01-18 15:57:58 +01:00
ajs124
828487c551 ruby_2_7: 2.7.6 -> 2.7.7
Fixes CVE-2021-33621
2023-01-18 15:57:54 +01:00
github-actions[bot]
e076f677a1
Merge staging-next into staging 2023-01-03 18:01:45 +00:00
Jörg Thalheim
34342e25cf
Merge pull request #202041 from Mic92/ruby
ruby: fix cross compiling extensions
2022-12-10 17:21:25 +00:00
Taeer Bar-Yam
f943c3fb89
add buildGems to ruby passthru
This is useful for adding ruby gems that don't come with `nixpkgs`

i.e. `pkgs.ruby.withPackages (_: [ (pkgs.ruby.buildGems ./my-gemset.nix).foo ])`
2022-12-09 12:19:26 -05:00
Jörg Thalheim
f5b5432450 ruby: fix cross compiling extensions
Update pkgs/development/interpreters/ruby/default.nix

Co-authored-by: Artturi <Artturin@artturin.com>
2022-11-30 08:04:26 +01:00
Andrew Marshall
cf5fa5eab2 ruby: Make reproducible
Bundled gems that have native extensions have a gem_make.out file that
is the build log for the native extension. That file contains random
filenames. Since this file is not needed, simply remove it.

With this change, ruby_3_1 build is reproducible, at least on
x86_64-linux.

Example `diff -ur` from `nix build --rebuild --keep-failed .#ruby_3_1`,
before this change:

```diff
diff -ur /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.4.0/gem_make.out /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2.check/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.4.0/gem_make.out
--- /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.4.0/gem_make.out	1969-12-31 19:00:01.000000000 -0500
+++ /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2.check/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/debug-1.4.0/gem_make.out	1969-12-31 19:00:01.000000000 -0500
@@ -3,12 +3,12 @@
 creating Makefile

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-a79mlv sitelibdir\=./.gem.20221028-31660-a79mlv clean
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-zllvs sitelibdir\=./.gem.20221109-31667-zllvs clean
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-a79mlv sitelibdir\=./.gem.20221028-31660-a79mlv
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-zllvs sitelibdir\=./.gem.20221109-31667-zllvs
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'
 compiling debug.c
 compiling iseq_collector.c
@@ -16,7 +16,7 @@
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-a79mlv sitelibdir\=./.gem.20221028-31660-a79mlv install
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-zllvs sitelibdir\=./.gem.20221109-31667-zllvs install
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'
-/nix/store/xq4g38m5ppg78z7bzfxyy2s8ii693k74-coreutils-9.1/bin/install -c -m 0755 debug.so ./.gem.20221028-31660-a79mlv/debug
+/nix/store/xq4g38m5ppg78z7bzfxyy2s8ii693k74-coreutils-9.1/bin/install -c -m 0755 debug.so ./.gem.20221109-31667-zllvs/debug
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/debug-1.4.0/ext/debug'
diff -ur /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/rbs-2.1.0/gem_make.out /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2.check/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/rbs-2.1.0/gem_make.out
--- /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/rbs-2.1.0/gem_make.out	1969-12-31 19:00:01.000000000 -0500
+++ /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2.check/lib/ruby/gems/3.1.0/extensions/x86_64-linux/3.1.0/rbs-2.1.0/gem_make.out	1969-12-31 19:00:01.000000000 -0500
@@ -3,12 +3,12 @@
 creating Makefile

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-cv0bgw sitelibdir\=./.gem.20221028-31660-cv0bgw clean
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-7spnp3 sitelibdir\=./.gem.20221109-31667-7spnp3 clean
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-cv0bgw sitelibdir\=./.gem.20221028-31660-cv0bgw
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-7spnp3 sitelibdir\=./.gem.20221109-31667-7spnp3
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'
 compiling constants.c
 compiling lexer.c
@@ -23,7 +23,7 @@
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'

 current directory: /nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension
-make DESTDIR\= sitearchdir\=./.gem.20221028-31660-cv0bgw sitelibdir\=./.gem.20221028-31660-cv0bgw install
+make DESTDIR\= sitearchdir\=./.gem.20221109-31667-7spnp3 sitelibdir\=./.gem.20221109-31667-7spnp3 install
 make[1]: Entering directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'
-/nix/store/xq4g38m5ppg78z7bzfxyy2s8ii693k74-coreutils-9.1/bin/install -c -m 0755 rbs_extension.so ./.gem.20221028-31660-cv0bgw
+/nix/store/xq4g38m5ppg78z7bzfxyy2s8ii693k74-coreutils-9.1/bin/install -c -m 0755 rbs_extension.so ./.gem.20221109-31667-7spnp3
 make[1]: Leaving directory '/nix/store/m9xczrqsh4chvg4b9z3sl4y93s0jqlbg-ruby-3.1.2/lib/ruby/gems/3.1.0/gems/rbs-2.1.0/ext/rbs_extension'
```
2022-11-09 13:53:41 -05:00
Andrew Marshall
4750b447cf ruby: Do not assume gemPath
Other parts of this derivation use `passthru.gemPath` already, this is
the one exception.
2022-11-09 13:53:41 -05:00
Arnout Engelen
c5e2f3c066
ruby: move towards ruby 3
Currently, `pkgs.ruby` is ruby 2.7.6, which is in 'security updates
only' mode and scheduled to go EOL April 2023. Updating `pkgs.ruby`
to be ruby 3.1 would be a rather large change, but using ruby 3 to
bootstrap building ruby itself would be a nice first step in that
direction.

Tested with asciidoctor that this indeed now allows building a ruby
application without getting ruby 2.7 in the build closure.

Also fixes #192729
2022-10-06 17:09:38 +02:00
ajs124
a902277262 ruby*: use matching openssl version for each release 2022-08-17 20:16:19 +02:00
Mario Rodas
0565bd8b59 ruby: update meta 2022-08-12 04:20:00 +00:00
Mario Rodas
b0447f04cb ruby: remove deprecated passthru variables 2022-08-12 04:20:00 +00:00
Mario Rodas
b171096af9 ruby: update railsexpress patchset 2022-08-12 04:20:00 +00:00
Mario Rodas
d9972a62eb rubygems: 3.2.26 -> 3.3.20 2022-08-12 04:20:00 +00:00
Juan Ibiapina
62e5acd0a7
ruby: Expose generic builder (#173390)
To avoid duplicating the ruby compilation code, this change exposes two
functions `mkRubyVersion` and `mkRuby`, which can be used in an overlay
to build any past or current ruby version.

An example overlay:
```nix
self: super:

{
  ruby_2_7_6 = super.mkRuby {
    version = super.mkRubyVersion "2" "7" "6" "";
    sha256 = "042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877";
  };

  ruby_3_1_2 = super.mkRuby {
    version = super.mkRubyVersion "3" "1" "2" "";
    sha256 = "0gm84ipk6mrfw94852w5h7xxk2lqrxjbnlwb88svf0lz70933131";
  };
}
```
2022-07-04 11:57:06 +02:00
Jörg Thalheim
49145d30e0
Revert "Revert "ruby: enable O3 optimization""
This reverts commit fe8f468f0e.

Now we are targeting the right branch.
2022-06-18 07:21:38 +02:00
Jörg Thalheim
fe8f468f0e
Revert "ruby: enable O3 optimization"
This reverts commit 64e09fac3d.

This commit should go to staging first.
2022-06-18 07:19:45 +02:00
Jörg Thalheim
f93c47b2e3
ruby: enable O3 optimization 2022-06-18 07:19:42 +02:00
Andrew Childs
e6299e5368 ruby: move jemalloc to propagatedBuildInputs
Alternative malloc implementations in ruby are not fully encapsulated.
Their header files are required when building gems with native
extensions, like bcrypt.
2022-06-06 13:13:32 +09:00
JR Boyens
5bd5ab2410 ruby_3_1: 3.1.1 -> 3.1.2
https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-1-2-released/

Fixes: CVE-2022-28738, CVE-2022-28739
2022-04-15 02:22:24 +02:00
JR Boyens
3e995fbb31 ruby_3_0: 3.0.3 -> 3.0.4
https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-0-4-released/

Fixes: CVE-2022-28738, CVE-2022-28739
2022-04-15 02:21:54 +02:00
JR Boyens
dd5210d85a ruby_2_7: 2.7.5 -> 2.7.6
https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-7-6-released/

Fixes: CVE-2022-28739
2022-04-15 02:21:06 +02:00
Andrew Childs
6e859afe34 ruby: always build from the tarball, drop support for git builds 2022-03-15 21:57:36 +09:00
Andrew Childs
9634895022 ruby: fix build with bundled gems 2022-03-15 21:57:36 +09:00
Andrew Childs
fa6f87a8ae ruby: fix default value of RUBY_REVISION when building from git
The revision.h header is normally pregenerated and included in the
tarball. When building from a git export the value defaults to "HEAD".
2022-03-15 21:57:36 +09:00
Andrew Childs
aeb3ae5008 ruby: separate rails express patches and source location
These are unnecessarily composed. Disabling useRailsExpress changes to
using a tarball instead of fetching directly from git, which will have
unexpected effects. In come cases (Ruby 2.7) it will cause the build
to fail due to en error rubygems/installer.rb. It also changes the set
of gems that are available, since the bundled gems[1] are only
included in the tarball.

[1]: https://stdgems.org/
2022-03-15 21:57:35 +09:00
Alyssa Ross
d7e181ff83
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	pkgs/development/compilers/ocaml/4.12.nix
	pkgs/development/python-modules/oci/default.nix
	pkgs/tools/admin/bubblewrap/default.nix
2022-03-14 12:33:16 +00:00
Teo Ljungberg
4ad8b43ce2 ruby: 3.1.0 -> 3.1.1 2022-03-12 19:46:30 +01:00
Felix Buehler
ae747bc007 rubygems: rename name to pname 2022-02-28 23:39:42 +01:00
arcnmx
7ad577f72a ruby: remove config indiscriminately
stripping config data was introduced in #138368, but was unintentionally
added to the wrong `optionalString` condition. This isn't a problem in
practice (as the relevant condition flag is enabled by default), but was
unintended and therefore fixed here.
2022-01-23 10:56:31 -08:00
Mario Rodas
a2d81a8977 ruby_3_1: init at 3.1.0
https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/
2021-12-25 04:20:00 +00:00
arcnmx
4ac0f8e045 ruby: more consistent baseRuby reference removal 2021-12-23 07:32:59 -08:00
arcnmx
09e3924934 ruby: configure via {enable,with}Feature 2021-12-23 07:32:59 -08:00
arcnmx
4e955d2101 ruby: remove references to baseRuby 2021-12-23 07:32:59 -08:00
Charlotte Van Petegem
26038de225
ruby: 2.7.4 -> 2.7.5, 3.0.2 -> 3.0.3 2021-11-25 10:11:28 +01:00
Sergei Trofimovich
c6b949c09c ruby_2_6, rubyPackages_2_6: drop unused package 2021-10-22 08:46:57 +01:00
Tim Steinbach
e9f8f75afc
rubygems: 3.2.24 -> 3.2.26 2021-08-30 07:58:39 -04:00
Mario Rodas
3320ca4bcb ruby: rubygems 3.2.16 -> 3.2.24 2021-07-16 04:20:00 +00:00
Mario Rodas
afd61a6069 ruby_3_0: 3.0.1 -> 3.0.2
https://www.ruby-lang.org/en/news/2021/07/07/ruby-3-0-2-released/
2021-07-07 04:20:00 +00:00
Mario Rodas
5f9f17cc11 ruby_2_7: 2.7.3 -> 2.7.4
https://www.ruby-lang.org/en/news/2021/07/07/ruby-2-7-4-released/
2021-07-07 04:20:00 +00:00
Mario Rodas
2d420c1559 ruby_2_6: 2.6.7 -> 2.6.8
https://www.ruby-lang.org/en/news/2021/07/07/ruby-2-6-8-released/
2021-07-07 04:20:00 +00:00
Mario Rodas
6d4b46a56d ruby: update RVM patchsets 2021-07-07 04:20:00 +00:00
Arthur Gautier
7b48454121 rubygems: ensure temporary directories are cleaned up
see #123718

Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-05-20 20:51:41 +00:00
Mario Rodas
92bff24dc1
Merge pull request #119506 from marsam/ruby-disable-jit
ruby: build without jit by default
2021-05-01 21:56:15 -05:00
Andrew Childs
f16053c34d rubygems: 3.1.3 -> 3.2.16 2021-04-21 13:23:53 +09:00
Jan Tojnar
625ce6c7f6 Merge branch 'staging-next' into staging
In python-packages.nix, resolve conflict between 50d604314e and 187d0371ab.
2021-04-08 17:14:31 +02:00
Mario Rodas
83612c3f98 ruby_2_7: 2.7.2 -> 2.7.3
https://www.ruby-lang.org/en/news/2021/04/05/ruby-2-7-3-released/
2021-04-07 04:20:00 +00:00