From e97e82f83125aa7f6e96203764b3d10e480e1b76 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 6 Jun 2023 11:50:53 +0200 Subject: python310Packages.pdm-backend: set package version through setup-hook Packages that consume pdm-backend often use it, quite similary to setuptools-scm-version, for dynamic versioning. That works fine when pulling releases from PyPi, but needs special handling, when releases are pulled from Git. The pdm-backend package will now always export `PDM_BUILD_SCM_VERSION=` to propagate the derivation version to pdm-backend. This behaviour can be disabled by setting ``` dontSetPdmBackendVersion = true; ``` --- pkgs/development/python-modules/griffe/default.nix | 2 -- pkgs/development/python-modules/mkdocstrings-python/default.nix | 1 - pkgs/development/python-modules/pdm-backend/default.nix | 2 ++ pkgs/development/python-modules/pdm-backend/setup-hook.sh | 8 ++++++++ 4 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/python-modules/pdm-backend/setup-hook.sh (limited to 'pkgs') diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix index 09b90556e614e..cb04353ccf312 100644 --- a/pkgs/development/python-modules/griffe/default.nix +++ b/pkgs/development/python-modules/griffe/default.nix @@ -27,9 +27,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace 'dynamic = ["version"]' 'version = "${version}"' \ --replace 'license = "ISC"' 'license = {file = "LICENSE"}' \ - --replace 'version = {source = "scm"}' 'license-expression = "ISC"' ''; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix index adb6e2424ff21..656bde232a4c5 100644 --- a/pkgs/development/python-modules/mkdocstrings-python/default.nix +++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix @@ -40,7 +40,6 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ --replace 'license = "ISC"' 'license = {text = "ISC"}' \ - --replace 'dynamic = ["version"]' 'version = "${version}"' ''; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/pdm-backend/default.nix b/pkgs/development/python-modules/pdm-backend/default.nix index 5cff0cb03485f..b8f46c9595bd0 100644 --- a/pkgs/development/python-modules/pdm-backend/default.nix +++ b/pkgs/development/python-modules/pdm-backend/default.nix @@ -40,6 +40,8 @@ buildPythonPackage rec { setuptools ]; + setupHook = ./setup-hook.sh; + meta = with lib; { homepage = "https://github.com/pdm-project/pdm-backend"; changelog = "https://github.com/pdm-project/pdm-backend/releases/tag/${version}"; diff --git a/pkgs/development/python-modules/pdm-backend/setup-hook.sh b/pkgs/development/python-modules/pdm-backend/setup-hook.sh new file mode 100644 index 0000000000000..aca0c555c76cc --- /dev/null +++ b/pkgs/development/python-modules/pdm-backend/setup-hook.sh @@ -0,0 +1,8 @@ +version-pretend-hook() { + echo "Setting PDM_BUILD_SCM_VERSION to $version" + export PDM_BUILD_SCM_VERSION=$version +} + +if [ -z "${dontSetPdmBackendVersion-}" ]; then + preBuildHooks+=(version-pretend-hook) +fi -- cgit 1.4.1