1{
2 lib,
3 buildPythonPackage,
4 faiss-build,
5 numpy,
6 packaging,
7 setuptools,
8 pip,
9 wheel,
10}:
11
12buildPythonPackage {
13 inherit (faiss-build) pname version;
14 pyproject = true;
15
16 src = "${lib.getOutput "dist" faiss-build}";
17
18 postPatch = ''
19 mkdir dist
20 mv *.whl dist/
21 '';
22
23 build-system = [
24 setuptools
25 pip
26 wheel
27 ];
28
29 dependencies = [
30 numpy
31 packaging
32 ];
33
34 # E.g. cuda libraries; needed because reference scanning
35 # can't see inside the wheels
36 inherit (faiss-build) buildInputs;
37
38 dontBuild = true;
39
40 pythonImportsCheck = [ "faiss" ];
41
42 meta = lib.pipe (faiss-build.meta or { }) [
43 (lib.flip builtins.removeAttrs [ "mainProgram" ])
44 (m: m // { description = "Bindings for faiss, the similarity search library"; })
45 ];
46}