From 936c460abbd03a011183d5506b8a63f836b83e85 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 3 Oct 2011 15:35:50 +0000 Subject: [PATCH] Ruby: Separate 'install the current version of ruby' from 'install version x of ruby' when x is also the current version svn path=/nixpkgs/trunk/; revision=29600 --- .../development/interpreters/ruby/default.nix | 53 +------------------ .../development/interpreters/ruby/ruby-19.nix | 52 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 55 insertions(+), 54 deletions(-) create mode 100644 pkgs/development/interpreters/ruby/ruby-19.nix diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index d5ccb19caecd..550edcc004aa 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -1,52 +1 @@ -{ 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 = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.gz"; - sha256 = "0zmxdqzprbdc5mvmba1i94mpqnqxxlh460jri7bx6i29bibigj0w"; - }; - - # 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}"; - }; -} +import ./ruby-19.nix diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix new file mode 100644 index 000000000000..d5ccb19caecd --- /dev/null +++ b/pkgs/development/interpreters/ruby/ruby-19.nix @@ -0,0 +1,52 @@ +{ 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 = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.gz"; + sha256 = "0zmxdqzprbdc5mvmba1i94mpqnqxxlh460jri7bx6i29bibigj0w"; + }; + + # 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 c9919d04861c..70e872fa863a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2601,8 +2601,8 @@ let regina = callPackage ../development/interpreters/regina {}; ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { }; - ruby19 = callPackage ../development/interpreters/ruby { }; - ruby = ruby19; + ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { }; + ruby = callPackage ../development/interpreters/ruby { }; rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });