1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 cargo,
6 rustPlatform,
7 rustc,
8}:
9
10let
11 version = "0.2.6";
12
13 src = fetchFromGitHub {
14 owner = "yzx9";
15 repo = "sdflit";
16 tag = "v${version}";
17 hash = "sha256-Ze3J5Dp+TskhIiGP6kMK3AIHLnhVBuEaKJokccIr+SM=";
18 };
19in
20buildPythonPackage {
21 pname = "sdflit";
22 inherit version src;
23 pyproject = true;
24
25 cargoDeps = rustPlatform.fetchCargoVendor {
26 inherit src;
27 hash = "sha256-CrMe5DuO9sQZZ50Hy+av4nF4gbOe296zSWJfJ8th7zs=";
28 };
29
30 build-system = [
31 cargo
32 rustPlatform.cargoSetupHook
33 rustPlatform.maturinBuildHook
34 rustc
35 ];
36
37 pythonImportsCheck = [
38 "sdflit"
39 ];
40
41 meta = {
42 description = "Fast and Robust Signed Distance Function Library";
43 homepage = "https://github.com/yzx9/sdflit";
44 license = lib.licenses.asl20;
45 maintainers = with lib.maintainers; [ yzx9 ];
46 };
47}