Commit Graph

576 Commits

Author SHA1 Message Date
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
35d43b45f7 ruby.rubygems: 3.4.7 -> 3.4.8 2023-03-07 04:20:00 +00: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
Mario Rodas
6323dc433f rubygems: 3.3.20 -> 3.4.7 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
github-actions[bot]
58cfebde3e
Merge staging-next into staging 2023-02-15 00:02:50 +00:00
Felix Buehler
cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01: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
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
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
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