Subject: [PATCH v2] import/elpa: Improve CLI documentation for archive flag.
From: jgart <[email-masked]>
To: [email-masked]
Cc: jgart <[email-masked]>
Date: Wed, 16 Apr 2025 11:56:01 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

* guix/import/elpa.scm (%elpa-archives): Add new global variable listing the
elpa archives.
* guix/scripts/import/elpa.scm: Use %elpa-archives in CLI documentation and
reference it from the archives list in the default options global variable.

Change-Id: Ib686bd9ff5eff2d4c37b8751ec1410666d568c1f
---
 guix/import/elpa.scm         | 17 ++++++++++-------
 guix/scripts/import/elpa.scm | 10 +++++++---
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm
index ea16885d90..eda3d6d60b 100644
--- a/guix/import/elpa.scm
+++ b/guix/import/elpa.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2021 Sarah Morgensen <[email-masked]>
 ;;; Copyright © 2021 Simon Tournier <[email-masked]>
 ;;; Copyright © 2022 Hartmut Goebel <[email-masked]>
+;;; Copyright © 2025 jgart <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,7 @@ (define-module (guix import elpa)
   #:use-module (guix memoization)
   #:export (elpa->guix-package
             guix-package->elpa-name
+            %elpa-archives
             %elpa-updater
             elpa-recursive-import))
 
@@ -81,15 +83,16 @@ (define (elpa-name->package-name name)
         (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 7f77beaac0..cf80a59ec1 100644
--- a/guix/scripts/import/elpa.scm
+++ b/guix/scripts/import/elpa.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Martin Becze <[email-masked]>
 ;;; Copyright © 2021 Sarah Morgensen <[email-masked]>
 ;;; Copyright © 2023 Simon Tournier <[email-masked]>
+;;; Copyright © 2025 jgart <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,13 +41,16 @@ (define-module (guix scripts import elpa)
 ;;;
 
 (define %default-options
-  '((repo . gnu)))
+  `((repo . ,(first (assoc 'gnu %elpa-archives)))))
 
 (define (show-help)
   (display (G_ "Usage: guix import elpa PACKAGE-NAME
 Import the latest package named PACKAGE-NAME from an ELPA repository.\n"))
-  (display (G_ "
-  -a, --archive=ARCHIVE          specify the archive repository"))
+  (display
+   (format #f
+           (G_ "
+  -a, --archive=ARCHIVE          archive repository must be one of ~{~a ~}")
+           (map first %elpa-archives)))
   (display (G_ "
   -h, --help                     display this help and exit"))
   (display (G_ "

base-commit: c2af5487988b57ba80edb45f75a39152f8c49745
-- 
2.49.0