about summary refs log tree commit diff
path: root/pkgs/by-name/uv
diff options
context:
space:
mode:
authoraleksana <me@aleksana.moe>2024-05-24 12:55:30 +0800
committeraleksana <me@aleksana.moe>2024-05-24 16:49:09 +0800
commit05e3b4fa4d4f347355a7489366f77afa46c82f34 (patch)
tree426d1e7e8fa0a32928fc1834dad2982501f4e8a7 /pkgs/by-name/uv
parent2098d845d76f8a21ae4fe12ed7c7df49098d3f15 (diff)
uv: build with python builder to include python module
Diffstat (limited to 'pkgs/by-name/uv')
-rw-r--r--pkgs/by-name/uv/uv/package.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 7b2b589ac5db2..ad7c4d67698d7 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; {