Versioneer does not work in the Guix build container because: * VCS information is unavailable * the build directory does not have the supported "$name-$version" format * 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. 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 qt'>
path: root/m4/guix.m4
AgeCommit message (Expand)Author
2023-11-07build: Fix spelling in m4 macros....* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Fix spelling of parameter. (GUIX_CHECK_FILE_NAME_LIMITS): Fix spelling of maximum. Change-Id: I93c80441393622a4bc06daa475eee13874cca527 Efraim Flashner
2023-03-16build: Correct guix_system on musl libc distros....* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add linux-musl* case. This prevents the macro from mis-parsing the host OS, which causes breakage when building from source. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Antero Mejr