[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54052] [PATCH] gnu: cgdb: Add gdb to propagated-inputs
From: |
Maxime Devos |
Subject: |
[bug#54052] [PATCH] gnu: cgdb: Add gdb to propagated-inputs |
Date: |
Sun, 20 Feb 2022 11:30:52 +0100 |
User-agent: |
Evolution 3.38.3-1 |
Chadwain Holness schreef op zo 20-02-2022 om 03:11 [-0500]:
> Hello Maxime, thank you for the suggestion. Is this new patch better in your
> opinion?
It does look quite a bit better, but there's a cross-compilation
problem now: when cross-compiling, 'which' looks in the 'native-inputs'
instead of the 'inputs' (native-inputs = compiled for the architecture
the build is performed on, inputs = compiled for the architecture
'cgdb' will be run on). You can use 'search-input-file' to solve this:
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(define gdb (search-input-file inputs "bin/gdb"))
(define sh (search-input-file inputs "bin/sh"))
(substitute* "lib/util/fork_util.cpp"
(("GDB = \"gdb\"") (string-append "GDB = \"" gdb))
(("/bin/sh") sh)))))))
> (inputs
> - (list ncurses readline))
> + (list ncurses readline gdb))
You are using a 'sh' from 'inputs' in 'fix-paths', so the package
'bash-minimal' needs to be included, otherwise the build would fail
when cross-compiling.
('bash-minimal' is an (implicit) native-input, so the build failure
would not happen when compiling natively).
To test whether cross-compiling cgdb works, you can try
./pre-inst-env guix build cgdb --target=aarch64-linux-gnu
(warning: this might build a cross-compiler toolchain first, which can
take quite some time, and possibly 'gdb' is not cross-compilable!)
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part