mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: python-versioneer: Adjust patch.
* gnu/packages/patches/python-versioneer-guix-support.patch: Extract version from the environment variable instead of the parent directory name. Change-Id: Ide050eeb8fbb82c29805fce74d891d62b7e707cb Reviewed-by: Nicolas Graves <ngraves@ngraves.fr> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
committed by
Sharlatan Hellseher
parent
57762eb8de
commit
44b1ef5971
@@ -5,31 +5,19 @@ Versioneer does not work in the Guix build container because:
|
||||
* as of 0.21, versioneer has no way to override the discovered values
|
||||
|
||||
This patch adds support for extracting version from the
|
||||
'/tmp/guix-build-foo-0.1.drv-0' style directories created by the daemon.
|
||||
GUIX_VERSIONEER_VERSION environment variable set by the set-version
|
||||
phase of the pyproject build system.
|
||||
|
||||
diff --git a/src/from_parentdir.py b/src/from_parentdir.py
|
||||
index 69ada9a..e0fac8f 100644
|
||||
--- a/src/from_parentdir.py
|
||||
+++ b/src/from_parentdir.py
|
||||
@@ -15,6 +15,21 @@ def versions_from_parentdir(parentdir_prefix, root, verbose):
|
||||
return {"version": dirname[len(parentdir_prefix):],
|
||||
"full-revisionid": None,
|
||||
"dirty": False, "error": None, "date": None}
|
||||
+ # Guix specific patch: try extracting the version from the build
|
||||
+ # directory.
|
||||
+ elif dirname.startswith("guix-build-"):
|
||||
+ delimiter = dirname.rindex(".drv-")
|
||||
+ name_and_version = dirname[11:delimiter]
|
||||
+ if name_and_version.startswith(parentdir_prefix):
|
||||
+ guix_version = name_and_version[len(parentdir_prefix):]
|
||||
+ elif name_and_version.startswith("python-{}".format(parentdir_prefix)):
|
||||
+ guix_version = name_and_version[(7 + len(parentdir_prefix)):]
|
||||
+ else:
|
||||
+ break
|
||||
+ return {"version": guix_version,
|
||||
+ "full-revisionid": None,
|
||||
+ "dirty": False, "error": None, "date": None}
|
||||
+
|
||||
rootdirs.append(root)
|
||||
root = os.path.dirname(root) # up a level
|
||||
--- a/src/get_versions.py
|
||||
+++ b/src/get_versions.py
|
||||
@@ -19,6 +19,10 @@
|
||||
# see the discussion in cmdclass.py:get_cmdclass()
|
||||
del sys.modules["versioneer"]
|
||||
|
||||
+ ver = {"version": os.getenv("GUIX_VERSIONEER_VERSION")}
|
||||
+ if ver["version"] is not None:
|
||||
+ return ver
|
||||
+
|
||||
root = get_root()
|
||||
cfg = get_config_from_root(root)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user