rocksdb: Add derivation

This commit is contained in:
William A. Kennington III 2015-04-21 11:01:44 -07:00
parent 71e40eeb4b
commit a986f72d2b
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,61 @@
{ stdenv, fetchFromGitHub
# Optional Arguments
, snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
, numactl ? null
# Malloc implementation
, jemalloc ? null, gperftools ? null
}:
let
malloc = if jemalloc != null then jemalloc else gperftools;
in
stdenv.mkDerivation rec {
name = "rocksdb-${version}";
version = "3.10";
src = fetchFromGitHub {
owner = "facebook";
repo = "rocksdb";
rev = "v${version}";
sha256 = "1px345x9cyaxyjlzsf3bcxixvfaxn9x3ysq7biajyfhk8wq1n4p0";
};
buildInputs = [ snappy google-gflags zlib bzip2 lz4 numactl malloc ];
postPatch = ''
# Hack to fix typos
sed -i 's,#inlcude,#include,g' build_tools/build_detect_platform
'';
# Environment vars used for building certain configurations
PORTABLE = "1";
USE_SSE = "1";
JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
buildFlags = [
"static_lib"
"shared_lib"
];
installFlags = [
"INSTALL_PATH=\${out}"
];
postInstall = ''
# Might eventually remove this when we are confident in the build process
echo "BUILD CONFIGURATION FOR SANITY CHECKING"
cat make_config.mk
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://rocksdb.org;
description = "A library that provides an embeddable, persistent key-value store for fast storage";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];
};
}

View file

@ -7472,6 +7472,8 @@ let
rlog = callPackage ../development/libraries/rlog { };
rocksdb = callPackage ../development/libraries/rocksdb { };
rubberband = callPackage ../development/libraries/rubberband {
fftw = fftwSinglePrec;
inherit (vamp) vampSDK;