biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / nosql / rethinkdb / default.nix
blob3d39d698ac927af6b5e7b33a82a2a27057442c8d
1 { lib, stdenv, fetchurl, which, m4
2 , protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool
3 , python3Packages, makeWrapper
4 }:
6 stdenv.mkDerivation rec {
7   pname = "rethinkdb";
8   version = "2.4.4";
10   src = fetchurl {
11     url = "https://download.rethinkdb.com/repository/raw/dist/${pname}-${version}.tgz";
12     hash = "sha256-UJEjdgK2KDDbLLParKarNGMjI3QeZxDC8N5NhPRCcR8=";
13   };
15   postPatch = ''
16     substituteInPlace external/quickjs_*/Makefile \
17       --replace "gcc-ar" "${stdenv.cc.targetPrefix}ar" \
18       --replace "gcc" "${stdenv.cc.targetPrefix}cc"
19   '';
21   preConfigure = ''
22     export ALLOW_WARNINGS=1
23     patchShebangs .
24   '';
26   configureFlags = lib.optionals (!stdenv.isDarwin) [
27     "--with-jemalloc"
28     "--lib-path=${jemalloc}/lib"
29   ];
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;
41   postInstall = ''
42     wrapProgram $out/bin/rethinkdb \
43       --prefix PATH ":" "${python3Packages.rethinkdb}/bin"
44   '';
46   meta = {
47     description = "An open-source distributed database built with love";
48     mainProgram = "rethinkdb";
49     longDescription = ''
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.
54     '';
55     homepage    = "https://rethinkdb.com";
56     license     = lib.licenses.asl20;
57     platforms   = lib.platforms.unix;
58     maintainers = with lib.maintainers; [ thoughtpolice bluescreen303 ];
59   };