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

Changed files
+20 -19
pkgs
development
python-modules
dicomweb-client
fastmcp
mcp
uv-dynamic-versioning
+2 -6
pkgs/development/python-modules/dicomweb-client/default.nix
···
fetchFromGitHub,
pythonOlder,
hatchling,
+
uv-dynamic-versioning,
pytestCheckHook,
pytest-localserver,
numpy,
···
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 = [
+2 -6
pkgs/development/python-modules/fastmcp/default.nix
···
# build-system
hatchling,
+
uv-dynamic-versioning,
# dependencies
authlib,
···
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 -7
pkgs/development/python-modules/mcp/default.nix
···
# build-system
hatchling,
+
uv-dynamic-versioning,
# dependencies
anyio,
···
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 \
···
--replace-fail "time.sleep(0.1)" "time.sleep(1)"
'';
-
build-system = [ hatchling ];
+
build-system = [
+
hatchling
+
uv-dynamic-versioning
+
];
pythonRelaxDeps = [
"pydantic-settings"
+2
pkgs/development/python-modules/uv-dynamic-versioning/default.nix
···
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";
+8
pkgs/development/python-modules/uv-dynamic-versioning/setup-hook.sh
···
+
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