Thanks Tomas,
That worked. I also had to add a phase before configure to patch the
packages' gen-version-info script because it was in a location that the
built-in bootstrap phase couldn't detect. Then I could drop my bootstrap
phase too.
Jesse
On 10/26/23 10:21, Tomas Volf wrote:
On 2023-10-23 15:12:59 -0400, Jesse Millwood wrote:
Hello,
I am trying to write a Guix package but I have to add a build phase to the
gnu build system.
I have the following package scm:
(use-modules
(guix packages)
(guix git-download)
(guix licenses)
(guix profiles)
(guix build-system gnu)
(guix build-system python)
(guix build utils))
(package
(name "crosstool-ng")
(version "1.26.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/crosstool-ng/crosstool-ng.git")
(commit (string-append "crosstool-ng-" version))))
(sha256
(base32
"04z7zwhxfbjqrd4j16lviilppsd8phwi8zv2rs4jpkmqni6856j1")
)
))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'configure 'bootstrap
(lambda* (#:key outputs
#:allow-other-keys)
(invoke "./bootstrap"))))))
(synopsis "A versatile (cross-)toolchain generator.")
(description "A versatile (cross-)toolchain generator.")
(home-page "https://crosstool-ng.github.io/docs/")
(license gpl3+)
)
I need to call the "bootstrap" script before the configure phase. From what
I can tell from the log the bootstrap script is called, however I get the
following error:
INFO :: *** Gathering the list of data files to install
INFO :: *** Running autoreconf
./bootstrap: line 835: autoreconf: command not found
INFO :: *** Done!
phase `bootstrap' succeeded after 105.5 seconds
My understanding that the autotools tools were included in the "guix
build-system gnu" module. Is there some way I have to provide my bootstrap
phase with the autotools packages?
I believe autoreconf is not usually required for building packages from a
distribution archive. Try to add autoconf into a native-inputs.
For some background, this is my first time using guix and guile so I'm am
kind of banging my head through the manual but I got a little stuck here.
Thanks.
T.