mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
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.
This commit is contained in:
parent
3986caacae
commit
b82eb8d67a
1 changed files with 8 additions and 6 deletions
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Vivien Kraus <vivien@planete-kraus.eu>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -556,15 +557,16 @@ (define pypi-package?
|
|||
(string-prefix? "https://pypi.org/packages" url)
|
||||
(string-prefix? "https://files.pythonhosted.org/packages" url)))))
|
||||
|
||||
(define (latest-release package)
|
||||
"Return an <upstream-source> for the latest release of PACKAGE."
|
||||
(define* (import-release package #:key (version #f))
|
||||
"Return an <upstream-source> 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 @@ (define (latest-release package)
|
|||
#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 @@ (define %pypi-updater
|
|||
(name 'pypi)
|
||||
(description "Updater for PyPI packages")
|
||||
(pred pypi-package?)
|
||||
(import latest-release)))
|
||||
(import import-release)))
|
||||
|
|
Loading…
Reference in a new issue