nixpkgs/pkgs/development/interpreters/ruby/ruby-18.nix
zimbatm b802a7be88 Updates ruby 1.8.7 to the latest patch-level. WARNING: unsupported
ruby 1.8 should be phased out as it contains security issues and is
unsupported by the ruby core team. This is the last update available but it
doesn't fix all CVEs.
2013-12-02 20:11:58 +01:00

52 lines
1.4 KiB
Nix

{ stdenv, fetchurl
, zlib, zlibSupport ? true
, openssl, opensslSupport ? true
, gdbm, gdbmSupport ? true
, ncurses, readline, cursesSupport ? false
, groff, docSupport ? false
}:
let
op = stdenv.lib.optional;
ops = stdenv.lib.optionals;
in
stdenv.mkDerivation rec {
version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
name = "ruby-${version}";
src = fetchurl {
url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
sha256 = "b4e34703137f7bfb8761c4ea474f7438d6ccf440b3d35f39cc5e4d4e239c07e3";
};
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
NROFF = "${groff}/bin/nroff";
buildInputs = (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
++ (op opensslSupport openssl)
++ (op gdbmSupport gdbm);
configureFlags = ["--enable-shared" "--enable-pthread"];
installFlags = stdenv.lib.optionalString docSupport "install-doc";
# Bundler tries to create this directory
postInstall = "mkdir -pv $out/${passthru.gemPath}";
meta = {
license = "Ruby";
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
};
passthru = rec {
majorVersion = "1.8";
minorVersion = "7";
patchLevel = "374";
libPath = "lib/ruby/${majorVersion}";
gemPath = "lib/ruby/gems/${majorVersion}";
};
}