Fix the new Ruby interpreters (fixes #3509).

Ruby >= 2.1.0 will try to download config.{sub,guess} if not already present.
This provides both files in a pure manner, and also deletes the download script
to prevent any future confusion.
This commit is contained in:
Charles Strahan
2014-09-18 11:43:16 -04:00
parent eca58fd02f
commit e38d7cbfb2
4 changed files with 33 additions and 3 deletions
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub
{ stdenv, fetchurl, fetchgit, fetchFromGitHub
, zlib, zlibSupport ? true
, openssl, opensslSupport ? true
, gdbm, gdbmSupport ? true
@@ -12,6 +12,7 @@ let
op = stdenv.lib.optional;
ops = stdenv.lib.optionals;
patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
config = import ./config.nix fetchgit;
baseruby = ruby_2_1_2.override { useRailsExpress = false; };
in
@@ -61,6 +62,13 @@ stdenv.mkDerivation rec {
"${patchSet}/patches/ruby/2.1.2/railsexpress/10-funny-falcon-method-cache.patch"
];
# Ruby >= 2.1.0 tries to download config.{guess,sub}
postPatch = ''
rm tool/config_files.rb
cp ${config}/config.guess tool/
cp ${config}/config.sub tool/
'';
configureFlags = ["--enable-shared" ]
++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
# on darwin, we have /usr/include/tk.h -- so the configure script detects