54 lines
946 B
Nix
54 lines
946 B
Nix
|
{
|
||
|
lib,
|
||
|
buildPythonPackage,
|
||
|
callPackage,
|
||
|
faiss-build,
|
||
|
numpy,
|
||
|
packaging,
|
||
|
setuptools,
|
||
|
pip,
|
||
|
}:
|
||
|
|
||
|
buildPythonPackage {
|
||
|
inherit (faiss-build) pname version;
|
||
|
pyproject = true;
|
||
|
|
||
|
src = "${lib.getOutput "dist" faiss-build}";
|
||
|
|
||
|
postPatch = ''
|
||
|
mkdir dist
|
||
|
mv *.whl dist/
|
||
|
'';
|
||
|
|
||
|
build-system = [
|
||
|
setuptools
|
||
|
pip
|
||
|
];
|
||
|
|
||
|
dependencies = [
|
||
|
numpy
|
||
|
packaging
|
||
|
];
|
||
|
|
||
|
# E.g. cuda libraries; needed because reference scanning
|
||
|
# can't see inside the wheels
|
||
|
inherit (faiss-build) buildInputs;
|
||
|
|
||
|
dontBuild = true;
|
||
|
|
||
|
pythonImportsCheck = [ "faiss" ];
|
||
|
|
||
|
passthru = {
|
||
|
inherit (faiss-build) cudaSupport cudaPackages pythonSupport;
|
||
|
|
||
|
tests = {
|
||
|
pytest = callPackage ./pytest.nix { inherit faiss-build; };
|
||
|
};
|
||
|
};
|
||
|
|
||
|
meta = lib.pipe (faiss-build.meta or { }) [
|
||
|
(lib.flip builtins.removeAttrs [ "mainProgram" ])
|
||
|
(m: m // { description = "Bindings for faiss, the similarity search library"; })
|
||
|
];
|
||
|
}
|