python3Packages.uv-dynamic-versioning: add setup hook (#439126)

This commit is contained in:
Gaétan Lepage
2025-09-01 13:06:05 +02:00
committed by GitHub
5 changed files with 20 additions and 19 deletions
@@ -4,6 +4,7 @@
fetchFromGitHub,
pythonOlder,
hatchling,
uv-dynamic-versioning,
pytestCheckHook,
pytest-localserver,
numpy,
@@ -25,14 +26,9 @@ buildPythonPackage rec {
hash = "sha256-ZxeZiCw8I5+Bf266PQ6WQA8mBRC7K3/kZrmuW4l6kQU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail ', "uv-dynamic-versioning"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
'';
build-system = [
hatchling
uv-dynamic-versioning
];
dependencies = [
@@ -7,6 +7,7 @@
# build-system
hatchling,
uv-dynamic-versioning,
# dependencies
authlib,
@@ -42,14 +43,9 @@ buildPythonPackage rec {
hash = "sha256-jIXrMyNnyPE2DUgg+sxT6LD4dTmKQglh4cFuaw179Z0=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail ', "uv-dynamic-versioning>=0.7.0"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
'';
build-system = [
hatchling
uv-dynamic-versioning
];
dependencies = [
@@ -6,6 +6,7 @@
# build-system
hatchling,
uv-dynamic-versioning,
# dependencies
anyio,
@@ -50,12 +51,7 @@ buildPythonPackage rec {
hash = "sha256-CxrUGgQfU1R87D3ZzZCHbQBMIOJRneH6CLbHS62sCaY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail ', "uv-dynamic-versioning"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
''
+ lib.optionalString stdenv.buildPlatform.isDarwin ''
postPatch = lib.optionalString stdenv.buildPlatform.isDarwin ''
# time.sleep(0.1) feels a bit optimistic and it has been flaky whilst
# testing this on macOS under load.
substituteInPlace \
@@ -67,7 +63,10 @@ buildPythonPackage rec {
--replace-fail "time.sleep(0.1)" "time.sleep(1)"
'';
build-system = [ hatchling ];
build-system = [
hatchling
uv-dynamic-versioning
];
pythonRelaxDeps = [
"pydantic-settings"
@@ -57,6 +57,8 @@ buildPythonPackage rec {
writableTmpDirAsHomeHook
];
setupHook = ./setup-hook.sh;
meta = {
description = "Dynamic versioning based on VCS tags for uv/hatch project";
homepage = "https://github.com/ninoseki/uv-dynamic-versioning";
@@ -0,0 +1,8 @@
uv-version-pretend-hook() {
echo "Setting UV_DYNAMIC_VERSIONING_BYPASS to $version"
export UV_DYNAMIC_VERSIONING_BYPASS=$version
}
if [ -z "${dontBypassUvDynamicVersioning-}" ]; then
preBuildHooks+=(uv-version-pretend-hook)
fi