diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2022-06-29 10:15:47 +0200 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2022-12-26 17:38:06 +0100 |
commit | 3986caacae773c7f2f69a013b44d3d64dffe9f50 (patch) | |
tree | 5d987bdf1fdbc812eb6ff168ceea41a9f9cb86db /guix | |
parent | 424a871f1f3517db2718c76550619b2fa1e0309b (diff) |
import: launchpad: Allow updating to a specific version.
* guix/import/launchpad.scm (latest-release): Rename to 'import-release',
add #:version argument.
If version is given, return an upstream-source for this version.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/import/launchpad.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/import/launchpad.scm b/guix/import/launchpad.scm index b7e0295c4e..01953ea69c 100644 --- a/guix/import/launchpad.scm +++ b/guix/import/launchpad.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -121,8 +122,9 @@ for example, 'linuxdcpp'. Return #f if there is no releases." (last (remove pre-release? (vector->list (assoc-ref json "entries")))) "version")))) -(define (latest-release pkg) - "Return an <upstream-source> for the latest release of PKG." +(define* (import-release pkg #:key (version #f)) + "Return an <upstream-source> for the latest release of PKG. Optionally +include a VERSION string to fetch a specific version." (define (origin-launchpad-uri origin) (match (origin-uri origin) ((? string? url) url) ; surely a Launchpad URL @@ -132,7 +134,7 @@ for example, 'linuxdcpp'. Return #f if there is no releases." (let* ((source-uri (origin-launchpad-uri (package-source pkg))) (name (package-name pkg)) (repository (launchpad-repository source-uri)) - (newest-version (latest-released-version repository))) + (newest-version (or version (latest-released-version repository)))) (if newest-version (upstream-source (package name) @@ -145,4 +147,4 @@ for example, 'linuxdcpp'. Return #f if there is no releases." (name 'launchpad) (description "Updater for Launchpad packages") (pred launchpad-package?) - (import latest-release))) + (import import-release))) |