[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34108] [PATCH] import: github: Use prereleases when package has no
From: |
Ludovic Courtès |
Subject: |
[bug#34108] [PATCH] import: github: Use prereleases when package has no releases. |
Date: |
Fri, 18 Jan 2019 16:55:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello,
Arun Isaac <address@hidden> skribis:
> For github packages with only prereleases (that is, no releases), `guix
> refresh PACKAGE` prints out the no-updater warning. This is incorrect
> behavior. It should instead fall back to using preleases. This patch
> fixes that.
>
> For an example, see the package quaternion in (gnu packages messaging).
Makes sense.
> From df660be0d7756b792a8356c7b02855cc327a7494 Mon Sep 17 00:00:00 2001
> From: Arun Isaac <address@hidden>
> Date: Thu, 17 Jan 2019 01:34:07 +0530
> Subject: [PATCH] import: github: Use prereleases when package has no releases.
>
> * guix/import/github.scm (latest-released-version): Use preleases when package
> has no releases.
> ---
> guix/import/github.scm | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/guix/import/github.scm b/guix/import/github.scm
> index b287313d98..624b8c5a66 100644
> --- a/guix/import/github.scm
> +++ b/guix/import/github.scm
> @@ -179,14 +179,16 @@ API. This may be fixed by using an access token and
> setting the environment
> variable GUIX_GITHUB_TOKEN, for instance one procured from
> https://github.com/settings/tokens"))
> (let loop ((releases
> - (filter
> - (lambda (x)
> - ;; example pre-release:
> - ;; https://github.com/wwood/OrfM/releases/tag/v0.5.1
> - ;; or an all-prerelease set
> - ;; https://github.com/powertab/powertabeditor/releases
> - (not (hash-ref x "prerelease")))
> - json)))
> + (if (null?
> + (filter
> + (lambda (x)
> + ;; example pre-release:
> + ;;
> https://github.com/wwood/OrfM/releases/tag/v0.5.1
> + ;; or an all-prerelease set
> + ;;
> https://github.com/powertab/powertabeditor/releases
> + (not (hash-ref x "prerelease")))
> + json))
> + json)))
To improve readability, could you define a ‘pre-release?’ procedure so
we can write:
let ((releases (match (remove pre-release? json)
(() json) ;keep everything
(releases releases))))
OK with a change along these lines, thank you!
Ludo’.