From 05e3b4fa4d4f347355a7489366f77afa46c82f34 Mon Sep 17 00:00:00 2001 From: aleksana Date: Fri, 24 May 2024 12:55:30 +0800 Subject: [PATCH 1/2] uv: build with python builder to include python module --- pkgs/by-name/uv/uv/package.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 7b2b589ac5db..ad7c4d67698d 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -3,16 +3,19 @@ , darwin , fetchFromGitHub , installShellFiles +, libiconv , openssl , pkg-config +, python3Packages , rustPlatform , stdenv , nix-update-script }: -rustPlatform.buildRustPackage rec { +python3Packages.buildPythonApplication rec { pname = "uv"; version = "0.1.45"; + pyproject = true; src = fetchFromGitHub { owner = "astral-sh"; @@ -21,7 +24,7 @@ rustPlatform.buildRustPackage rec { hash = "sha256-PJeUndpD7jHcpM66dMIyXpDx95Boc01rzovS0Y7io7w="; }; - cargoLock = { + cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { "async_zip-0.0.17" = "sha256-Q5fMDJrQtob54CTII3+SXHeozy5S5s3iLOzntevdGOs="; @@ -33,14 +36,19 @@ rustPlatform.buildRustPackage rec { cmake installShellFiles pkg-config + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook ]; buildInputs = [ + libiconv openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + dontUseCmakeConfigure = true; + cargoBuildFlags = [ "--package" "uv" ]; # Tests require network access @@ -58,6 +66,10 @@ rustPlatform.buildRustPackage rec { --zsh <($out/bin/uv --generate-shell-completion zsh) ''; + pythonImportsCheck = [ + "uv" + ]; + passthru.updateScript = nix-update-script { }; meta = with lib; { From 9d1625dd1bd85bd4aaa98fda5e2c052acaf4723d Mon Sep 17 00:00:00 2001 From: aleksana Date: Fri, 24 May 2024 12:57:38 +0800 Subject: [PATCH 2/2] python3Packages.uv: init --- pkgs/top-level/python-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 150965f1d205..b76852344036 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16564,6 +16564,10 @@ self: super: with self; { utils = callPackage ../development/python-modules/utils { }; + uv = toPythonModule (pkgs.uv.override { + python3Packages = self; + }); + uvcclient = callPackage ../development/python-modules/uvcclient { }; uvicorn = callPackage ../development/python-modules/uvicorn { };