summary refs log tree commit diff
path: root/pkgs/servers/nosql
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/nosql')
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix35
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix33
-rw-r--r--pkgs/servers/nosql/redis/default.nix11
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix35
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix4
5 files changed, 100 insertions, 18 deletions
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
new file mode 100644
index 000000000000..77852b6d2ed9
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "influxdb-${version}";
+  version = "0.7.0";
+  arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
+
+  src = fetchurl {
+    url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz";
+    sha256 = if arch == "amd64" then
+        "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else
+        "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D influxdb $out/bin/influxdb
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb
+    wrapProgram "$out/bin/influxdb" \
+        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64"
+
+    mkdir -p $out/share/influxdb
+    cp -R admin scripts config.toml $out/share/influxdb
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Scalable datastore for metrics, events, and real-time analytics";
+    homepage = http://influxdb.com/;
+    license = licenses.mit;
+
+    maintainers = [ maintainers.offline ];
+    platforms = ["i686-linux" "x86_64-linux"];
+  };
+}
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 11dff3244208..aa9da965d172 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,35 +1,46 @@
-{ stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }:
-
-let version = "2.4.5"; in stdenv.mkDerivation rec {
+{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }:
+
+let version = "2.6.0";
+    system-libraries = [
+      "tcmalloc"
+      "pcre"
+      "boost"
+      "snappy"
+      # "v8"      -- mongo still bundles 3.12 and does not work with 3.15+
+      # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs)
+      # "yaml"    -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo
+    ];
+    system-lib-args = stdenv.lib.concatStringsSep " "
+                          (map (lib: "--use-system-${lib}") system-libraries);
+
+in stdenv.mkDerivation rec {
   name = "mongodb-${version}";
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "01c7lb3jdr51gy7459vg5rg002xxg0mj79vlhy54n50kr31cnxmm";
+    sha256 = "066kppjdmdpadjr09ildla3aw42anzsc9pa55iwp3wa4rgqd2i33";
   };
 
-  nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ];
+  nativeBuildInputs = [ scons boost gperftools pcre snappy ];
 
   postPatch = ''
     substituteInPlace SConstruct \
-        --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \
-        --replace 'CCFLAGS=["-Werror", "-pipe"]' 'CCFLAGS=["-pipe"]'
+        --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR"
   '';
 
   buildPhase = ''
-    export SCONSFLAGS="-j$NIX_BUILD_CORES"
-    scons all --use-system-all
+    scons all --release ${system-lib-args}
   '';
 
   installPhase = ''
     mkdir -p $out/lib
-    scons install --use-system-all --full --prefix=$out
+    scons install --release --prefix=$out ${system-lib-args}
   '';
 
   meta = {
     description = "a scalable, high-performance, open source NoSQL database";
     homepage = http://www.mongodb.org;
-    license = "AGPLv3";
+    license = stdenv.lib.licenses.agpl3;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 777fb31ac971..1a44aa6a804f 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "redis-2.6.13";
+  name = "redis-2.8.9";
 
   src = fetchurl {
-    url = "http://redis.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0j79a5vmdy0c1df89ymqk37kz8q2iqlzg81qwnz0djjqdiikk51v";
+    url = "http://download.redis.io/releases/${name}.tar.gz";
+    sha256 = "7834c37f2ff186c46aef8e4a066dfbf1d6772a285aa31c19c58162f264f1007f";
   };
 
   makeFlags = "PREFIX=$(out)";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://redis.io;
     description = "An open source, advanced key-value store";
     license = "BSD";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.berdario ];
   };
 }
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
new file mode 100644
index 000000000000..3694547c2d99
--- /dev/null
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, python, m4 }:
+
+stdenv.mkDerivation rec {
+  name = "rethinkdb-1.12.4";
+
+  src = fetchurl {
+    url = "http://download.rethinkdb.com/dist/${name}.tgz";
+    sha256 = "1dq2vbgms016ic2hifclm1m58i4804khkn0lnvz47rkm7i0564if";
+  };
+
+  preConfigure = ''
+    export ALLOW_WARNINGS=1
+    patchShebangs .
+  '';
+
+  configureFlags = "--lib-path ${gperftools}/lib";
+
+  buildInputs = [ protobuf zlib boost ];
+
+  nativeBuildInputs = [ which m4 python ];
+
+  meta = {
+    description = "An open-source distributed database built with love";
+    longDescription = ''
+      RethinkDB is built to store JSON documents, and scale to multiple machines with very little
+      effort. It has a pleasant query language that supports really useful queries like table joins
+      and group by, and is easy to setup and learn.
+    '';
+    homepage = http://www.rethinkdb.com;
+    license = stdenv.lib.licenses.agpl3;
+
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index ccac6e331fdc..96315c52f6bf 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, erlangR15B03 }:
+{ stdenv, fetchurl, unzip, erlangR15}:
 
 let
   srcs = {
@@ -15,7 +15,7 @@ in
 stdenv.mkDerivation rec {
   name = "riak-1.3.1";
 
-  buildInputs = [unzip erlangR15B03];
+  buildInputs = [unzip erlangR15];
 
   src = srcs.riak;