anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / servers / nosql / eventstore / default.nix
blob9269993a845e0c466b6e2118ee5e2570a1b965b1
1 { lib
2 , git
3 , dotnetCorePackages
4 , glibcLocales
5 , buildDotnetModule
6 , fetchFromGitHub
7 , bintools
8 , stdenv
9 , mono
11 let
12   mainProgram = "EventStore.ClusterNode";
15 buildDotnetModule rec {
16   pname = "EventStore";
17   version = "23.6.0";
19   src = fetchFromGitHub {
20     owner = "EventStore";
21     repo = "EventStore";
22     rev = "oss-v${version}";
23     hash = "sha256-+Wxm6yusaCoqXIbsi0ZoALAviKUyNMQwbzsQtBK/PCo=";
24     leaveDotGit = true;
25   };
27   # Fixes application reporting 0.0.0.0 as its version.
28   MINVERVERSIONOVERRIDE = version;
30   dotnet-sdk = dotnetCorePackages.sdk_6_0;
31   dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
33   nativeBuildInputs = [ git glibcLocales bintools ];
35   runtimeDeps = [ mono ];
37   executables = [ mainProgram ];
39   # This test has a problem running on macOS
40   disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
41     "EventStore.Projections.Core.Tests.Services.grpc_service.ServerFeaturesTests<LogFormat+V2,String>.should_receive_expected_endpoints"
42     "EventStore.Projections.Core.Tests.Services.grpc_service.ServerFeaturesTests<LogFormat+V3,UInt32>.should_receive_expected_endpoints"
43   ];
45   nugetDeps = ./deps.nix;
47   projectFile = "src/EventStore.ClusterNode/EventStore.ClusterNode.csproj";
49   doCheck = true;
50   testProjectFile = "src/EventStore.Projections.Core.Tests/EventStore.Projections.Core.Tests.csproj";
52   doInstallCheck = true;
53   installCheckPhase = ''
54     $out/bin/EventStore.ClusterNode --insecure \
55       --db "$HOME/data" \
56       --index "$HOME/index" \
57       --log "$HOME/log" \
58       -runprojections all --startstandardprojections \
59       --EnableAtomPubOverHttp &
61     PID=$!
63     sleep 30s;
64     kill "$PID";
65   '';
67   passthru.updateScript = ./updater.sh;
69   meta = with lib; {
70     homepage = "https://geteventstore.com/";
71     description = "Event sourcing database with processing logic in JavaScript";
72     license = licenses.bsd3;
73     maintainers = with maintainers; [ puffnfresh mdarocha ];
74     platforms = [ "x86_64-linux" "x86_64-darwin" ];
75     inherit mainProgram;
76   };