-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
arangodb: 3.4.8 -> 3.10.0 #194670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
arangodb: 3.4.8 -> 3.10.0 #194670
Changes from all commits
6be6c33
d58d66e
db418cf
45dd4a1
e1df4f5
0da384e
a6ffb2d
6c75f96
86e1247
c3bfecd
cd06546
9f1e7c2
704d2dc
b671f4f
56eecda
2f6e24b
10fda11
6cb592a
1e17110
b594ac0
f5bab1e
ad424ad
8e36431
f258503
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,68 +1,81 @@ | ||||||
| { stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which, catch2, catch }: | ||||||
| { | ||||||
| # gcc 11.2 suggested on 3.10.0. | ||||||
| # gcc 11.3.0 unsupported yet, investigate gcc support when upgrading | ||||||
| # See https://github.com/arangodb/arangodb/issues/17454 | ||||||
| gcc10Stdenv | ||||||
| , git | ||||||
| , lib | ||||||
| , fetchFromGitHub | ||||||
| , openssl | ||||||
| , zlib | ||||||
| , cmake | ||||||
| , python3 | ||||||
| , perl | ||||||
| , snappy | ||||||
| , lzo | ||||||
| , which | ||||||
| , targetArchitecture ? null | ||||||
| , asmOptimizations ? gcc10Stdenv.targetPlatform.isx86 | ||||||
| }: | ||||||
|
|
||||||
| let | ||||||
| common = { version, sha256 }: stdenv.mkDerivation { | ||||||
| pname = "arangodb"; | ||||||
| inherit version; | ||||||
| defaultTargetArchitecture = | ||||||
| if gcc10Stdenv.targetPlatform.isx86 | ||||||
| then "haswell" | ||||||
| else "core"; | ||||||
|
|
||||||
| src = fetchFromGitHub { | ||||||
| repo = "arangodb"; | ||||||
| owner = "arangodb"; | ||||||
| rev = "v${version}"; | ||||||
| inherit sha256; | ||||||
| }; | ||||||
| targetArch = | ||||||
| if isNull targetArchitecture | ||||||
| then defaultTargetArchitecture | ||||||
| else targetArchitecture; | ||||||
| in | ||||||
|
|
||||||
| nativeBuildInputs = [ cmake python2 perl which ]; | ||||||
| buildInputs = [ openssl zlib snappy lzo ]; | ||||||
| gcc10Stdenv.mkDerivation rec { | ||||||
| pname = "arangodb"; | ||||||
| version = "3.10.0"; | ||||||
|
|
||||||
| # prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory" | ||||||
| dontFixCmake = lib.versionAtLeast version "3.5"; | ||||||
| NIX_CFLAGS_COMPILE = lib.optionalString (lib.versionAtLeast version "3.5") "-Wno-error"; | ||||||
| preConfigure = lib.optionalString (lib.versionAtLeast version "3.5") "patchShebangs utils"; | ||||||
| src = fetchFromGitHub { | ||||||
| repo = "arangodb"; | ||||||
| owner = "arangodb"; | ||||||
| rev = "v${version}"; | ||||||
| sha256 = "0vjdiarfnvpfl4hnqgr7jigxgq3b3zhx88n8liv1zqa1nlvykfrb"; | ||||||
| fetchSubmodules = true; | ||||||
| }; | ||||||
|
|
||||||
| postPatch = '' | ||||||
| sed -ie 's!/bin/echo!echo!' 3rdParty/V8/v*/gypfiles/*.gypi | ||||||
| nativeBuildInputs = [ cmake git perl python3 which ]; | ||||||
|
|
||||||
| # with nixpkgs, it has no sense to check for a version update | ||||||
| substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" "" | ||||||
| substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" "" | ||||||
| buildInputs = [ openssl zlib snappy lzo ]; | ||||||
|
|
||||||
| ${if (lib.versionOlder version "3.4") then '' | ||||||
| cp ${catch}/include/catch/catch.hpp 3rdParty/catch/catch.hpp | ||||||
| '' else if (lib.versionOlder version "3.5") then '' | ||||||
| cp ${catch2}/include/catch2/catch.hpp 3rdParty/catch/catch.hpp | ||||||
| '' else '' | ||||||
| (cd 3rdParty/boost/1.69.0 && patch -p1 < ${../../../development/libraries/boost/pthread-stack-min-fix.patch}) | ||||||
| ''} | ||||||
| ''; | ||||||
| # prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory" | ||||||
| dontFixCmake = true; | ||||||
| NIX_CFLAGS_COMPILE = "-Wno-error"; | ||||||
| preConfigure = "patchShebangs utils"; | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should really be a multiline string.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you! #200210 |
||||||
|
|
||||||
| cmakeFlags = [ | ||||||
| # do not set GCC's -march=xxx based on builder's /proc/cpuinfo | ||||||
| "-DUSE_OPTIMIZE_FOR_ARCHITECTURE=OFF" | ||||||
| # also avoid using builder's /proc/cpuinfo | ||||||
| "-DHAVE_SSE42=${if stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}" | ||||||
| "-DASM_OPTIMIZATIONS=${if stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}" | ||||||
| ]; | ||||||
| postPatch = '' | ||||||
| sed -ie 's!/bin/echo!echo!' 3rdParty/V8/gypfiles/*.gypi | ||||||
|
|
||||||
| meta = with lib; { | ||||||
| homepage = "https://www.arangodb.com"; | ||||||
| description = "A native multi-model database with flexible data models for documents, graphs, and key-values"; | ||||||
| license = licenses.asl20; | ||||||
| platforms = platforms.linux; | ||||||
| maintainers = [ maintainers.flosse ]; | ||||||
| }; | ||||||
| }; | ||||||
| in { | ||||||
| arangodb_3_3 = common { | ||||||
| version = "3.3.24"; | ||||||
| sha256 = "18175789j4y586qvpcsaqxmw7d6vc3s29qm1fja5c7wzimx6ilyp"; | ||||||
| }; | ||||||
| arangodb_3_4 = common { | ||||||
| version = "3.4.8"; | ||||||
| sha256 = "0vm94lf1i1vvs04vy68bkkv9q43rsaf1y3kfs6s3jcrs3ay0h0jn"; | ||||||
| }; | ||||||
| arangodb_3_5 = common { | ||||||
| version = "3.5.1"; | ||||||
| sha256 = "1jw3j7vaq3xgkxiqg0bafn4b2169jq7f3y0l7mrpnrpijn77rkrv"; | ||||||
| # with nixpkgs, it has no sense to check for a version update | ||||||
| substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" "" | ||||||
| substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" "" | ||||||
| ''; | ||||||
|
|
||||||
| cmakeFlags = [ | ||||||
| "-DUSE_MAINTAINER_MODE=OFF" | ||||||
| "-DUSE_GOOGLE_TESTS=OFF" | ||||||
| "-DCMAKE_BUILD_TYPE=RelWithDebInfo" | ||||||
|
|
||||||
| # avoid reading /proc/cpuinfo for feature detection | ||||||
| "-DTARGET_ARCHITECTURE=${targetArch}" | ||||||
| ] ++ lib.optionals asmOptimizations [ | ||||||
| "-DASM_OPTIMIZATIONS=ON" | ||||||
| "-DHAVE_SSE42=${if gcc10Stdenv.targetPlatform.sse4_2Support then "ON" else "OFF"}" | ||||||
| ]; | ||||||
|
|
||||||
| meta = with lib; { | ||||||
| homepage = "https://www.arangodb.com"; | ||||||
| description = "A native multi-model database with flexible data models for documents, graphs, and key-values"; | ||||||
| license = licenses.asl20; | ||||||
| platforms = [ "x86_64-linux" ]; | ||||||
| maintainers = [ maintainers.flosse maintainers.jsoo1 ]; | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }; | ||||||
| } | ||||||
Uh oh!
There was an error while loading. Please reload this page.