bug#62071: openjdk@9/10 sources not reproducible

2023-03-12 Thread Björn Höfling
On Thu, 9 Mar 2023 10:48:53 +0100
Lars-Dominik Braun  wrote:

> Hi,
> 
> it looks like the (auto-generated) tarballs for openjdk@9 and
> openjdk@10 changed their hash, causing a hash mismatch via
> 
> guix build -S openjdk@9 --no-substitutes --no-grafts
> 
> I’m not sure why it uses these tarballs in the first place, since we
> have a hg-download.

I compared for JDK9 the two tarballs (old and new hash) and there is no
difference in the content (according to diffoscope). Also, if I
hg-clone the repository/tag (and add the .hg_archival.txt file), all
three directory trees have the same hash value according to guix hash
-rx

Thus, it seams like their artifacts are not stable, as we saw it
for autogenerated artifacts on github.

I will check the same for JDK10 and will prepare a patch within the
next two days.

Björn


pgpBHqM2REIfQ.pgp
Description: OpenPGP digital signature


bug#62139: Grub resource files should be in the EFI partition

2023-03-12 Thread Emmanuel Beffara
Hello Guix,

The installation process for Grub should put the resource files, notably
keymaps and locales, in the EFI partition, so that they can be used early in
the boot process, before any user interaction.

In the context of full-disk encryption, this is very important because in the
current state of things, one has to enter the passphrase using the default US
layout before the proper keymap can be loaded from the encrypted store. One
can manage working around that with a bit of training, but having to enter a
passphrase with an incorrect keymap is objectively a broken behaviour.

I have no experience hacking Guix so I don't know how to try and patch
grub.scm to implement that, but I would be happy to learn…

-- 
Emmanuel





bug#62141: Grub: set terminal_output earlier

2023-03-12 Thread Emmanuel Beffara
Hello Guix,

In the generated `grub.cfg`, it would be an improvement to set the
`terminal_output` before any user input is required by Grub, for proper
interaction.

In my case, the laptop has a HiDPI display and Grub starts with a graphical
terminal in 3840x2160 resolution with extremely small characters. Then it asks
for the LUKS passphrase (I use full-system encryption) before setting the
output mode specified in the configuration. Not only is it unreadable, but
Grub is also known to be particularly slow with high resolutions [1], which
makes interaction painful, in case some emergency prompt happens (which it
does in the current state of things, cf. other bug reports).

[1] 
https://askubuntu.com/questions/1227735/grub-is-extremely-slow-1-second-per-key-input

My current method is to edit `grub.cfg` by hand after each `guix system
reconfigure` to move the lines between `if loadfont unicode; then` and
`terminal_output gfxterm` at the beginning, but this is not a viable solution.

-- 
Emmanuel





bug#62140: enable LVM in Grub

2023-03-12 Thread Emmanuel Beffara
Hello Guix,

Unless I missed something in the configuration process, the `grub.cfg`
generated by `guix system reconfigure` does not enable LVM, even if the store
is in an LVM volume. The immediate consequence is that Grub cannot load its
data files nor boot the system. The fix is as simple as adding `insmod lvm` in
`grub.cfg` before any `search` command, which I do by hand on each
`reconfigure`, but obviously Guix itself should do that.

I looked at `grub.scm` to see where things happen, and I see no mention of LVM
in this file. This surprises me because I am probably not the only one using
it. Actually, I use LVM on LUKS for full-system encryption, but this is
probably not rare either.

-- 
Emmanuel





bug#61951: Apache Ant bash completions erroring

2023-03-12 Thread Erik
I have bash configuration managed by guix home.

If I start a shell `guix shell ant`, and write `ant` followed by a
space and a tab, I get the following error:

```
bash: 
/gnu/store/mwj1bwipwf99bf82y0kpnv66ch7r1l25-profile/bin/complete-ant-cmd.pl: 
/usr/bin/perl: bad interpreter: No such file or directory
```





bug#61952: Apache Ant missing dependencies

2023-03-12 Thread Erik
When running `guix shell --pure ant openjdk openjdk:jdk -- ant`, there
are errors for missing commands as well as ant believing that java is
not installed.  Adding `coreutils` fixes the missing commands, and
adding `which` makes it recognize the java installation.





