Package: guix-patches;
Reported by: Herman Rimm <herman <at> rimm.ee>
Date: Mon, 5 Feb 2024 14:52:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Message #44 received at 68935 <at> debbugs.gnu.org (full text, mbox):
From: Herman Rimm <herman <at> rimm.ee> To: 68935 <at> debbugs.gnu.org Cc: ludo <at> gnu.org Subject: Re: [PATCH v2 5/6] import: Insert packages into modules alphabetically. Date: Sat, 10 Feb 2024 16:06:49 +0100
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.