[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: import: github: Use prereleases when package has no releases.
From: |
guix-commits |
Subject: |
01/02: import: github: Use prereleases when package has no releases. |
Date: |
Mon, 21 Jan 2019 07:35:37 -0500 (EST) |
arunisaac pushed a commit to branch master
in repository guix.
commit 6b7ea49bedb6902ee620ec337cb234a34b2ab49b
Author: Arun Isaac <address@hidden>
Date: Thu Jan 17 01:34:07 2019 +0530
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 | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/guix/import/github.scm b/guix/import/github.scm
index e17ef0b..c78469d 100644
--- a/guix/import/github.scm
+++ b/guix/import/github.scm
@@ -171,6 +171,9 @@ empty list."
"Return a string of the newest released version name given a string URL like
'https://github.com/arq5x/bedtools2/archive/v2.24.0.tar.gz' and the name of
the package e.g. 'bedtools2'. Return #f if there is no releases"
+ (define (pre-release? x)
+ (hash-ref x "prerelease"))
+
(let* ((json (fetch-releases-or-tags url)))
(if (eq? json #f)
(if (%github-token)
@@ -181,14 +184,9 @@ 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)))
+ (match (remove pre-release? json)
+ (() json) ; keep everything
+ (releases releases))))
(match releases
(() ;empty release list
#f)