bug#62023: compute-guix-derivation failed to compute the derivation for Guix

2023-03-12 Thread Adroit via Bug reports for GNU Guix
I keep getting this:

> $ curl substitutes.nonguix.org
> 
> 301 Moved Permanently
> 
> 301 Moved Permanently
> nginx
> 
> 
> $ guix pull
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> Updating channel 'nonguix' from Git repository at 
> 'https://gitlab.com/nonguix/nonguix'...
> Updating channel 'flat' from Git repository at 
> 'https://github.com/flatwhatson/guix-channel.git'...
> Updating channel 'guix-gaming-games' from Git repository at 
> 'https://gitlab.com/guix-gaming-channels/games.git'...
> Building from these channels:
> guix-gaming-gameshttps://gitlab.com/guix-gaming-channels/games.git e87c837
> flat https://github.com/flatwhatson/guix-channel.git b62ba32
> nonguix https://gitlab.com/nonguix/nonguix 5a54541
> guix https://git.savannah.gnu.org/git/guix.git 61a0b03
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%guix substitute: warning: substitutes.nonguix.org: host not found: Name 
> or service not known
> substitute:
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%guix 
> substitute: warning: ci.guix.gnu.org: host not found: Name or service not 
> known
> substitute:
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 
> 0.0%guix substitute: warning: bordeaux.guix.gnu.org: host not found: Name or 
> service not known
> substitute:
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%
> substitute: 

bug#62023: compute-guix-derivation failed to compute the derivation for Guix

2023-03-12 Thread Adroit via Bug reports for GNU Guix
The output explicitly says "you found a bug".
Are you suggesting that a crash, with backtrace, is the intended behavior when 
a substitute server happens to be offline?
The problem also occurs when using --no-substitutes and --fallback, so I'm not 
even sure the server is the root cause - you can see from first few lines 
(where I curl) of output that the server is indeed online. I also checked the 
web interface. The only issue I can think of is Guix not respecting the Gnome 
proxy, but in that case all of the servers would be seen as offline.

 Original Message 
On Mar 7, 2023, 15:15, Maxim Cournoyer < maxim.courno...@gmail.com> wrote:

> tags 62023 +notabug quit Hello, Adroit writes: > I keep getting this: > >> $ 
> curl substitutes.nonguix.org >> >> >> >>
>
> 301 Moved Permanently
>
>>>
> ---
> nginx >> >> >> $ guix pull >> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'... >> Updating channel 'nonguix' 
> from Git repository at 'https://gitlab.com/nonguix/nonguix'... >> Updating 
> channel 'flat' from Git repository at 
> 'https://github.com/flatwhatson/guix-channel.git'... >> Updating channel 
> 'guix-gaming-games' from Git repository at >> 
> 'https://gitlab.com/guix-gaming-channels/games.git'... >> Building from these 
> channels: >> 
> guix-gaming-gameshttps://gitlab.com/guix-gaming-channels/games.git e87c837 >> 
> flat https://github.com/flatwhatson/guix-channel.git b62ba32 >> nonguix 
> https://gitlab.com/nonguix/nonguix 5a54541 >> guix 
> https://git.savannah.gnu.org/git/guix.git 61a0b03 >> substitute: updating 
> substitutes from >> 'https://substitutes.nonguix.org'... 0.0%guix substitute: 
> warning: >> substitutes.nonguix.org: host not found: Name or service not 
> known >> substitute: >> substitute: updating substitutes from >> 
> 'https://ci.guix.gnu.org'... 0.0%guix substitute: warning: >> 
> ci.guix.gnu.org: host not found: Name or service not known >> substitute: >> 
> substitute: updating substitutes from >> 'https://bordeaux.guix.gnu.org'... 
> 0.0%guix substitute: warning: >> bordeaux.guix.gnu.org: host not found: Name 
> or service not known >> substitute: >> substitute: updating substitutes from 
> 'https://substitutes.nonguix.org'... 0.0% >> substitute: updating substitutes 
> from 'https://ci.guix.gnu.org'... 0.0% >> substitute: updating substitutes 
> from 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: updating 
> substitutes from 'https://substitutes.nonguix.org'... 0.0% >> substitute: 
> updating substitutes from 'https://ci.guix.gnu.org'... 0.0% >> substitute: 
> updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% >> 
> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0% >> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 
> 0.0% >> substitute: updating substitutes from 
> 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: updating substitutes 
> from 'https://substitutes.nonguix.org'... 0.0% >> substitute: updating 
> substitutes from 'https://ci.guix.gnu.org'... 0.0% >> substitute: updating 
> substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: 
> updating substitutes from 'https://substitutes.nonguix.org'... 0.0% >> 
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0% >> 
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% 
> >> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0% >> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 
> 0.0% >> substitute: updating substitutes from 
> 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: updating substitutes 
> from 'https://substitutes.nonguix.org'... 0.0% >> substitute: updating 
> substitutes from 'https://ci.guix.gnu.org'... 0.0% >> substitute: updating 
> substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: 
> updating substitutes from 'https://substitutes.nonguix.org'... 0.0% >> 
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0% >> 
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% 
> >> substitute: updating substitutes from 'https://substitutes.nonguix.org'... 
> 0.0% >> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 
> 0.0% >> substitute: updating substitutes from 
> 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: updating substitutes 
> from 'https://substitutes.nonguix.org'... 0.0% >> substitute: updating 
> substitutes from 'https://ci.guix.gnu.org'... 0.0% >> substitute: updating 
> substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% >> substitute: 
> updating substitutes from 'https://substitutes.nonguix.org'... 0.0% >> 
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0% >> 
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0% 
> >> substitute: 

