uhubctl: fix darwin build (#361491)
[NixPkgs.git] / pkgs / servers / search / qdrant / default.nix
blob744161f5cf737a2121811d43db7d9ecaf8c7e1e1
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , protobuf
5 , stdenv
6 , pkg-config
7 , openssl
8 , rust-jemalloc-sys
9 , nix-update-script
10 , Security
11 , SystemConfiguration
14 rustPlatform.buildRustPackage rec {
15   pname = "qdrant";
16   version = "1.12.1";
18   src = fetchFromGitHub {
19     owner = "qdrant";
20     repo = "qdrant";
21     rev = "refs/tags/v${version}";
22     sha256 = "sha256-q99roKqeC8lra29gyJertJLnVNFvKRFZ2agREvHZx6k=";
23   };
25   cargoLock = {
26     lockFile = ./Cargo.lock;
27     outputHashes = {
28       "tar-0.4.41" = "sha256-32n96yoGbDzhgVZvISLGwxHuv7PGtxde5ma/YlsR1Gg=";
29       "wal-0.1.2" = "sha256-QcyS0v7O1BziVT3oahebpq+u4l5JGaujCaRIPdmsJl4=";
30     };
31   };
33   buildInputs = [
34     openssl
35     rust-jemalloc-sys
36   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
37     Security
38     SystemConfiguration
39   ];
41   nativeBuildInputs = [ protobuf rustPlatform.bindgenHook pkg-config ];
43   env = {
44     # Needed to get openssl-sys to use pkg-config.
45     OPENSSL_NO_VENDOR = 1;
46   } // lib.optionalAttrs stdenv.cc.isClang {
47     NIX_CFLAGS_COMPILE = "-faligned-allocation";
48   };
50   passthru = {
51     updateScript = nix-update-script { };
52   };
54   meta = with lib; {
55     description = "Vector Search Engine for the next generation of AI applications";
56     longDescription = ''
57       Expects a config file at config/config.yaml with content similar to
58       https://github.com/qdrant/qdrant/blob/master/config/config.yaml
59     '';
60     homepage = "https://github.com/qdrant/qdrant";
61     license = licenses.asl20;
62     maintainers = with maintainers; [ dit7ya ];
63   };