biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / clr-loader / default.nix
blob90006a6fe44e5462d23306f7d73cfa73a5c77c8e
2   lib,
3   fetchPypi,
4   buildPythonPackage,
5   pytestCheckHook,
6   dotnetCorePackages,
7   setuptools,
8   setuptools-scm,
9   wheel,
10   buildDotnetModule,
11   cffi,
14 let
15   pname = "clr-loader";
16   version = "0.2.6";
17   src = fetchPypi {
18     pname = "clr_loader";
19     inherit version;
20     hash = "sha256-AZNIrmtqg8ekBtFFN8J3zs96OlOyY+w0LIHe1YRaZ+4=";
21   };
23   # This buildDotnetModule is used only to get nuget sources, the actual
24   # build is done in `buildPythonPackage` below.
25   dotnet-build = buildDotnetModule {
26     inherit pname version src;
27     projectFile = [
28       "netfx_loader/ClrLoader.csproj"
29       "example/example.csproj"
30     ];
31     nugetDeps = ./deps.nix;
32   };
34 buildPythonPackage {
35   inherit pname version src;
37   format = "pyproject";
39   buildInputs = dotnetCorePackages.sdk_6_0.packages ++ dotnet-build.nugetDeps;
41   nativeBuildInputs = [
42     setuptools
43     setuptools-scm
44     wheel
45     dotnetCorePackages.sdk_6_0
46   ];
48   propagatedBuildInputs = [ cffi ];
50   nativeCheckInputs = [ pytestCheckHook ];
52   disabledTests = [
53     # TODO: mono does not work due to https://github.com/NixOS/nixpkgs/issues/7307
54     "test_mono"
55     "test_mono_debug"
56     "test_mono_signal_chaining"
57     "test_mono_set_dir"
58   ];
60   # Perform dotnet restore based on the nuget-source
61   preConfigure = ''
62     dotnet restore "netfx_loader/ClrLoader.csproj" \
63       -p:ContinuousIntegrationBuild=true \
64       -p:Deterministic=true
66     dotnet restore "example/example.csproj" \
67       -p:ContinuousIntegrationBuild=true \
68       -p:Deterministic=true
69   '';
71   passthru.fetch-deps = dotnet-build.fetch-deps;
73   meta = with lib; {
74     description = "Generic pure Python loader for .NET runtimes";
75     homepage = "https://pythonnet.github.io/clr-loader/";
76     license = licenses.mit;
77     maintainers = with maintainers; [ mdarocha ];
78   };