1 { lib, stdenv, fetchurl, which, m4
2 , protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool
3 , python3Packages, makeWrapper
6 stdenv.mkDerivation rec {
11 url = "https://download.rethinkdb.com/repository/raw/dist/${pname}-${version}.tgz";
12 hash = "sha256-UJEjdgK2KDDbLLParKarNGMjI3QeZxDC8N5NhPRCcR8=";
16 substituteInPlace external/quickjs_*/Makefile \
17 --replace "gcc-ar" "${stdenv.cc.targetPrefix}ar" \
18 --replace "gcc" "${stdenv.cc.targetPrefix}cc"
22 export ALLOW_WARNINGS=1
26 configureFlags = lib.optionals (!stdenv.isDarwin) [
28 "--lib-path=${jemalloc}/lib"
31 makeFlags = [ "rethinkdb" ];
33 buildInputs = [ protobuf boost zlib curl openssl icu ]
34 ++ lib.optional (!stdenv.isDarwin) jemalloc
35 ++ lib.optional stdenv.isDarwin libtool;
37 nativeBuildInputs = [ which m4 python3Packages.python makeWrapper ];
39 enableParallelBuilding = true;
42 wrapProgram $out/bin/rethinkdb \
43 --prefix PATH ":" "${python3Packages.rethinkdb}/bin"
47 description = "An open-source distributed database built with love";
48 mainProgram = "rethinkdb";
50 RethinkDB is built to store JSON documents, and scale to
51 multiple machines with very little effort. It has a pleasant
52 query language that supports really useful queries like table
53 joins and group by, and is easy to setup and learn.
55 homepage = "https://rethinkdb.com";
56 license = lib.licenses.asl20;
57 platforms = lib.platforms.unix;
58 maintainers = with lib.maintainers; [ thoughtpolice bluescreen303 ];