b802a7be88
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.
53 lines
1.4 KiB
Nix
53 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}";
|
|
};
|
|
}
|