From 013bd9247d28875ca9b1c3928a867c9cb62de798 Mon Sep 17 00:00:00 2001 From: Tom Hunger Date: Sat, 13 Dec 2014 00:20:04 +0000 Subject: Add hyperdex. --- pkgs/servers/nosql/hyperdex/busybee.nix | 28 ++++++++++++++ pkgs/servers/nosql/hyperdex/default.nix | 57 ++++++++++++++++++++++++++++ pkgs/servers/nosql/hyperdex/hyperleveldb.nix | 20 ++++++++++ pkgs/servers/nosql/hyperdex/libe.nix | 19 ++++++++++ pkgs/servers/nosql/hyperdex/libmacaroons.nix | 20 ++++++++++ pkgs/servers/nosql/hyperdex/libpo6.nix | 19 ++++++++++ pkgs/servers/nosql/hyperdex/replicant.nix | 32 ++++++++++++++++ 7 files changed, 195 insertions(+) create mode 100644 pkgs/servers/nosql/hyperdex/busybee.nix create mode 100644 pkgs/servers/nosql/hyperdex/default.nix create mode 100644 pkgs/servers/nosql/hyperdex/hyperleveldb.nix create mode 100644 pkgs/servers/nosql/hyperdex/libe.nix create mode 100644 pkgs/servers/nosql/hyperdex/libmacaroons.nix create mode 100644 pkgs/servers/nosql/hyperdex/libpo6.nix create mode 100644 pkgs/servers/nosql/hyperdex/replicant.nix (limited to 'pkgs/servers') diff --git a/pkgs/servers/nosql/hyperdex/busybee.nix b/pkgs/servers/nosql/hyperdex/busybee.nix new file mode 100644 index 0000000000000..19482db6f5a65 --- /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 0000000000000..036a3412b8648 --- /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 0000000000000..c39f618f6cb17 --- /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 0000000000000..cc5232e13f22f --- /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 0000000000000..2d709c5bbd1d3 --- /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 0000000000000..166a5e21c6b92 --- /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 0000000000000..c064aa419cde2 --- /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; + }; +} -- cgit 1.4.1