From 9013a5370582807b0b71a8a0a0d7f63f2ca614b3 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 21 Apr 2025 08:13:03 +0200 Subject: [PATCH] import/elpa: Improve CLI documentation for archive flag. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/elpa.scm (elpa-url)[elpa-archives]: Move from here… (%elpa-archives): … to here. * guix/scripts/import/elpa.scm (%options): Add “list-archives”. (show-help): Adjust accordingly. Change-Id: Ib686bd9ff5eff2d4c37b8751ec1410666d568c1f Co-authored-by: jgart Signed-off-by: Liliana Marie Prikler --- guix/import/elpa.scm | 17 ++++++++++------- guix/scripts/import/elpa.scm | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index ea16885d906..eda3d6d60ba 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2022 Hartmut Goebel +;;; Copyright © 2025 jgart ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,6 +52,7 @@ #:use-module (guix memoization) #:export (elpa->guix-package guix-package->elpa-name + %elpa-archives %elpa-updater elpa-recursive-import)) @@ -81,15 +83,16 @@ NAMES (strings)." (string-downcase name) (string-append package-name-prefix (string-downcase name))))) +(define %elpa-archives + '((gnu . "https://elpa.gnu.org/packages") + (gnu/http . "http://elpa.gnu.org/packages") ;for testing + (nongnu . "https://elpa.nongnu.org/nongnu") + (melpa-stable . "https://stable.melpa.org/packages") + (melpa . "https://melpa.org/packages"))) + (define* (elpa-url #:optional (repo 'gnu)) "Retrieve the URL of REPO." - (let ((elpa-archives - '((gnu . "https://elpa.gnu.org/packages") - (gnu/http . "http://elpa.gnu.org/packages") ;for testing - (nongnu . "https://elpa.nongnu.org/nongnu") - (melpa-stable . "https://stable.melpa.org/packages") - (melpa . "https://melpa.org/packages")))) - (assq-ref elpa-archives repo))) + (assq-ref %elpa-archives repo)) (define* (elpa-fetch-archive #:optional (repo 'gnu)) "Retrieve the archive with the list of packages available from REPO." diff --git a/guix/scripts/import/elpa.scm b/guix/scripts/import/elpa.scm index 7f77beaac03..72add39f732 100644 --- a/guix/scripts/import/elpa.scm +++ b/guix/scripts/import/elpa.scm @@ -4,6 +4,8 @@ ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2023 Simon Tournier +;;; Copyright © 2025 jgart +;;; Copyright © 2025 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +50,8 @@ Import the latest package named PACKAGE-NAME from an ELPA repository.\n")) (display (G_ " -a, --archive=ARCHIVE specify the archive repository")) (display (G_ " + -l, --list-archives list ELPA repositories supported by the importer")) + (display (G_ " -h, --help display this help and exit")) (display (G_ " -r, --recursive generate package expressions for all Emacs packages that are not yet in Guix")) @@ -69,6 +73,17 @@ Import the latest package named PACKAGE-NAME from an ELPA repository.\n")) (lambda (opt name arg result) (alist-cons 'repo (string->symbol arg) (alist-delete 'repo result)))) + (option '(#\l "list-archives") #f #f + (lambda (opt name arg result) + (display (G_ "The following archives are supported:\n")) + (for-each (match-lambda + ((sym . repo) + (format #t " ~a: ~a\n" sym repo))) + %elpa-archives) + (display + (G_ "The argument to --archive should be one of these \ +symbols, e.g. gnu (the default).\n")) + (exit 0))) (option '(#\r "recursive") #f #f (lambda (opt name arg result) (alist-cons 'recursive #t result)))