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 ut type='hidden' name='id' value='603407fa0a9b2435b9688d0bb2d099c31f22ec45'/>
path: root/tests/import-github.scm
AgeCommit message (Expand)Author
2022-12-26upstream-updater: Rename record field....The next commits will make the functions, which are currently importing the latest version of a package, change into importing the latest or a given version of the package (for those updaters supporting specifying a version). Thus the name ‘latest‘ is no longer appropriate. * guix/upstream.scm (upstream-updater) Rename field [latest] to [import]. (lookup-updater, package-latest-release) Adjust fieldname accordingly. * guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater, %savannah-updater, %sourceforge-updater, %xorg-updater, %kernel.org-updater, %generic-html-updater), guix/import/cpan.scm (%cpan-updater), guix/import/cran.scm (%cran-updater, %bioconductor-updater), guix/import/crate.scm (%crate-updater), guix/import/egg.scm (%egg-updater), guix/import/elpa.scm (%elpa-updater), guix/import/gem.scm (%gem-updater), guix/import/git.scm (%generic-git-updater), guix/import/github.scm (%github-updater), guix/import/gnome.scm (%gnome-updater), guix/import/hackage.scm (%hackage-updater), guix/import/hexpm.scm (%hexpm-updater), guix/import/kde.scm (%kde-updater), guix/import/launchpad.scm (%launchpad-updater), guix/import/minetest.scm (%minetest-updater), guix/import/opam.scm (%opam-updater), guix/import/pypi.scm (%pypi-updater), guix/import/stackage.scm (%stackage-updater), tests/import-github.scm (found-sexp) tests/transformations.scm ("options->transformation, with-latest"): Adjust fieldname accordingly. Hartmut Goebel