From b82eb8d67add518c39af39227397b78285f89a50 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 24 Jun 2022 22:31:10 +0200 Subject: import: pypi: Allow updating to a specific version. * guix/import/pypi.scm (latest-release): Rename to 'import-release', add #:version argument and pass it on to called functions. --- guix/import/pypi.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 3e3e949283..0e5998b36e 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Marius Bakke ;;; Copyright © 2022 Vivien Kraus ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2022 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -556,15 +557,16 @@ source. To build it from source, refer to the upstream repository at (string-prefix? "https://pypi.org/packages" url) (string-prefix? "https://files.pythonhosted.org/packages" url))))) -(define (latest-release package) - "Return an for the latest release of PACKAGE." +(define* (import-release package #:key (version #f)) + "Return an for the latest release of PACKAGE. Optionally +include a VERSION string to fetch a specific version." (let* ((pypi-name (guix-package->pypi-name package)) (pypi-package (pypi-fetch pypi-name))) (and pypi-package (guard (c ((missing-source-error? c) #f)) (let* ((info (pypi-project-info pypi-package)) - (version (project-info-version info)) - (dist (source-release pypi-package)) + (version (or version (project-info-version info))) + (dist (source-release pypi-package version)) (url (distribution-url dist))) (upstream-source (urls (list url)) @@ -574,7 +576,7 @@ source. To build it from source, refer to the upstream repository at #f)) (input-changes (changed-inputs package - (pypi->guix-package pypi-name))) + (pypi->guix-package pypi-name #:version version))) (package (package-name package)) (version version))))))) @@ -583,4 +585,4 @@ source. To build it from source, refer to the upstream repository at (name 'pypi) (description "Updater for PyPI packages") (pred pypi-package?) - (import latest-release))) + (import import-release))) -- cgit v1.2.3