nix-config/packages/uv/default.nix

59 lines
1.2 KiB
Nix
Raw Normal View History

{
stdenv,
versionCheckHook,
lib,
installShellFiles,
autoPatchelfHook,
}:
stdenv.mkDerivation rec {
pname = "uv-bin";
2025-02-03 11:46:59 +01:00
version = "0.5.26";
src = fetchTarball {
url = "https://github.com/astral-sh/uv/releases/download/${version}/uv-x86_64-unknown-linux-gnu.tar.gz";
2025-02-03 11:46:59 +01:00
sha256 = "161das9fglnqhpp6h8y3fgbrk849d00q0cbhlsy8ba4x1c7vrqif";
};
nativeBuildInputs = [
installShellFiles
autoPatchelfHook
stdenv.cc.cc.lib
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp * $out/bin
runHook postInstall
'';
dontAutoPatchelf = true;
postFixup = ''
autoPatchelf -- "$out"
export HOME=$TMPDIR
installShellCompletion --cmd uv \
--bash <($out/bin/uv --generate-shell-completion bash) \
--fish <($out/bin/uv --generate-shell-completion fish) \
--zsh <($out/bin/uv --generate-shell-completion zsh)
'';
nativeCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
meta = {
description = "Extremely fast Python package installer and resolver, written in Rust";
homepage = "https://github.com/astral-sh/uv";
license = with lib.licenses; [
asl20
mit
];
};
}