Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / search / sonic-server / default.nix
blobcb5521e9dfe8abaf3baeeab39835108d1dad9a8d
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , nix-update-script
6 , nixosTests
7 , testers
8 , sonic-server
9 }:
11 rustPlatform.buildRustPackage rec {
12   pname = "sonic-server";
13   version = "1.4.9";
15   src = fetchFromGitHub {
16     owner = "valeriansaliou";
17     repo = "sonic";
18     rev = "refs/tags/v${version}";
19     hash = "sha256-PTujR3ciLRvbpiqStNMx3W5fkUdW2dsGmCj/iFRTKJM=";
20   };
22   cargoHash = "sha256-bH9u38gvH6QEySQ3XFXEHBiSqKKtB+kjcZRLjx4Z6XM=";
24   # Found argument '--test-threads' which wasn't expected, or isn't valid in this context
25   doCheck = false;
27   nativeBuildInputs = [
28     rustPlatform.bindgenHook
29   ];
31   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-faligned-allocation";
33   postPatch = ''
34     substituteInPlace src/main.rs --replace "./config.cfg" "$out/etc/sonic/config.cfg"
35   '';
37   postInstall = ''
38     install -Dm444 -t $out/etc/sonic config.cfg
39     install -Dm444 -t $out/lib/systemd/system debian/sonic.service
41     substituteInPlace \
42       $out/lib/systemd/system/sonic.service \
43       --replace /usr/bin/sonic $out/bin/sonic \
44       --replace /etc/sonic.cfg $out/etc/sonic/config.cfg
45   '';
47   passthru = {
48     tests = {
49       inherit (nixosTests) sonic-server;
50       version = testers.testVersion {
51         command = "sonic --version";
52         package = sonic-server;
53       };
54     };
55     updateScript = nix-update-script { };
56   };
58   meta = with lib; {
59     description = "Fast, lightweight and schema-less search backend";
60     homepage = "https://github.com/valeriansaliou/sonic";
61     changelog = "https://github.com/valeriansaliou/sonic/releases/tag/v${version}";
62     license = licenses.mpl20;
63     platforms = platforms.unix;
64     mainProgram = "sonic";
65     maintainers = with maintainers; [ pleshevskiy anthonyroussel ];
66   };