biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / nosql / arangodb / default.nix
blob52b9125e99d5d4a5735b5d7f757e786f5fff5358
2   # gcc 11.2 suggested on 3.10.5.2.
3   # gcc 11.3.0 unsupported yet, investigate gcc support when upgrading
4   # See https://github.com/arangodb/arangodb/issues/17454
5   gcc10Stdenv
6 , git
7 , lib
8 , fetchFromGitHub
9 , openssl
10 , zlib
11 , cmake
12 , python3
13 , perl
14 , snappy
15 , lzo
16 , which
17 , targetArchitecture ? null
18 , asmOptimizations ? gcc10Stdenv.hostPlatform.isx86
21 let
22   defaultTargetArchitecture =
23     if gcc10Stdenv.hostPlatform.isx86
24     then "haswell"
25     else "core";
27   targetArch =
28     if targetArchitecture == null
29     then defaultTargetArchitecture
30     else targetArchitecture;
33 gcc10Stdenv.mkDerivation rec {
34   pname = "arangodb";
35   version = "3.10.5.2";
37   src = fetchFromGitHub {
38     repo = "arangodb";
39     owner = "arangodb";
40     rev = "v${version}";
41     sha256 = "sha256-64iTxhG8qKTSrTlH/BWDJNnLf8VnaCteCKfQ9D2lGDQ=";
42     fetchSubmodules = true;
43   };
45   nativeBuildInputs = [ cmake git perl python3 which ];
47   buildInputs = [ openssl zlib snappy lzo ];
49   # prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory"
50   dontFixCmake = true;
51   env.NIX_CFLAGS_COMPILE = "-Wno-error";
53   postPatch = ''
54     sed -ie 's!/bin/echo!echo!' 3rdParty/V8/gypfiles/*.gypi
56     # with nixpkgs, it has no sense to check for a version update
57     substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" ""
58     substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" ""
59   '';
61   preConfigure = ''
62     patchShebangs utils
63   '';
65   cmakeBuildType = "RelWithDebInfo";
67   cmakeFlags = [
68     "-DUSE_MAINTAINER_MODE=OFF"
69     "-DUSE_GOOGLE_TESTS=OFF"
71     # avoid reading /proc/cpuinfo for feature detection
72     "-DTARGET_ARCHITECTURE=${targetArch}"
73   ] ++ lib.optionals asmOptimizations [
74     "-DASM_OPTIMIZATIONS=ON"
75     "-DHAVE_SSE42=${if gcc10Stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}"
76   ];
78   meta = with lib; {
79     homepage = "https://www.arangodb.com";
80     description = "A native multi-model database with flexible data models for documents, graphs, and key-values";
81     license = licenses.asl20;
82     platforms = [ "x86_64-linux" ];
83     maintainers = with maintainers; [ flosse jsoo1 ];
84   };