diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix index 82393fe95c7..d5ccb19caec 100644 --- a/pkgs/development/interpreters/ruby/ruby-19.nix +++ b/pkgs/development/interpreters/ruby/ruby-19.nix @@ -1,14 +1,52 @@ -{ ruby18, fetchurl }: +{ stdenv, fetchurl +, zlib, zlibSupport ? true +, openssl, opensslSupport ? true +, gdbm, gdbmSupport ? true +, ncurses, readline, cursesSupport ? false +, groff, docSupport ? false +}: -ruby18.override rec { - version = "1.9.1-p243"; +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 = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-${version}.tar.gz"; - sha256 = "1r4bls76dg97lqgwkxi6kbxzirkvjm21d4i2qyz469lnncvqwn9i"; + url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.gz"; + sha256 = "0zmxdqzprbdc5mvmba1i94mpqnqxxlh460jri7bx6i29bibigj0w"; }; - passthru = { - libPath = "lib/ruby-1.9"; + # 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.9"; + minorVersion = "2"; + patchLevel = "290"; + libPath = "lib/ruby/${majorVersion}"; + gemPath = "lib/ruby/gems/${majorVersion}"; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d46ec6f974d..6d6ffa69275 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2600,7 +2600,7 @@ let regina = callPackage ../development/interpreters/regina {}; ruby18 = callPackage ../development/interpreters/ruby { }; - #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; }; + ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { }; ruby = ruby18; rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });