1{
2 lib,
3 pkgs,
4 buildPythonPackage,
5 rustPlatform,
6 callPackage,
7}:
8
9buildPythonPackage {
10 pname = "uv-build";
11 pyproject = true;
12
13 inherit (pkgs.uv)
14 version
15 src
16 cargoDeps
17 ;
18
19 nativeBuildInputs = [
20 rustPlatform.cargoSetupHook
21 rustPlatform.maturinBuildHook
22 ];
23
24 buildAndTestSubdir = "crates/uv-build";
25
26 # $src/.github/workflows/build-binaries.yml#L139
27 maturinBuildFlags = [ "--profile=minimal-size" ];
28
29 pythonImportsCheck = [ "uv_build" ];
30
31 # The package has no tests
32 doCheck = false;
33
34 # Run the tests of a package built by `uv_build`.
35 passthru.tests.built-by-uv = callPackage ./built-by-uv.nix { inherit (pkgs) uv; };
36
37 meta = {
38 description = "Minimal build backend for uv";
39 homepage = "https://docs.astral.sh/uv/reference/settings/#build-backend";
40 inherit (pkgs.uv.meta) changelog license;
41 maintainers = with lib.maintainers; [ bengsparks ];
42 };
43}