nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 rustPlatform,
7 libiconv,
8 numpy,
9 unittestCheckHook,
10}:
11
12buildPythonPackage (finalAttrs: {
13 pname = "nutils-poly";
14 version = "1.0.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "nutils";
19 repo = "poly-py";
20 tag = "v${finalAttrs.version}";
21 hash = "sha256-dxFv4Az3uz6Du5dk5KZJ+unVbt3aZjxXliAQZhmBWDM=";
22 };
23
24 cargoDeps = rustPlatform.fetchCargoVendor {
25 inherit (finalAttrs) pname version src;
26 hash = "sha256-3UBQJfMPVo37V7mJnN9loF1+vKh3JxFJWgynwsOnAg4=";
27 };
28
29 nativeBuildInputs = [ rustPlatform.cargoSetupHook ];
30
31 buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
32
33 build-system = [ rustPlatform.maturinBuildHook ];
34
35 dependencies = [ numpy ];
36
37 nativeCheckInputs = [ unittestCheckHook ];
38
39 pythonImportsCheck = [ "nutils_poly" ];
40
41 meta = {
42 description = "Low-level functions for evaluating and manipulating polynomials";
43 homepage = "https://github.com/nutils/poly-py";
44 license = lib.licenses.mit;
45 maintainers = with lib.maintainers; [ tomasajt ];
46 };
47})