bug#62064: Why is only rust-1.60 exported when 1.65 is defined?

2023-03-12 Thread Jonas Møller via Bug reports for GNU Guix
Hi Guix! The rust.scm file says

> ;;; Note: Only the latest versions of Rust are supported and tested. The
> ;;; intermediate rusts are built for bootstrapping purposes and should not
> ;;; be relied upon. This is to ease maintenance and reduce the time
> ;;; required to build the full Rust bootstrap chain.
> ;;;
> ;;; Here we take the latest included Rust, make it public, and re-enable tests
> ;;; and extra components such as rustfmt.

And then proceeds to define-public rust as rust-1.60, and I was wondering if 
there's any particular reason why a year-old version is used rather than the 
1.65 version. This seems like a mistake, given that the comment claims that the 
"latest included Rust" should be made public.

This is especially troublesome for Rust on Guix because of both how fast its 
ecosystem moves onto new language/tooling features, and because using rustup 
(the solution for this on other slow-moving distros) relies on pre-built 
executables that don't work out-of-the-box on Guix.

— Mvh Jonas Møller

bug#62113: Elpy fails to start within a guix shell environment

2023-03-12 Thread Rafa Gálvez
Hi,

 I can't make Elpy work. In my main profile I have emacs-elpy installed,
 but whenever I open a .py file, there is an error on the sentinel:
 error in process sentinel: elpy-promise-reject: peculiar error: "exited
 abnormally with code 1"
 error in process sentinel: peculiar error: "exited abnormally with code
 1"

 This is most probably caused by the lack of the elpy python module in
 the guix shell I'm running Emacs from. However, there is no python-elpy
 package to install. I am avoiding setting up a virtualenv in order to
 rely completely on Guix manifests for reproducibility purposes.

 Maybe what's just needed is to package https://pypi.org/project/elpy/
 into Guix?

 Thanks,

Rafa Gálvez





bug#62114: Elpy fails to start within a guix shell environment

2023-03-12 Thread Rafa Gálvez
Hi again,

 The PyPi package is actually empty, Elpy ships it directly apparently. 

 I'm missing something then. How are you setting up Elpy on Guix?

 Thanks, 

Rafa

On March 10, 2023 11:31:15 AM GMT+01:00, "Rafa Gálvez" 
 wrote:
>Hi,
>
> I can't make Elpy work. In my main profile I have emacs-elpy installed,
> but whenever I open a .py file, there is an error on the sentinel:
> error in process sentinel: elpy-promise-reject: peculiar error: "exited
> abnormally with code 1"
> error in process sentinel: peculiar error: "exited abnormally with code
> 1"
>
> This is most probably caused by the lack of the elpy python module in
> the guix shell I'm running Emacs from. However, there is no python-elpy
> package to install. I am avoiding setting up a virtualenv in order to
> rely completely on Guix manifests for reproducibility purposes.
>
> Maybe what's just needed is to package https://pypi.org/project/elpy/
> into Guix?
>
> Thanks,
>
>Rafa Gálvez

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

