diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-08 16:04:42 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-13 06:35:37 +0000 |
commit | 12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch) | |
tree | be0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/development/libraries/hnswlib | |
parent | 45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff) | |
parent | 5a8e9243812ba528000995b294292d3b5e120947 (diff) | |
download | nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.gz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.bz2 nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.lz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.xz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.zst nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix Link: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/391
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/hnswlib')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/hnswlib/default.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/hnswlib/default.nix b/nixpkgs/pkgs/development/libraries/hnswlib/default.nix new file mode 100644 index 000000000000..c3a543972e06 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/hnswlib/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, python3 +}: +let + python = python3.withPackages(ps: with ps; [ + numpy + ]); +in + +stdenv.mkDerivation (finalAttrs: { + pname = "hnswlib"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "nmslib"; + repo = "hnswlib"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-XXz0NIQ5dCGwcX2HtbK5NFTalP0TjLO6ll6TmH3oflI="; + }; + + # this is a header-only library, so we don't need to build it + # we need `cmake` only to run tests + nativeBuildInputs = lib.optionals finalAttrs.doCheck [ + cmake + python + ]; + + # we only want to run buildPhase when we run tests + dontBuild = !finalAttrs.doCheck; + + installPhase = '' + runHook preInstall + + install -Dm644 $src/hnswlib/*.h -t $out/include/hnswlib + + runHook postInstall + ''; + + doCheck = true; + + preCheck = '' + pushd ../tests/cpp + ${python.interpreter} update_gen_data.py + popd + ''; + + checkPhase = '' + runHook preCheck + + ./test_updates + + runHook postCheck + ''; + + meta = with lib; { + description = "Header-only C++/python library for fast approximate nearest neighbors"; + homepage = "https://github.com/nmslib/hnswlib"; + changelog = "https://github.com/nmslib/hnswlib/releases/tag/${finalAttrs.src.rev}"; + license = licenses.asl20; + maintainers = with maintainers; [ natsukium ]; + platforms = platforms.unix; + }; +}) |