Subject: Re: bug#56263: set-paths phase throws match-error "match" "no matching pattern" while cross-compiling a kernel module

From: Maxime Devos <[email-masked]>
Date: Wed, 10 Aug 2022 20:02:07 +0200

On 27-06-2022 20:05, Pavel Shlyak wrote:
> I don’t know the reason it happens. Maybe it’s somehow related to file-append hack that is used to set driver location in the repo. The other problem can be about
> inputs or native-inputs being empty. Anyway, package definition looks fine to me and I suppose there’s a problem with set-paths phase.
> Package definition:
> https://git.pantherx.org/development/hardware/raspberry/-/blob/c9260f1720f63c409ef3ce88cefa677a21eb9e0b/reterminal.scm
> Package ltr30x-linux-module builds successfully here with aarch64 host and it fails if I cross-compile it with x86_64 host
> Error log here:
> https://gist.github.com/shlyakpavel/b8b53e9bb4392cce1bba3c77c6d35d58

linux-module-build-cross quotes stuff:

           (define %build-host-inputs
             '#+(input-tuples->gexp build-inputs))

but 'input-tuples->gexp' already returns something quoted, so its quoted 
twice.

Try removing the 'quote' (i.e., ').

No relation to file-append as far as I can tell.

In rpi-kernel.scm, you are copying stuff from linux.scm without 
preserving copyright lines or the license header and the GPL license 
text is also removed; please respect the GPL license.

In the README, you are writing GUIX, but the standard capitalisation is 
Guix (sometimes guix, but never GUIX outside things like environment 
variable names).

License headers are missing from teterminal.scm, I recommend being 
explicit (gpl3 is kind of implied, but do you mean gpl3-only or gpl3+?)

Greetings,
Maxime.