import: elpa: Support ‘upstream-name’ property.
* guix/import/elpa.scm: (guix-package->elpa-name): New procedure. (latest-release): Use it. * tests/elpa.scm ("guix-package->elpa-name: without 'upstream-name' property") ("guix-package->elpa-name: with 'upstream-name' property"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
08b0f5c2a5
commit
f21c70bc9a
|
@ -46,6 +46,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module ((guix utils) #:select (call-with-temporary-output-file))
|
||||
#:export (elpa->guix-package
|
||||
guix-package->elpa-name
|
||||
%elpa-updater
|
||||
elpa-recursive-import))
|
||||
|
||||
|
@ -412,13 +413,17 @@ type '<elpa-package>'."
|
|||
;;; Updates.
|
||||
;;;
|
||||
|
||||
(define (guix-package->elpa-name package)
|
||||
"Given a Guix package, PACKAGE, return the upstream name on ELPA."
|
||||
(or (and=> (package-properties package)
|
||||
(cut assq-ref <> 'upstream-name))
|
||||
(if (string-prefix? "emacs-" (package-name package))
|
||||
(string-drop (package-name package) 6)
|
||||
(package-name package))))
|
||||
|
||||
(define (latest-release package)
|
||||
"Return an <upstream-release> for the latest release of PACKAGE."
|
||||
(define name
|
||||
(if (string-prefix? "emacs-" (package-name package))
|
||||
(string-drop (package-name package) 6)
|
||||
(package-name package)))
|
||||
|
||||
(define name (guix-package->elpa-name package))
|
||||
(define repo 'gnu)
|
||||
|
||||
(match (elpa-package-info name repo)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,6 +21,7 @@
|
|||
|
||||
(define-module (test-elpa)
|
||||
#:use-module (guix import elpa)
|
||||
#:use-module (guix tests)
|
||||
#:use-module (guix tests http)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-64)
|
||||
|
@ -71,6 +73,16 @@
|
|||
(test-assert "elpa->guix-package test 1"
|
||||
(eval-test-with-elpa "auctex"))
|
||||
|
||||
(test-equal "guix-package->elpa-name: without 'upstream-name' property"
|
||||
"auctex"
|
||||
(guix-package->elpa-name (dummy-package "emacs-auctex")))
|
||||
|
||||
(test-equal "guix-package->elpa-name: with 'upstream-name' property"
|
||||
"project"
|
||||
(guix-package->elpa-name
|
||||
(dummy-package "emacs-fake-name"
|
||||
(properties '((upstream-name . "project"))))))
|
||||
|
||||
(test-end "elpa")
|
||||
|
||||
;; Local Variables:
|
||||
|
|
Reference in New Issue