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
This commit is contained in:
zimbatm 2019-12-28 12:29:24 +01:00 committed by worldofpeace
parent ccc54f0fc3
commit bcdc90a3a7
7 changed files with 14 additions and 31 deletions

View File

@ -105,5 +105,7 @@ mkDerivation rec {
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Phlogistique kamilchm ]; maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
# sonic-pi depends on ruby 2.4 which we don't support anymore
broken = true;
}; };
} }

View File

@ -26,7 +26,6 @@ let
generic = { version, sha256 }: let generic = { version, sha256 }: let
ver = version; ver = version;
tag = ver.gitTag; tag = ver.gitTag;
atLeast25 = lib.versionAtLeast ver.majMin "2.5";
atLeast27 = lib.versionAtLeast ver.majMin "2.7"; atLeast27 = lib.versionAtLeast ver.majMin "2.7";
baseruby = self.override { baseruby = self.override {
useRailsExpress = false; useRailsExpress = false;
@ -77,14 +76,13 @@ let
nativeBuildInputs = [ autoreconfHook bison ] nativeBuildInputs = [ autoreconfHook bison ]
++ (op docSupport groff) ++ (op docSupport groff)
++ op (stdenv.buildPlatform != stdenv.hostPlatform) buildPackages.ruby; ++ op (stdenv.buildPlatform != stdenv.hostPlatform) buildPackages.ruby;
buildInputs = buildInputs = [ autoconf ]
(op fiddleSupport libffi) ++ (op fiddleSupport libffi)
++ (ops cursesSupport [ ncurses readline ]) ++ (ops cursesSupport [ ncurses readline ])
++ (op zlibSupport zlib) ++ (op zlibSupport zlib)
++ (op opensslSupport openssl) ++ (op opensslSupport openssl)
++ (op gdbmSupport gdbm) ++ (op gdbmSupport gdbm)
++ (op yamlSupport libyaml) ++ (op yamlSupport libyaml)
++ (op atLeast25 autoconf)
# Looks like ruby fails to build on darwin without readline even if curses # Looks like ruby fails to build on darwin without readline even if curses
# support is not enabled, so add readline to the build inputs if curses # support is not enabled, so add readline to the build inputs if curses
# support is disabled (if it's enabled, we already have it) and we're # support is disabled (if it's enabled, we already have it) and we're
@ -106,15 +104,10 @@ let
cp -r ${rubygems}/test/rubygems $sourceRoot/test cp -r ${rubygems}/test/rubygems $sourceRoot/test
''; '';
postPatch = if atLeast25 then '' postPatch = ''
sed -i configure.ac -e '/config.guess/d' sed -i configure.ac -e '/config.guess/d'
cp --remove-destination ${config}/config.guess tool/ cp --remove-destination ${config}/config.guess tool/
cp --remove-destination ${config}/config.sub tool/ cp --remove-destination ${config}/config.sub tool/
''
else opString useRailsExpress ''
sed -i configure.in -e '/config.guess/d'
cp ${config}/config.guess tool/
cp ${config}/config.sub tool/
''; '';
# Force the revision.h generation. Somehow `revision.tmp` is an empty # Force the revision.h generation. Somehow `revision.tmp` is an empty
@ -230,14 +223,6 @@ let
) args; in self; ) args; in self;
in { in {
ruby_2_4 = generic {
version = rubyVersion "2" "4" "9" "";
sha256 = {
src = "1bn6n5b920qy3lsx99jr8495jkc3sg89swgb96d5fgd579g6p6zr";
git = "066kb1iki7mx7qkm10xhj5b6v8s47wg68v43l3nc36y2hyim1w2c";
};
};
ruby_2_5 = generic { ruby_2_5 = generic {
version = rubyVersion "2" "5" "7" ""; version = rubyVersion "2" "5" "7" "";
sha256 = { sha256 = {

View File

@ -6,7 +6,6 @@ let
stdenv = pkgs.stdenv; stdenv = pkgs.stdenv;
rubyVersions = with pkgs; [ rubyVersions = with pkgs; [
ruby_2_4
ruby_2_5 ruby_2_5
ruby_2_6 ruby_2_6
ruby_2_7 ruby_2_7

View File

@ -1,9 +1,9 @@
{ lib, bundlerEnv, bundlerUpdateScript, ruby_2_4, perl, autoconf }: { lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }:
bundlerEnv { bundlerEnv {
name = "chef-dk-2.4.17"; name = "chef-dk-2.4.17";
ruby = ruby_2_4; inherit ruby;
gemdir = ./.; gemdir = ./.;
buildInputs = [ perl autoconf ]; buildInputs = [ perl autoconf ];
@ -16,5 +16,7 @@ bundlerEnv {
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ offline nicknovitski ]; maintainers = with maintainers; [ offline nicknovitski ];
platforms = platforms.unix; platforms = platforms.unix;
# chefdk depends on ruby 2.4 which we don't support anymore
broken = true;
}; };
} }

View File

@ -6,7 +6,6 @@
, withPerl528 ? false, perl528 , withPerl528 ? false, perl528
, withPerl530 ? true, perl530 , withPerl530 ? true, perl530
, withPerldevel ? false, perldevel , withPerldevel ? false, perldevel
, withRuby_2_4 ? false, ruby_2_4
, withRuby_2_5 ? false, ruby_2_5 , withRuby_2_5 ? false, ruby_2_5
, withRuby_2_6 ? true, ruby_2_6 , withRuby_2_6 ? true, ruby_2_6
, withRuby_2_7 ? true, ruby_2_7 , withRuby_2_7 ? true, ruby_2_7
@ -43,7 +42,6 @@ stdenv.mkDerivation rec {
++ optional withPerl528 perl528 ++ optional withPerl528 perl528
++ optional withPerl530 perl530 ++ optional withPerl530 perl530
++ optional withPerldevel perldevel ++ optional withPerldevel perldevel
++ optional withRuby_2_4 ruby_2_4
++ optional withRuby_2_5 ruby_2_5 ++ optional withRuby_2_5 ruby_2_5
++ optional withRuby_2_6 ruby_2_6 ++ optional withRuby_2_6 ruby_2_6
++ optional withRuby_2_7 ruby_2_7 ++ optional withRuby_2_7 ruby_2_7
@ -66,7 +64,6 @@ stdenv.mkDerivation rec {
${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"} ${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"}
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"} ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"} ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
${optionalString withRuby_2_4 "./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby"}
${optionalString withRuby_2_5 "./configure ruby --module=ruby25 --ruby=${ruby_2_5}/bin/ruby"} ${optionalString withRuby_2_5 "./configure ruby --module=ruby25 --ruby=${ruby_2_5}/bin/ruby"}
${optionalString withRuby_2_6 "./configure ruby --module=ruby26 --ruby=${ruby_2_6}/bin/ruby"} ${optionalString withRuby_2_6 "./configure ruby --module=ruby26 --ruby=${ruby_2_6}/bin/ruby"}
${optionalString withRuby_2_7 "./configure ruby --module=ruby27 --ruby=${ruby_2_7}/bin/ruby"} ${optionalString withRuby_2_7 "./configure ruby --module=ruby27 --ruby=${ruby_2_7}/bin/ruby"}

View File

@ -378,8 +378,10 @@ mapAliases ({
ruby_2_2_9 = throw "deprecated 2018-0213: use a newer version of ruby"; ruby_2_2_9 = throw "deprecated 2018-0213: use a newer version of ruby";
ruby_2_3_6 = throw "deprecated 2018-0213: use a newer version of ruby"; ruby_2_3_6 = throw "deprecated 2018-0213: use a newer version of ruby";
ruby_2_3 = throw "deprecated 2019-09-06: use a newer version of ruby"; ruby_2_3 = throw "deprecated 2019-09-06: use a newer version of ruby";
ruby_2_4_3 = throw "deprecated 2018-0213: use ruby_2_4 instead"; ruby_2_4_3 = throw "deprecated 2018-0213: use a newer version of ruby";
ruby_2_5_0 = throw "deprecated 2018-0213: use ruby_2_5 instead"; ruby_2_4 = throw "deprecated 2019-12: use a newer version of ruby";
ruby_2_5_0 = throw "deprecated 2018-0213: use a newer version of ruby";
rubyPackages_2_4 = throw "deprecated 2019-12: use a newer version of rubyPackages instead";
rubygems = throw "deprecated 2016-03-02: rubygems is now bundled with ruby"; rubygems = throw "deprecated 2016-03-02: rubygems is now bundled with ruby";
rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02 rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02
s6Dns = s6-dns; # added 2018-07-23 s6Dns = s6-dns; # added 2018-07-23

View File

@ -9424,7 +9424,6 @@ in
inherit (darwin) libiconv libobjc libunwind; inherit (darwin) libiconv libobjc libunwind;
inherit (darwin.apple_sdk.frameworks) Foundation; inherit (darwin.apple_sdk.frameworks) Foundation;
}) })
ruby_2_4
ruby_2_5 ruby_2_5
ruby_2_6 ruby_2_6
ruby_2_7; ruby_2_7;
@ -9445,7 +9444,6 @@ in
ruby = ruby_2_6; ruby = ruby_2_6;
rubyPackages = rubyPackages_2_6; rubyPackages = rubyPackages_2_6;
rubyPackages_2_4 = recurseIntoAttrs ruby_2_4.gems;
rubyPackages_2_5 = recurseIntoAttrs ruby_2_5.gems; rubyPackages_2_5 = recurseIntoAttrs ruby_2_5.gems;
rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems; rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems; rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
@ -21363,9 +21361,7 @@ in
wavebox = callPackage ../applications/networking/instant-messengers/wavebox { }; wavebox = callPackage ../applications/networking/instant-messengers/wavebox { };
sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi { sonic-pi = libsForQt5.callPackage ../applications/audio/sonic-pi { };
ruby = ruby_2_4; # sonic-pi build breaks with ruby 2.5 and 2.6
};
st = callPackage ../applications/misc/st { st = callPackage ../applications/misc/st {
conf = config.st.conf or null; conf = config.st.conf or null;