2014-06-05 01:16:50 +01:00
|
|
|
{ stdenv, fetchurl, unzip, erlangR15}:
|
2013-05-23 10:17:12 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
srcs = {
|
|
|
|
riak = fetchurl {
|
|
|
|
url = "http://s3.amazonaws.com/downloads.basho.com/riak/1.3/1.3.1/riak-1.3.1.tar.gz";
|
|
|
|
sha256 = "a69093fc5df1b79f58645048b9571c755e00c3ca14dfd27f9f1cae2c6e628f01";
|
|
|
|
};
|
|
|
|
leveldb = fetchurl {
|
2013-06-13 13:27:49 +01:00
|
|
|
url = "https://github.com/basho/leveldb/archive/1.3.1.zip";
|
|
|
|
sha256 = "dc48ba2b44fca11888ea90695d385c494e1a3abd84a6b266b07fdc160ab2ef64";
|
2013-05-23 10:17:12 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "riak-1.3.1";
|
|
|
|
|
2014-06-05 01:16:50 +01:00
|
|
|
buildInputs = [unzip erlangR15];
|
2013-05-23 10:17:12 +01:00
|
|
|
|
|
|
|
src = srcs.riak;
|
|
|
|
|
|
|
|
patches = [ ./riak-1.3.1.patch ./riak-admin-1.3.1.patch ];
|
|
|
|
|
|
|
|
postUnpack = ''
|
|
|
|
ln -sv ${srcs.leveldb} $sourceRoot/deps/eleveldb/c_src/leveldb.zip
|
|
|
|
pushd $sourceRoot/deps/eleveldb/c_src/
|
|
|
|
unzip leveldb.zip
|
2013-06-13 13:27:49 +01:00
|
|
|
mv leveldb-* leveldb
|
2013-05-23 10:17:12 +01:00
|
|
|
cd ../../
|
|
|
|
mkdir riaknostic/deps
|
|
|
|
cp -R lager riaknostic/deps
|
|
|
|
cp -R getopt riaknostic/deps
|
|
|
|
cp -R meck riaknostic/deps
|
|
|
|
popd
|
2013-06-13 13:27:49 +01:00
|
|
|
patchShebangs .
|
2013-05-23 10:17:12 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
make rel
|
|
|
|
'';
|
|
|
|
|
|
|
|
doCheck = false;
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir $out
|
|
|
|
mv rel/riak/etc rel/riak/riak-etc
|
|
|
|
mkdir -p rel/riak/etc
|
|
|
|
mv rel/riak/riak-etc rel/riak/etc/riak
|
|
|
|
mv rel/riak/* $out
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
maintainers = stdenv.lib.maintainers.orbitz;
|
|
|
|
description = "Dynamo inspired NoSQL DB by Basho";
|
|
|
|
longDescription = ''
|
2013-06-04 16:17:54 +01:00
|
|
|
This patches the riak and riak-admin scripts to work better in Nix.
|
|
|
|
Rather than the scripts using their own location to determine where
|
|
|
|
the data, log, and etc directories should live, the scripts expect
|
2013-05-23 10:17:12 +01:00
|
|
|
RIAK_DATA_DIR, RIAK_LOG_DIR, and RIAK_ETC_DIR to be defined
|
|
|
|
and use those.
|
2013-06-10 06:11:10 +01:00
|
|
|
'';
|
2013-05-23 10:17:12 +01:00
|
|
|
platforms = stdenv.lib.platforms.all;
|
|
|
|
};
|
|
|
|
}
|