bug#61965: Commands like "guix system search KEYWORD" don't work with locale it_IT.utf8

2023-03-12 Thread Luigi Salamone
Hi Ludo!
Hi Julien!

Now "guix system search KEYWORD" works! But... guix install hello:

hint: Backtrace: 16 (primitive-load
"/home/anonymous/.config/guix/current/b…") In guix/ui.scm: 2300:7 15
(run-guix . _) 2263:10 14 (run-guix-command _ . _) In ice-9/boot-9.scm:
1752:10 13 (with-exception-handler _ _ #:unwind? _ # _) In guix/status.scm:
851:3 12 (_) 831:4 11 (call-with-status-report _ _) In guix/store.scm:
1300:8 10 (call-with-build-handler _ _) 1300:8 9 (call-with-build-handler #
…) In guix/build/syscalls.scm: 1442:3 8 (_) 1408:4 7
(call-with-file-lock/no-wait "/var/guix/profiles/per-u…" …) In
guix/scripts/package.scm: 325:7 6 (build-and-use-profile _
"/var/guix/profiles/per-user/…" …) In guix/ui.scm: 325:5 5 (display-hint _
#:port _ . _) 1473:24 4 (texi->plain-text _) In texinfo.scm: 1132:22 3
(parse _) 967:36 2 (loop # (*fragment*) # …) 92:2 1 (command-spec _) In
ice-9/boot-9.scm: 1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception: Throw to key
`parser-error' with args `(#f "Unknown command" esempio)'.

Thanks!


On Mon, Mar 6, 2023 at 10:47 PM Ludovic Courtès  wrote:

> Hi Luigi,
>
> Luigi Salamone  skribis:
>
> > I'm unable to use guix commands like "guix system search KEYWORD".
> > No problem if I run the commend with LANG=LC_ALL.
>
> [...]
>
> > ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> > Throw to key `parser-error' with args `(#f "Unknown command" dnf)'.
>
> I believe Tobias (Cc’d) fixed this and related issues a couple of days
> ago in 0609ae7897b025f46822779d0c5c36509cb0180f and
> 4775460ba9a60c3c09966216da10686a70b8fadb.
>
> Julien: We’ll have to make sure these changes reach Weblate.  :-)
>
> Thanks,
> Ludo’.
>


bug#61965: Commands like "guix system search KEYWORD" don't work with locale it_IT.utf8

2023-03-12 Thread Luigi Salamone
Hi!

I'm unable to use guix commands like "guix system search KEYWORD".
No problem if I run the commend with LANG=LC_ALL.

[anonymous@guix ~]$ guix system search cups

Backtrace:
In ice-9/boot-9.scm:
  1752:10 19 (with-exception-handler _ _ #:unwind? _ # _)
In guix/status.scm:
851:3 18 (_)
831:4 17 (call-with-status-report _ _)
In ice-9/boot-9.scm:
  1752:10 16 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/system/search.scm:
   188:20 15 (_)
   164:18 14 (find-service-types _)
In guix/discovery.scm:
189:3 13 (fold-module-public-variables _ _ _)
In guix/combinators.scm:
48:26 12 (fold2 # …)
48:26 11 (fold2 # …)
In guix/discovery.scm:
   192:33 10 (_ # () #)
In guix/scripts/system/search.scm:
   166:28  9 (_ # ())
In guix/ui.scm:
   1670:6  8 (relevance # _ (# …))
In srfi/srfi-1.scm:
   460:18  7 (fold # …)
In guix/ui.scm:
  1673:17  6 (_ _ 0)
  1473:24  5 (texi->plain-text _)
In texinfo.scm:
  1132:22  4 (parse _)
   967:36  3 (loop # (*fragment*) # …)
 92:2  2 (command-spec _)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `parser-error' with args `(#f "Unknown command" dnf)'.


bug#61963: Secure boot not working yet?

2023-03-12 Thread romulasry via Bug reports for GNU Guix
It loads it as UEFI but without the keys. Can't wait until this works!

Sent with [Proton Mail](https://proton.me/) secure email.

bug#62118: Download-Link is broken

2023-03-12 Thread W. Studinsky
https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso


bug#62134: guix substitute crashes, instead of printing a useful error message, when the only substitutes on offer use unsupported compression

2023-03-12 Thread Zack Weinberg
`narinfo-best-uri` ends with

```
 (match (sort choices (if fast-decompression? (negate speed)
substitute: In ice-9/boot-9.scm:
substitute: 724:2 15 (call-with-prompt _ _ #)
substitute: In ice-9/eval.scm:
substitute: 619:8 14 (_ #(#(#)))
substitute: In guix/ui.scm:
substitute:2275:7 13 (run-guix . _)
substitute:   2238:10 12 (run-guix-command _ . _)
substitute: In ice-9/boot-9.scm:
substitute:   1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
substitute:   1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In guix/scripts/substitute.scm:
substitute:842:18  9 (_)
substitute: 352:7  8 (process-query # _ #:cache-urls _ 
#:acl _)
substitute: In srfi/srfi-1.scm:
substitute: 634:9  7 (for-each # …)
substitute: In guix/scripts/substitute.scm:
substitute:297:13  6 (_ #< path: "/gnu/store/…>)
substitute: In guix/narinfo.scm:
substitute: 346:2  5 (narinfo-best-uri _ #:fast-decompression? _)
substitute: In ice-9/boot-9.scm:
substitute:   1685:16  4 (raise-exception _ #:continuable? _)
substitute:   1685:16  3 (raise-exception _ #:continuable? _)
substitute:   1780:13  2 (_ #< components: (#<> 
#<…>)
substitute:   1685:16  1 (raise-exception _ #:continuable? _)
substitute:   1685:16  0 (raise-exception _ #:continuable? _)
substitute:
substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
substitute: Throw to key `match-error' with args `("match" "no matching 
pattern" ())'.
guix package: error: `/usr/bin/guix substitute' died unexpectedly
```

The strongest clue to what is actually wrong is

```
Throw to key `match-error' with args `("match" "no matching pattern" ())
```

and you have to know that that () at the end of the error message means `match` 
was passed an empty list.

OK, so when can the choices list be empty for a package?  Simply, when the only 
substitutes on offer for that package have been compressed with compression 
methods that the *Guix daemon*'s Guile installation does not support -- for 
instance, zstd, if the (zstd) module is not available.  narinfo-best-uri 
intentionally filters those URIs out of the choices list, but is not prepared 
for the possibility that nothing will be left.

I tripped over this with a somewhat heterodox configuration; a third-party 
substitute server that only offers zstd-compressed nars, plus Guix as foreign 
package manager on Debian, with the daemon installed from *Debian's* package, 
which doesn't have a dependency on guile-zstd (*Guix's* package of guix does 
depend on guile-zstd).  Still, I feel that the principle "externally supplied 
data, no matter how malformed, should never cause a crash" applies.

The requested change, then, is for `guix substitute` to *not* crash if the 
filtered choices list is empty.  Probably narinfo-best-uri should return 
(values nil nil nil) in that case, and then scripts/substitute.scm should also 
be changed to error out gracefully and/or fall back to local building when it 
gets that result from narinfo-best-uri.

zw





bug#62071: openjdk@9/10 sources not reproducible

2023-03-12 Thread Björn Höfling
On Thu, 9 Mar 2023 10:48:53 +0100
Lars-Dominik Braun  wrote:

> Hi,
> 
> it looks like the (auto-generated) tarballs for openjdk@9 and
> openjdk@10 changed their hash, causing a hash mismatch via
> 
> guix build -S openjdk@9 --no-substitutes --no-grafts
 

I can confirm this.

I found the old versions of openjdk 9 and 10 on a server of mine. I
will compare old/new tomorrow (oh, better say: later today).

> I’m not sure why it uses these tarballs in the first place, since we
> have a hg-download.

I don't know. Maybe there was no hg-download yet when we added OpenJDK9?

Björn


pgpz0AnMOxdCA.pgp
Description: OpenPGP digital signature