From: Herman Rimm via Guix-patches via <guix-patches@gnu.org>
To: 68935@debbugs.gnu.org
Cc: ludo@gnu.org
Subject: [bug#68935] [PATCH v2 5/6] import: Insert packages into modules alphabetically.
Date: Sat, 10 Feb 2024 16:06:49 +0100 [thread overview]
Message-ID: <hh3hzsvmnxieyypisfu4dwqqk4vehzq5xi75loxo22kd5tkrdp@rxmbjtb2ruqd> (raw)
In-Reply-To: <c14cf3064d0b349f0947583b4b7a9ab63d4785af.1707505804.git.herman@rimm.ee>
Hi,
On Fri, Feb 09, 2024 at 08:25:17PM +0100, Herman Rimm wrote:
> diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
> index 77fcfe3990..850887e720 100644
> --- a/guix/scripts/import.scm
> +++ b/guix/scripts/import.scm
> @@ -67,10 +67,39 @@ (define (show-help)
> (display (G_ "
> -h, --help display this help and exit"))
> (display (G_ "
> + -i, --insert insert into package module alphabetically"))
> + (display (G_ "
> -V, --version display version information and exit"))
> (newline)
> (show-bug-report-information))
>
> +(define (define-import importer args proc)
> + "Wrap package expressions from IMPORTER with 'define-public and invoke
> +PROC callback."
> + (if (member importer importers)
> + (match (apply (resolve-importer importer) args)
> + ((and expr (or ('package _ ...)
> + ('let _ ...)))
> + (proc (package->definition expr)))
> + ((and expr ('define-public _ ...))
With doc/package-hello.json file:
[
{
"name": "myhello",
"version": "2.10",
"source": "mirror://gnu/hello/hello-2.10.tar.gz",
"build-system": "gnu",
"arguments": {
"tests?": false
},
"home-page": "https://www.gnu.org/software/hello/",
"synopsis": "Hello, GNU world: An example GNU package",
"description": "GNU Hello prints a greeting.",
"license": "GPL-3.0+",
"native-inputs": ["gettext"]
}
]
'guix import json doc/package-hello.json' produces:
Starting download of /tmp/guix-file.BLTipY
From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...
following redirection to `https://mirrors.ibiblio.org/gnu/hello/hello-2.10.tar.gz'...
…10.tar.gz 709KiB 1.6MiB/s 00:00 ▕██████████████████▏ 100.0%
(define-public myhello
(package
(name "myhello")
(version "2.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version ".tar.gz"))
(sha256
(base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
(build-system (@ (guix build-system gnu) gnu-build-system))
(arguments
`(#:tests? #f))
(native-inputs (list (@ (gnu packages gettext) gnu-gettext)))
(home-page "https://www.gnu.org/software/hello/")
(synopsis "Hello, GNU world: An example GNU package")
(description "GNU Hello prints a greeting.")
(license license:gpl3+)))
Backtrace:
4 (primitive-load "/home/herman/.cache/guix/inferiors/umi…")
In guix/ui.scm:
2324:7 3 (run-guix . _)
2287:10 2 (run-guix-command _ . _)
In srfi/srfi-1.scm:
634:9 1 (for-each #<procedure 7f31b8f81380 at guix/scripts/imp…> …)
In guix/scripts/import.scm:
88:21 0 (_ _)
guix/scripts/import.scm:88:21: Throw to key `match-error' with args `("match" "no matching pattern" myhello)'.
I think I can remove the (myhello) variable expression after definition
from the JSON importer in a future revision. Just a heads up.
Also I provided a reduced package-hello.json, because after fixing the
comma syntax, importing the file gives:
Starting download of /tmp/guix-file.dVsYSt
From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz...
following redirection to `https://mirrors.ibiblio.org/gnu/hello/hello-2.10.tar.gz'...
…10.tar.gz 709KiB 1.5MiB/s 00:00 ▕██████████████████▏ 100.0%
Starting download of /tmp/guix-file.B2wURN
From https://example.com/greeter-1.0.tar.gz...
download failed "https://example.com/greeter-1.0.tar.gz" 404 "Not Found"
Starting download of /tmp/guix-file.B2wURN
From https://web.archive.org/web/20240210155936/https://example.com/greeter-1.0.tar.gz...
following redirection to `https://web.archive.org/web/20221219143408/http://example.com/greeter-1.0.tar.gz'...
download failed "https://web.archive.org/web/20221219143408/http://example.com/greeter-1.0.tar.gz" 404 "Not Found"
Trying to use Disarchive to assemble /tmp/guix-file.B2wURN...
could not find its Disarchive specification
failed to download "/tmp/guix-file.B2wURN" from "https://example.com/greeter-1.0.tar.gz"
Backtrace:
13 (primitive-load "/home/herman/.cache/guix/inferiors/umi…")
In guix/ui.scm:
2324:7 12 (run-guix . _)
2287:10 11 (run-guix-command _ . _)
In guix/scripts/import.scm:
80:6 10 (guix-import . _)
In ice-9/boot-9.scm:
1747:15 9 (with-exception-handler #<procedure 7f890505d3f0 at ic…> …)
In guix/scripts/import/json.scm:
91:16 8 (_)
In ice-9/boot-9.scm:
1747:15 7 (with-exception-handler #<procedure 7f890505d3c0 at ic…> …)
In guix/import/json.scm:
72:19 6 (_)
In srfi/srfi-1.scm:
460:18 5 (fold #<procedure 7f890424dd60 at guix/import/json.scm…> …)
In guix/import/json.scm:
81:55 4 (_ (("inputs" . #("myhello" "hello")) ("license" . #) …) …)
In guix/import/utils.scm:
543:12 3 (alist->package (("inputs" . #("myhello" "hello")) # …) _)
162:33 2 (source-spec->object "https://example.com/greeter-1.0.t…")
In ice-9/ports.scm:
450:11 1 (call-with-input-file #f #<procedure 7f88f0ba9b40 at g…> …)
In unknown file:
0 (open-file #f "r" #:encoding #f #:guess-encoding #f)
Can greeter have a real source? What should it be?
Cheers,
Herman Rimm
next prev parent reply other threads:[~2024-02-10 15:26 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-05 14:51 [bug#68935] [PATCH 0/3] Add 'put' option to guix import Herman Rimm via Guix-patches via
2024-02-05 15:07 ` [bug#68935] [PATCH 1/3] svn-fetch: Require svn-command argument Herman Rimm via Guix-patches via
2024-02-07 21:34 ` Ludovic Courtès
2024-02-05 15:07 ` [bug#68935] [PATCH 2/3] guix: import: Wrap package expressions with define-public Herman Rimm via Guix-patches via
2024-02-07 21:38 ` Ludovic Courtès
2024-02-05 15:07 ` [bug#68935] [PATCH 3/3] guix: import: Put packages into modules in alphabetical order Herman Rimm via Guix-patches via
2024-02-07 21:57 ` Ludovic Courtès
2024-02-09 19:25 ` [bug#68935] [PATCH v2 1/6] doc: Note SVN dependency of texlive importer Herman Rimm via Guix-patches via
2024-02-09 19:25 ` [bug#68935] [PATCH v2 2/6] import: Wrap package expressions with define-public Herman Rimm via Guix-patches via
2024-02-09 19:25 ` [bug#68935] [PATCH v2 3/6] utils: Add insert-expression procedure Herman Rimm via Guix-patches via
2024-02-19 21:31 ` Ludovic Courtès
2024-02-09 19:25 ` [bug#68935] [PATCH v2 4/6] utils: Add find-expression procedure Herman Rimm via Guix-patches via
2024-02-19 21:38 ` Ludovic Courtès
2024-02-09 19:25 ` [bug#68935] [PATCH v2 5/6] import: Insert packages into modules alphabetically Herman Rimm via Guix-patches via
2024-02-10 15:06 ` Herman Rimm via Guix-patches via [this message]
2024-02-16 16:06 ` Herman Rimm via Guix-patches via
2024-02-19 21:43 ` Ludovic Courtès
2024-02-09 19:25 ` [bug#68935] [PATCH v2 6/6] import: Discard args after --version and --help Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 0/7] Add insert option to guix import Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 1/7] doc: Note SVN dependency of texlive importer Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 2/7] import: Wrap package expressions with define-public Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 3/7] utils: Add insert-expression procedure Herman Rimm via Guix-patches via
2024-02-23 19:53 ` Ludovic Courtès
2024-02-20 20:45 ` [bug#68935] [PATCH v3 4/7] utils: Add find-definition-insertion-location procedure Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 5/7] import: Insert packages into modules alphabetically Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 6/7] import: Discard args after --version and --help Herman Rimm via Guix-patches via
2024-02-20 20:45 ` [bug#68935] [PATCH v3 7/7] import: Do not return package name with json importer Herman Rimm via Guix-patches via
2024-02-23 17:53 ` [bug#68935] [PATCH v3 0/7] Add insert option to guix import Ludovic Courtès
2024-02-23 19:52 ` bug#68935: " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=hh3hzsvmnxieyypisfu4dwqqk4vehzq5xi75loxo22kd5tkrdp@rxmbjtb2ruqd \
--to=guix-patches@gnu.org \
--cc=68935@debbugs.gnu.org \
--cc=herman@rimm.ee \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).