summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlethalman <lucabru@src.gnome.org>2014-12-19 10:47:44 +0100
committerlethalman <lucabru@src.gnome.org>2014-12-19 10:47:44 +0100
commitce8b10ef59f94a4991eb478ca5015ddb9502d68b (patch)
treeeb20c6d54134c747fa6803698026d23c8da98ab3
parentb5dadcb42929a622d6527179f5923e7fdbed72f9 (diff)
parent013bd9247d28875ca9b1c3928a867c9cb62de798 (diff)
Merge pull request #5320 from teh/hyperdex
Add hyperdex.
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix17
-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
-rw-r--r--pkgs/top-level/all-packages.nix4
9 files changed, 216 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
new file mode 100644
index 000000000000..0e6ca01c625e
--- /dev/null
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, xz }:
+stdenv.mkDerivation rec {
+ name = "autoconf-archive-${version}";
+ version = "2014.10.15";
+
+ src = fetchurl {
+ url = "http://ftp.heanet.ie/mirrors/gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
+ sha256 = "198yrdf8bhrpl7insdyzn65zd60qll0gr9vpz7fl7dpcj78yc7gy";
+ };
+ buildInputs = [ xz ];
+
+ meta = with stdenv.lib; {
+ description = "Archive of autoconf m4 macros.";
+ homepage = http://www.gnu.org/software/autoconf-archive/;
+ license = licenses.gpl3;
+ };
+}
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;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1c0417e98fed..7287ef81c59d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4324,6 +4324,8 @@ let
autoconf = callPackage ../development/tools/misc/autoconf { };
+ autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { };
+
autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
autocutsel = callPackage ../tools/X11/autocutsel{ };
@@ -7734,6 +7736,8 @@ let
influxdb = callPackage ../servers/nosql/influxdb { };
+ hyperdex = callPackage ../servers/nosql/hyperdex { };
+
mysql51 = import ../servers/sql/mysql/5.1.x.nix {
inherit fetchurl ncurses zlib perl openssl stdenv;
ps = procps; /* !!! Linux only */