summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorCharles Strahan <charles.c.strahan@gmail.com>2015-01-21 23:27:38 -0500
committerCharles Strahan <charles.c.strahan@gmail.com>2015-01-21 23:27:38 -0500
commit8d49e87decc73b57f42f25b81a734fd7e026c036 (patch)
tree24c2719a56f12cc957585abd7cf0c85cec49d54a /pkgs/servers
parentea5594679c438a4666f29a209f68b6cce81054f5 (diff)
parent034488ec80bb5efd5e2945fed660a2e3003099f3 (diff)
downloadnixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar.gz
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar.bz2
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar.lz
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar.xz
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.tar.zst
nixlib-8d49e87decc73b57f42f25b81a734fd7e026c036.zip
Merge pull request #4677 from cstrahan/pleasant-ruby
Pleasant ruby
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/consul/Gemfile6
-rw-r--r--pkgs/servers/consul/Gemfile.lock22
-rw-r--r--pkgs/servers/consul/default.nix19
-rw-r--r--pkgs/servers/consul/gemset.nix59
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile3
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile.lock27
-rw-r--r--pkgs/servers/monitoring/riemann-dash/default.nix8
-rw-r--r--pkgs/servers/monitoring/riemann-dash/gemset.nix80
8 files changed, 215 insertions, 9 deletions
diff --git a/pkgs/servers/consul/Gemfile b/pkgs/servers/consul/Gemfile
new file mode 100644
index 000000000000..77b884c352dc
--- /dev/null
+++ b/pkgs/servers/consul/Gemfile
@@ -0,0 +1,6 @@
+# A sample Gemfile
+source "https://rubygems.org"
+
+gem "uglifier"
+gem "sass"
+gem "therubyracer"
diff --git a/pkgs/servers/consul/Gemfile.lock b/pkgs/servers/consul/Gemfile.lock
new file mode 100644
index 000000000000..8ca7428084de
--- /dev/null
+++ b/pkgs/servers/consul/Gemfile.lock
@@ -0,0 +1,22 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    execjs (2.0.2)
+    json (1.8.1)
+    libv8 (3.16.14.3)
+    ref (1.0.5)
+    sass (3.3.6)
+    therubyracer (0.12.1)
+      libv8 (~> 3.16.14.0)
+      ref
+    uglifier (2.5.0)
+      execjs (>= 0.3.0)
+      json (>= 1.8.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  sass
+  therubyracer
+  uglifier
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 49a3dac14ea4..afe4a8e127d6 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -1,8 +1,15 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub
-, ruby, rubyLibs, nodejs }:
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub , ruby , nodejs
+, bundlerEnv }:
 
 let
   version = "0.4.1";
+  # `sass` et al
+  gems = bundlerEnv {
+    name = "consul-deps";
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
 in
 
 with lib;
@@ -13,13 +20,7 @@ stdenv.mkDerivation {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
   };
 
-  buildInputs = [ go ruby rubyLibs.sass nodejs ];
-
-  configurePhase = flip concatMapStrings
-    (with rubyLibs; [ execjs json minitest rake rdoc sass uglifier ])
-    (gem: ''
-      export GEM_PATH="$GEM_PATH:${gem}/${ruby.gemPath}"
-    '');
+  buildInputs = [ go ruby gems nodejs ];
 
   buildPhase = ''
     # Build consul binary
diff --git a/pkgs/servers/consul/gemset.nix b/pkgs/servers/consul/gemset.nix
new file mode 100644
index 000000000000..bf417f8c411c
--- /dev/null
+++ b/pkgs/servers/consul/gemset.nix
@@ -0,0 +1,59 @@
+{
+  execjs = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs";
+    };
+  };
+  json = {
+    version = "1.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
+    };
+  };
+  libv8 = {
+    version = "3.16.14.3";
+    source = {
+      type = "gem";
+      sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm";
+    };
+  };
+  ref = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
+    };
+  };
+  sass = {
+    version = "3.3.6";
+    source = {
+      type = "gem";
+      sha256 = "0ra0kxx52cgyrq6db7a1vysk984ilshbx40bcf527k8b3fha6k5r";
+    };
+  };
+  therubyracer = {
+    version = "0.12.1";
+    source = {
+      type = "gem";
+      sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6";
+    };
+    dependencies = [
+      "libv8"
+      "ref"
+    ];
+  };
+  uglifier = {
+    version = "2.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0b9kxgyg8cv3g1bp6casndfzfy71jd9xyjxwng0lj90vzqrgjp20";
+    };
+    dependencies = [
+      "execjs"
+      "json"
+    ];
+  };
+}
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile b/pkgs/servers/monitoring/riemann-dash/Gemfile
new file mode 100644
index 000000000000..496302e76435
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+
+gem "riemann-dash", "0.2.9"
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile.lock b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
new file mode 100644
index 000000000000..cd0ace470e20
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    erubis (2.7.0)
+    multi_json (1.3.6)
+    rack (1.5.2)
+    rack-protection (1.5.3)
+      rack
+    riemann-dash (0.2.9)
+      erubis (>= 2.7.0)
+      multi_json (= 1.3.6)
+      sass (>= 3.1.14)
+      sinatra (~> 1.4.5)
+      webrick (~> 1.3.1)
+    sass (3.4.8)
+    sinatra (1.4.5)
+      rack (~> 1.4)
+      rack-protection (~> 1.4)
+      tilt (~> 1.3, >= 1.3.4)
+    tilt (1.4.1)
+    webrick (1.3.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  riemann-dash (= 0.2.9)
diff --git a/pkgs/servers/monitoring/riemann-dash/default.nix b/pkgs/servers/monitoring/riemann-dash/default.nix
new file mode 100644
index 000000000000..1afcd81d9be0
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/default.nix
@@ -0,0 +1,8 @@
+{ bundlerEnv }:
+
+bundlerEnv {
+  name = "riemann-dash-0.2.9";
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+}
diff --git a/pkgs/servers/monitoring/riemann-dash/gemset.nix b/pkgs/servers/monitoring/riemann-dash/gemset.nix
new file mode 100644
index 000000000000..f2e80e9aca43
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/gemset.nix
@@ -0,0 +1,80 @@
+{
+  erubis = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  multi_json = {
+    version = "1.3.6";
+    source = {
+      type = "gem";
+      sha256 = "0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr";
+    };
+  };
+  rack = {
+    version = "1.5.2";
+    source = {
+      type = "gem";
+      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
+    };
+  };
+  rack-protection = {
+    version = "1.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  riemann-dash = {
+    version = "0.2.9";
+    source = {
+      type = "gem";
+      sha256 = "0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3";
+    };
+    dependencies = [
+      "erubis"
+      "multi_json"
+      "sass"
+      "sinatra"
+      "webrick"
+    ];
+  };
+  sass = {
+    version = "3.4.8";
+    source = {
+      type = "gem";
+      sha256 = "1ianyj2figwk314h10fkzpjql2xxi5l4njv1h0w8iyzjda85rqlp";
+    };
+  };
+  sinatra = {
+    version = "1.4.5";
+    source = {
+      type = "gem";
+      sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s";
+    };
+    dependencies = [
+      "rack"
+      "rack-protection"
+      "tilt"
+    ];
+  };
+  tilt = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+    };
+  };
+  webrick = {
+    version = "1.3.1";
+    source = {
+      type = "gem";
+      sha256 = "0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g";
+    };
+  };
+}