import: minetest: Strip "v" prefixes from the version number.
This fixes one of the issues noted at <https://issues.guix.gnu.org/50425#4>. * guix/import/minetest.scm (release-version): New procedure. (%minetest->guix-package): Call new procedure instead of release-title. * tests/minetest.scm (make-package-sexp): Allow overriding the version number. (make-releases-json): Allow overriding the release title. ("conventional version number") ("v-prefixed version number") ("dates as version number"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
8480a2a5bb
commit
808f9ffbd3
|
@ -337,6 +337,14 @@ official Minetest forum and the Git repository (if any)."
|
|||
(and=> (package-forums package) topic->url-sexp)
|
||||
(package-repository package)))
|
||||
|
||||
(define (release-version release)
|
||||
"Guess the version of RELEASE from the release title."
|
||||
(define title (release-title release))
|
||||
(if (string-prefix? "v" title)
|
||||
;; Remove "v" prefix from release titles like ‘v1.0.1’.
|
||||
(substring title 1)
|
||||
title))
|
||||
|
||||
;; If the default sort key is changed, make sure to modify 'show-help'
|
||||
;; in (guix scripts import minetest) appropriately as well.
|
||||
(define %default-sort-key "score")
|
||||
|
@ -436,7 +444,7 @@ list of AUTHOR/NAME strings."
|
|||
(define important-upstream-dependencies
|
||||
(important-dependencies dependencies author/name #:sort sort))
|
||||
(values (make-minetest-sexp author/name
|
||||
(release-title release) ; version
|
||||
(release-version release)
|
||||
(package-repository package)
|
||||
(release-commit release)
|
||||
important-upstream-dependencies
|
||||
|
|
|
@ -33,6 +33,10 @@
|
|||
|
||||
(define* (make-package-sexp #:key
|
||||
(guix-name "minetest-foo")
|
||||
;; This is not a proper version number but
|
||||
;; ContentDB often does not include version
|
||||
;; numbers.
|
||||
(version "2021-07-25")
|
||||
(home-page "https://example.org/foo")
|
||||
(repo "https://example.org/foo.git")
|
||||
(synopsis "synopsis")
|
||||
|
@ -44,9 +48,7 @@
|
|||
#:allow-other-keys)
|
||||
`(package
|
||||
(name ,guix-name)
|
||||
;; This is not a proper version number but ContentDB does not include
|
||||
;; version numbers.
|
||||
(version "2021-07-25")
|
||||
(version ,version)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -106,14 +108,14 @@
|
|||
author "/" name "/download/"))
|
||||
("website" . ,website)))
|
||||
|
||||
(define* (make-releases-json #:key (commit #f) (title "") #:allow-other-keys)
|
||||
(define* (make-releases-json #:key (commit #f) (title "2021-07-25") #:allow-other-keys)
|
||||
`#((("commit" . ,commit)
|
||||
("downloads" . 469)
|
||||
("id" . 8614)
|
||||
("max_minetest_version" . null)
|
||||
("min_minetest_version" . null)
|
||||
("release_date" . "2021-07-25T01:10:23.207584")
|
||||
("title" . "2021-07-25"))))
|
||||
("title" . ,title))))
|
||||
|
||||
(define* (make-dependencies-json #:key (author "Author")
|
||||
(name "foo")
|
||||
|
@ -292,6 +294,17 @@ during a dynamic extent where that package is available on ContentDB."
|
|||
#:website 'null
|
||||
#:repo 'null)
|
||||
|
||||
|
||||
;; Determining the version number
|
||||
|
||||
(test-package "conventional version number" #:version "1.2.3" #:title "1.2.3")
|
||||
;; See e.g. orwell/basic_trains
|
||||
(test-package "v-prefixed version number" #:version "1.2.3" #:title "v1.2.3")
|
||||
;; Many mods on ContentDB use dates as release titles. In that case, the date
|
||||
;; will have to do.
|
||||
(test-package "dates as version number"
|
||||
#:version "2021-01-01" #:title "2021-01-01")
|
||||
|
||||
|
||||
|
||||
;; Dependencies
|
||||
|
|
Reference in New Issue