summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorTom Hunger <tehunger@gmail.com>2014-12-13 00:20:04 +0000
committerTom Hunger <tehunger@gmail.com>2014-12-15 10:27:00 +0000
commit013bd9247d28875ca9b1c3928a867c9cb62de798 (patch)
treeb81ae85cc2d2f9763e5d00de6b1f9641f4591c99 /pkgs/servers
parentd8ee91cb54c267a5a119d59746e80ca61015775e (diff)
downloadnixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar.gz
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar.bz2
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar.lz
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar.xz
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.tar.zst
nixlib-013bd9247d28875ca9b1c3928a867c9cb62de798.zip
Add hyperdex.
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/nosql/hyperdex/busybee.nix28
-rw-r--r--pkgs/servers/nosql/hyperdex/default.nix57
-rw-r--r--pkgs/servers/nosql/hyperdex/hyperleveldb.nix20
-rw-r--r--pkgs/servers/nosql/hyperdex/libe.nix19
-rw-r--r--pkgs/servers/nosql/hyperdex/libmacaroons.nix20
-rw-r--r--pkgs/servers/nosql/hyperdex/libpo6.nix19
-rw-r--r--pkgs/servers/nosql/hyperdex/replicant.nix32
7 files changed, 195 insertions, 0 deletions
diff --git a/pkgs/servers/nosql/hyperdex/busybee.nix b/pkgs/servers/nosql/hyperdex/busybee.nix
new file mode 100644
index 000000000000..19482db6f5a6
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/busybee.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool,
+  libpo6, libe, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "busybee-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/busybee/archive/releases/${version}.zip";
+    sha256 = "0gr5h2j9rzwarblgcgddnxj39i282rvgn9vqlrcd60dx8c4dkm29";
+  };
+  buildInputs = [
+    autoconf
+    automake
+    libe
+    libpo6
+    libtool
+    pkgconfig
+    unzip
+  ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "BusyBee is a high-performance messaging layer.";
+    homepage = https://github.com/rescrv/busybee;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/default.nix b/pkgs/servers/nosql/hyperdex/default.nix
new file mode 100644
index 000000000000..036a3412b864
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, makeWrapper, unzip, autoconf, automake, libtool,
+  python, sodium, pkgconfig, popt, glog, xz, json_c, gperf, yacc,
+  flex, haskellPackages, help2man, autoconf-archive, callPackage }:
+
+assert stdenv.isLinux;
+
+let
+hyperleveldb = callPackage ./hyperleveldb.nix {};
+libpo6 = callPackage ./libpo6.nix {};
+libe = callPackage ./libe.nix { inherit libpo6; };
+busybee = callPackage ./busybee.nix { inherit libpo6 libe; };
+replicant = callPackage ./replicant.nix {
+  inherit libpo6 libe busybee hyperleveldb;
+};
+libmacaroons = callPackage ./libmacaroons.nix { };
+
+in
+stdenv.mkDerivation rec {
+  name = "hyperdex-${version}";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/HyperDex/archive/releases/${version}.zip";
+    sha256 = "0s1capy2hj45f5rmdb4fk0wxy7vz69krplhba57f6wrkpcz1zb57";
+  };
+
+  buildInputs = [
+    autoconf
+    autoconf-archive
+    automake
+    busybee
+    glog
+    hyperleveldb
+    json_c
+    libe
+    libmacaroons
+    libpo6
+    libtool
+    pkgconfig
+    popt
+    python
+    replicant
+    unzip
+    gperf
+    yacc
+    flex
+    help2man
+    haskellPackages.pandoc
+  ];
+  preConfigure = "autoreconf -fi";
+
+  meta = with stdenv.lib; {
+    description = "HyperDex is a scalable, searchable key-value store";
+    homepage = http://hyperdex.org;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/hyperleveldb.nix b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
new file mode 100644
index 000000000000..c39f618f6cb1
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "hyperleveldb-${version}";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/HyperLevelDB/archive/releases/${version}.zip";
+    sha256 = "0xrzhwkrm7f2wz3jn4iqn1dim2pmgjhmpb1fy23fwa06v0q18hw8";
+  };
+  buildInputs = [ unzip autoconf automake libtool ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = ''A fork of LevelDB intended to meet the needs of
+        HyperDex while remaining compatible with LevelDB.'';
+    homepage = https://github.com/rescrv/HyperLevelDB;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libe.nix b/pkgs/servers/nosql/hyperdex/libe.nix
new file mode 100644
index 000000000000..cc5232e13f22
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libe.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, libpo6, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libe-${version}";
+  version = "0.8.1";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/e/archive/releases/0.8.1.zip";
+    sha256 = "1l13axsi52j2qaxbdnszdvfxksi7rwm2j1rrf0nlh990m6a3yg3s";
+  };
+  buildInputs = [ unzip autoconf automake libtool libpo6 pkgconfig ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "Library containing high-performance datastructures and utilities for C++";
+    homepage = https://github.com/rescrv/e;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libmacaroons.nix b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
new file mode 100644
index 000000000000..2d709c5bbd1d
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, 
+  pkgconfig, sodium, python }:
+stdenv.mkDerivation rec {
+  name = "libmacaroons-${version}";
+  version = "HEAD";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/libmacaroons/archive/6febf3ce6c4c77a46d24b40ed29b03ffbfb175a7.zip";
+    sha256 = "0b4qgim87398chvc3qhxfqv2l1cyl65rhyknln8lk0gq9y00p1ik";
+  };
+  buildInputs = [ unzip autoconf automake libtool python sodium pkgconfig ];
+  preConfigure = "autoreconf -i";
+  
+  meta = with stdenv.lib; {
+    description = ''Macaroons are flexible authorization credentials that
+        support decentralized delegation, attenuation, and verification.'';
+    homepage = https://github.com/rescrv/libmacaroons;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libpo6.nix b/pkgs/servers/nosql/hyperdex/libpo6.nix
new file mode 100644
index 000000000000..166a5e21c6b9
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libpo6.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libpo6-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/po6/archive/releases/${version}.zip";
+    sha256 = "14g3ichshnc4wd0iq3q3ymgaq84gjsbqcyn6lri7c7djgkhqijjx";
+  };
+  buildInputs = [ unzip autoconf automake libtool ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "POSIX wrappers for C++";
+    homepage = https://github.com/rescrv/po6;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/replicant.nix b/pkgs/servers/nosql/hyperdex/replicant.nix
new file mode 100644
index 000000000000..c064aa419cde
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/replicant.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, glog,
+  hyperleveldb, libe, pkgconfig, popt, libpo6, busybee }:
+
+stdenv.mkDerivation rec {
+  name = "replicant-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/Replicant/archive/releases/0.6.3.zip";
+    sha256 = "1fbagz0nbvinkqr5iw5y187dm4klkswrxnl5ysq8waglg2nj8zzi";
+  };
+  buildInputs = [
+    autoconf
+    automake
+    busybee
+    glog
+    hyperleveldb
+    libe
+    libpo6
+    libtool
+    pkgconfig
+    popt
+    unzip
+  ];
+  preConfigure = "autoreconf -i";
+  
+  meta = with stdenv.lib; {
+    description = "A system for maintaining replicated state machines.";
+    homepage = https://github.com/rescrv/Replicant;
+    license = licenses.bsd3;
+  };
+}