From 3eeabc452353bdcd13d27ede98ff3612fa38924b Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Fri, 31 Oct 2014 01:44:57 +0000 Subject: [PATCH] more cleanup --- pkgs/development/interpreters/ruby/bundler.nix | 7 +++++++ pkgs/development/interpreters/ruby/gem.nix | 13 ++++++++----- .../development/interpreters/ruby/load-ruby-env.nix | 10 ++++------ pkgs/development/interpreters/ruby/rubygems.nix | 2 +- pkgs/top-level/all-packages.nix | 7 +++---- 5 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/interpreters/ruby/bundler.nix diff --git a/pkgs/development/interpreters/ruby/bundler.nix b/pkgs/development/interpreters/ruby/bundler.nix new file mode 100644 index 00000000000..a66aa08c1f5 --- /dev/null +++ b/pkgs/development/interpreters/ruby/bundler.nix @@ -0,0 +1,7 @@ +{ buildRubyGem }: + +buildRubyGem { + name = "bundler-1.7.4"; + sha256 = "122k07z60780mr00zfbbw04v9xlw1fhxjsx4g2rbm66hxlnlnh89"; + dontPatchShebangs = true; +} diff --git a/pkgs/development/interpreters/ruby/gem.nix b/pkgs/development/interpreters/ruby/gem.nix index a6b5dc51057..5b2a2b9c2de 100644 --- a/pkgs/development/interpreters/ruby/gem.nix +++ b/pkgs/development/interpreters/ruby/gem.nix @@ -1,6 +1,10 @@ -{ ruby, fetchurl, rubygemsFun, makeWrapper, lib, git }: +{ lib, ruby, rubygemsFun, fetchurl, makeWrapper, git } @ defs: + +lib.makeOverridable ( { name +, ruby ? defs.ruby +, rubygems ? (rubygemsFun ruby) , namePrefix ? "${ruby.name}" + "-" , buildInputs ? [] , doCheck ? false @@ -9,10 +13,7 @@ , gemPath ? [] , ...} @ attrs: -let - rubygems = rubygemsFun ruby; - -in ruby.stdenv.mkDerivation (attrs // { +ruby.stdenv.mkDerivation (attrs // { inherit doCheck; buildInputs = [ rubygems makeWrapper git ] ++ buildInputs; @@ -119,3 +120,5 @@ in ruby.stdenv.mkDerivation (attrs // { passthru.isRubyGem = true; inherit meta; }) + +) diff --git a/pkgs/development/interpreters/ruby/load-ruby-env.nix b/pkgs/development/interpreters/ruby/load-ruby-env.nix index 9e60e574b37..f1c9f71f51c 100644 --- a/pkgs/development/interpreters/ruby/load-ruby-env.nix +++ b/pkgs/development/interpreters/ruby/load-ruby-env.nix @@ -1,12 +1,10 @@ -{ pkgs, lib, callPackage, gemFixes, fetchurl }: +{ ruby, lib, callPackage, gemFixes, fetchurl, buildRubyGem }@defs: -{ gemset, ruby ? pkgs.ruby, fixes ? gemFixes }@args: +{ gemset, ruby ? defs.ruby, fixes ? gemFixes }@args: let const = x: y: x; - buildRubyGem = callPackage ./gem.nix { inherit ruby; }; - fetchers.gem = attrs: fetchurl { url = "${attrs.src.source or "https://rubygems.org"}/downloads/${attrs.name}-${attrs.version}.gem"; inherit (attrs.src) sha256; @@ -21,12 +19,12 @@ let fixedAttrs // { name = "${attrs.name}-${attrs.version}"; src = fetchers."${attrs.src.type}" attrs; - inherit gemPath; + inherit ruby gemPath; } ) ); - gemset' = if builtins.isAttrs gemset then gemset else callPackage gemset { }; + gemset' = if builtins.isAttrs gemset then gemset else import gemset; gemset'' = lib.flip lib.mapAttrs gemset' (name: attrs: if (lib.isDerivation attrs) diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix index d6bc8b1daf2..773a752ffef 100644 --- a/pkgs/development/interpreters/ruby/rubygems.nix +++ b/pkgs/development/interpreters/ruby/rubygems.nix @@ -1,6 +1,6 @@ args : with args; -rec { +rec { name = "rubygems-" + version; version = "2.4.1"; src = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3209a246f62..52ef2292dcb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4030,7 +4030,10 @@ let wrapPython = pythonPackages.wrapPython; }; + bundler = callPackage ../development/interpreters/ruby/bundler.nix { }; gemFixes = callPackage ../development/interpreters/ruby/fixes.nix { }; + buildRubyGem = callPackage ../development/interpreters/ruby/gem.nix { }; + loadRubyEnv = callPackage ../development/interpreters/ruby/load-ruby-env.nix { }; ruby_1_8_7 = callPackage ../development/interpreters/ruby/ruby-1.8.7.nix { }; ruby_1_9_3 = callPackage ../development/interpreters/ruby/ruby-1.9.3.nix { }; @@ -4047,10 +4050,6 @@ let ruby_2_0 = ruby_2_0_0; ruby_2_1 = ruby_2_1_3; - loadRubyEnv = callPackage ../development/interpreters/ruby/load-ruby-env.nix { }; - - rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { }; - rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) { inherit ruby makeWrapper; };