[bug#77844] import/elpa: Improve CLI documentation for archive flag.

Message ID afb8ccd99657cd2cfd4e2092ffaef4c45c3ae550.1744821710.git.jgart@dismail.de
State New
Headers
Series [bug#77844] import/elpa: Improve CLI documentation for archive flag. |

Commit Message

jgart April 16, 2025, 4:41 p.m. UTC
  * 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(-)


base-commit: c2af5487988b57ba80edb45f75a39152f8c49745
  

Comments

jgart April 16, 2025, 5:02 p.m. UTC | #1
Hi,

This has been superseded by 77845.

Closing,

jgart

> * 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 <iskarian@mgsn.dev>
>  ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
>  ;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
> +;;; Copyright © 2025 jgart <jgart@dismail.de>
>  ;;;
>  ;;; 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..be15b5d60e 100644
> --- a/guix/scripts/import/elpa.scm
> +++ b/guix/scripts/import/elpa.scm
> @@ -4,6 +4,7 @@
>  ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
>  ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
>  ;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
> +;;; Copyright © 2025 jgart <jgart@dismail.de>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -40,13 +41,16 @@ (define-module (guix scripts import elpa)
>  ;;;
>  
>  (define %default-options
> -  '((repo . gnu)))
> +  `((repo . ,(assq-ref %elpa-archives 'gnu))))
>  
>  (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
<#secure method=pgpmime mode=sign>
  

Patch

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 <iskarian@mgsn.dev>
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2025 jgart <jgart@dismail.de>
 ;;;
 ;;; 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..be15b5d60e 100644
--- a/guix/scripts/import/elpa.scm
+++ b/guix/scripts/import/elpa.scm
@@ -4,6 +4,7 @@ 
 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2025 jgart <jgart@dismail.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,13 +41,16 @@  (define-module (guix scripts import elpa)
 ;;;
 
 (define %default-options
-  '((repo . gnu)))
+  `((repo . ,(assq-ref %elpa-archives 'gnu))))
 
 (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_ "