From c5e2f3c06603bc968ad8cc19b6896d4ac6a99d55 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Sun, 25 Sep 2022 09:59:05 +0200 Subject: [PATCH] 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 --- pkgs/development/interpreters/ruby/default.nix | 2 +- pkgs/development/ruby-modules/bundler-app/default.nix | 4 +++- pkgs/top-level/all-packages.nix | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 524734b5a5f..dc7594da17d 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -48,7 +48,7 @@ let , buildEnv, bundler, bundix , libiconv, libobjc, libunwind, Foundation , makeWrapper, buildRubyGem, defaultGemConfig - , baseRuby ? buildPackages.ruby.override { + , baseRuby ? buildPackages.ruby_3_1.override { useRailsExpress = false; docSupport = false; rubygemsSupport = false; diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix index 826ce9e5937..5bb9e47cf5a 100644 --- a/pkgs/development/ruby-modules/bundler-app/default.nix +++ b/pkgs/development/ruby-modules/bundler-app/default.nix @@ -35,7 +35,9 @@ }@args: let - basicEnv = (callPackage ../bundled-common {}) args; + basicEnv = (callPackage ../bundled-common { + inherit ruby; + }) args; cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" "gemdir" ] // { inherit preferLocalBuild allowSubstitutes; # pass the defaults diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 194547c2e80..15d201af88f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4855,7 +4855,13 @@ with pkgs; enableExtraPlugins = true; }; - asciidoctor = callPackage ../tools/typesetting/asciidoctor { }; + asciidoctor = callPackage ../tools/typesetting/asciidoctor { + bundlerApp = bundlerApp.override { + # asciidoc supports both ruby 2 and 3, + # but we don't want to be stuck on it: + ruby = ruby_3_1; + }; + }; asciidoctor-with-extensions = callPackage ../tools/typesetting/asciidoctor-with-extensions { };