Commit graph

200 commits

Author SHA1 Message Date
Mario Rodas 1f1268b332 ruby_3_3: preview1 -> preview2
Changelog: https://www.ruby-lang.org/en/news/2023/09/14/ruby-3-3-0-preview2-released/
2023-09-15 04:20:00 +00:00
Kirill Radzikhovskyy f633f5965a ruby_3_3: init at 3.3.0.preview1 2023-07-30 20:25:49 +10:00
github-actions[bot] 368809e03a
Merge master into staging-next 2023-05-18 18:01:10 +00:00
Martin Weinelt 4c5f59b598
Merge pull request #230868 from mweinelt/ruby_2_7-eol
ruby_2_7: mark end-of-life
2023-05-18 16:27:25 +02:00
Martin Weinelt ddd98043bb
ruby_2_7: mark end-of-life
The 2.7 track reached its end of life on 2023/03/31.
2023-05-18 01:16:52 +02:00
Raito Bezarius 73df46ee77 ruby_3_0: make it use OpenSSL 3
Ruby 3.0 pretend they don't support OpenSSL3 out of the box (https://bugs.ruby-lang.org/issues/18658).
Actually, they suggest to install a OpenSSL 3.x gem. This is what we are doing.

Our Ruby 3.0 will probably exhibit slight incompatibilities, in exchange, we get nice security.
2023-05-15 14:36:02 +02:00
github-actions[bot] 206417b7a2
Merge master into staging-next 2023-05-12 18:01:18 +00:00
Alyssa Ross 5e06b3cb19 treewide: don't use rustPlatform.rust
This will be deprecated in the next commit.
2023-05-12 15:31:21 +00:00
Nick Cao 065a145ab5
ruby_3_0: pin to openssl_1_1
fixup https://github.com/NixOS/nixpkgs/pull/229890
2023-05-11 20:40:45 +08:00
Nick Cao 4e84de9755
ruby_3_0: unpin openssl_1_1 2023-05-04 20:18:56 +08:00
Nick Cao 6469970155
ruby_3_2: only enable yjit on supported platforms 2023-04-30 14:58:53 +08:00
Mario Rodas 8826b550a0 ruby: update default version to ruby_3_1 2023-03-30 04:20:00 +00:00
Mario Rodas 3f2cadf4ea ruby_3_2: 3.2.1 -> 3.2.2
Security fixes:
- CVE-2023-28755: ReDoS vulnerability in URI
- CVE-2023-28756: ReDoS vulnerability in Time

https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
2023-03-30 04:20:00 +00:00
Mario Rodas 1aecb7bea3 ruby_3_1: 3.1.3 -> 3.1.4
Security fixes:
- CVE-2023-28755: ReDoS vulnerability in URI
- CVE-2023-28756: ReDoS vulnerability in Time

https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-1-4-released/
2023-03-30 04:20:00 +00:00
Mario Rodas 17fa5d3a36 ruby_3_0: 3.0.5 -> 3.0.6
Security fixes:
- CVE-2023-28755: ReDoS vulnerability in URI
- CVE-2023-28756: ReDoS vulnerability in Time

https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-0-6-released/
2023-03-30 04:20:00 +00:00
Mario Rodas 99ee3de476 ruby_2_7: 2.7.7 -> 2.7.8
Security fixes:
- CVE-2023-28755: ReDoS vulnerability in URI
- CVE-2023-28756: ReDoS vulnerability in Time

https://www.ruby-lang.org/en/news/2023/03/30/ruby-2-7-8-released/
2023-03-30 04:20:00 +00:00
Sergei Trofimovich 8dd301559a ruby: disable parallel install
Without the change parallel installs fail as:

    installing rdoc:                    ...-ruby-2.7.7-devdoc/share/ri/2.7.0/system
    Traceback (most recent call last):
            13: from ./tool/rbinstall.rb:954:in `<main>'
            12: from ./tool/rbinstall.rb:954:in `each'
            11: from ./tool/rbinstall.rb:957:in `block in <main>'
            10: from ./tool/rbinstall.rb:438:in `block in <main>'
             9: from ./tool/rbinstall.rb:262:in `install_recursive'
             8: from ./tool/rbinstall.rb:262:in `each'
             7: from ./tool/rbinstall.rb:271:in `block in install_recursive'
             6: from ./tool/rbinstall.rb:174:in `install'
             5: from /build/ruby-2.7.7/lib/fileutils.rb:876:in `install'
             4: from /build/ruby-2.7.7/lib/fileutils.rb:1587:in `fu_each_src_dest'
             3: from /build/ruby-2.7.7/lib/fileutils.rb:1605:in `fu_each_src_dest0'
             2: from /build/ruby-2.7.7/lib/fileutils.rb:1589:in `block in fu_each_src_dest'
             1: from /build/ruby-2.7.7/lib/fileutils.rb:882:in `block in install'
    /build/ruby-2.7.7/lib/fileutils.rb:882:in `chmod': No such file or directory @ apply2files - ...-ruby-2.7.7-devdoc/share/ri/2.7.0/system/ARGF/inspect-i.ri (Errno::ENOENT)
    make: *** [uncommon.mk:373: do-install-all] Error 1
    make: *** Waiting for unfinished jobs....
2023-03-16 08:01:21 +00:00
Andrew Childs 57ecdd6abd ruby: fix cross compilation 2023-03-09 17:55:45 +09:00
Mario Rodas aaa11f7210 ruby: add rubygems to expression passthru 2023-03-07 04:20:00 +00:00
Mario Rodas 188e51d08c ruby_3_2: build with YJIT support by default 2023-02-24 04:20:00 +00:00
Mario Rodas 0ce320c933 ruby_3_2: init at 3.2.1
https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
2023-02-24 04:20:00 +00:00
Mario Rodas fec0d7798d ruby_3_1: 3.1.2 -> 3.1.3
https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-1-3-released/
2023-02-24 04:20:00 +00:00
Mario Rodas 52ffebb7a7 ruby: add strictDeps 2023-02-24 04:20:00 +00:00
Mario Rodas 2f22789063 rvm-patchsets: drop 2023-02-24 04:20:00 +00:00
github-actions[bot] 681b1c28a4
Merge staging-next into staging 2023-03-12 12:02:07 +00:00
Mario Rodas 8b6900dc2f
Merge pull request #210228 from amarshall/ruby-makebinarywrapper
ruby: Fix withPackages on darwin with makeBinaryWrapper
2023-03-11 18:57:59 -05:00
Stanisław Pitucha c1a2a95aac ruby_3_1,ruby_3_0,ruby_2_7: allow enabling dtrace support on linux 2023-03-10 20:37:15 +11:00
Mario Rodas 8780d8542d ruby_3_0: fix build on darwin 2023-02-18 10:45:00 -05:00
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
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
Andrew Marshall baf1f1293b ruby: Fix withPackages on darwin with makeBinaryWrapper
See also https://github.com/NixOS/nixpkgs/pull/161298
2023-01-11 11:28:41 -05: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
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