diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/search/qdrant/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/search/qdrant/default.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/search/qdrant/default.nix b/nixpkgs/pkgs/servers/search/qdrant/default.nix new file mode 100644 index 000000000000..eb6fc6c71943 --- /dev/null +++ b/nixpkgs/pkgs/servers/search/qdrant/default.nix @@ -0,0 +1,65 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, protobuf +, stdenv +, pkg-config +, openssl +, rust-jemalloc-sys +, nix-update-script +, Security +, SystemConfiguration +}: + +rustPlatform.buildRustPackage rec { + pname = "qdrant"; + version = "1.7.4"; + + src = fetchFromGitHub { + owner = "qdrant"; + repo = "qdrant"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-BgsLmE50mGmB5fcUjov8wcAHRTKMYaoyoXjSUyIddlc="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "quantization-0.1.0" = "sha256-ggVqJiftu0nvyEM0dzsH0JqIc/Z1XILyUSKiJHeuuZs="; + "tonic-0.9.2" = "sha256-ZlcDUZy/FhxcgZE7DtYhAubOq8DMSO17T+TCmXar1jE="; + "wal-0.1.2" = "sha256-nBGwpphtj+WBwL9TmWk7qXiEqlIWkgh/2V9uProqhMk="; + }; + }; + + buildInputs = [ + openssl + rust-jemalloc-sys + ] ++ lib.optionals stdenv.isDarwin [ + Security + SystemConfiguration + ]; + + nativeBuildInputs = [ protobuf rustPlatform.bindgenHook pkg-config ]; + + env = { + # Needed to get openssl-sys to use pkg-config. + OPENSSL_NO_VENDOR = 1; + } // lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-faligned-allocation"; + }; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "Vector Search Engine for the next generation of AI applications"; + longDescription = '' + Expects a config file at config/config.yaml with content similar to + https://github.com/qdrant/qdrant/blob/master/config/config.yaml + ''; + homepage = "https://github.com/qdrant/qdrant"; + license = licenses.asl20; + maintainers = with maintainers; [ dit7ya ]; + }; +} |