* Mystery of missing 'install' phase in guile-build-system
@ 2024-09-26 21:13 Felix Lechner via Development of GNU Guix and the GNU System distribution.
2024-09-26 21:26 ` Ekaitz Zarraga
0 siblings, 1 reply; 4+ messages in thread
From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2024-09-26 21:13 UTC (permalink / raw)
To: guix-devel
Hi,
A piece of software of mine using the guile-build-system runs tests
after the 'install' phase. A recent system update failed because there
is no such phase.
Looking at the Guix source code, the 'install' phase never existed.
Shouldn't every build system have that phase?
Why did the same package definition work three months ago?
Thanks for helping with this mystery!
Kind regards
Felix
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Mystery of missing 'install' phase in guile-build-system
2024-09-26 21:13 Mystery of missing 'install' phase in guile-build-system Felix Lechner via Development of GNU Guix and the GNU System distribution.
@ 2024-09-26 21:26 ` Ekaitz Zarraga
2024-09-27 16:00 ` Luis Felipe
2024-10-07 21:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
0 siblings, 2 replies; 4+ messages in thread
From: Ekaitz Zarraga @ 2024-09-26 21:26 UTC (permalink / raw)
To: Felix Lechner, guix-devel
Hi,
On 2024-09-26 23:13, Felix Lechner via Development of GNU Guix and the
GNU System distribution. wrote:
> Hi,
>
> A piece of software of mine using the guile-build-system runs tests
> after the 'install' phase. A recent system update failed because there
> is no such phase.
>
> Looking at the Guix source code, the 'install' phase never existed.
> Shouldn't every build system have that phase?
>
> Why did the same package definition work three months ago?
>
> Thanks for helping with this mystery!
>
> Kind regards
> Felix
>
The fast and simple answer is that the 'install phase is not mandatory.
The build system defines which of the steps it uses and how, they don't
need to have specific names.
A different question is how does the Guile build system find which files
to install and where to install them. :)
It's a little bit late so I can't check it deeper but you should find
how it is done in: guix/build/guile-build-system.scm
Good question btw!
Cheers,
Ekaitz
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Mystery of missing 'install' phase in guile-build-system
2024-09-26 21:26 ` Ekaitz Zarraga
@ 2024-09-27 16:00 ` Luis Felipe
2024-10-07 21:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
1 sibling, 0 replies; 4+ messages in thread
From: Luis Felipe @ 2024-09-27 16:00 UTC (permalink / raw)
To: Ekaitz Zarraga, Felix Lechner, guix-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 1429 bytes --]
Hi Felix, Ekaitz,
On 26/09/24 21:26, Ekaitz Zarraga wrote:
> Hi,
>
> On 2024-09-26 23:13, Felix Lechner via Development of GNU Guix and the
> GNU System distribution. wrote:
>> Hi,
>>
>> A piece of software of mine using the guile-build-system runs tests
>> after the 'install' phase. A recent system update failed because there
>> is no such phase.
Sounds like what happened during my last failed upgrade
(https://lists.gnu.org/archive/html/help-guix/2024-09/msg00076.html).
>> Looking at the Guix source code, the 'install' phase never existed.
>> Shouldn't every build system have that phase?
>>
>> Why did the same package definition work three months ago?
>>
>> Thanks for helping with this mystery!
>>
>> Kind regards
>> Felix
>>
>
> The fast and simple answer is that the 'install phase is not
> mandatory. The build system defines which of the steps it uses and
> how, they don't need to have specific names.
Yeah, although that fact doesn't seem to be documented. Nor that,
currently, if you modify the phases of a build system using, say,
"(add-after 'install 'check check)", the "install" phase *must* exist,
otherwise the module fails to compile. And that wasn't the case in
previous versions of Guix.
So, maybe additional documentation might be necessary. I think the
documentation is missing more information on how define custom build
systems even (?).
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2881 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Mystery of missing 'install' phase in guile-build-system
2024-09-26 21:26 ` Ekaitz Zarraga
2024-09-27 16:00 ` Luis Felipe
@ 2024-10-07 21:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
1 sibling, 0 replies; 4+ messages in thread
From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2024-10-07 21:10 UTC (permalink / raw)
To: Ekaitz Zarraga; +Cc: guix-devel
Hi Ekaitz,
On Thu, Sep 26 2024, Ekaitz Zarraga wrote:
> The fast and simple answer is that the 'install phase is not
> mandatory.
Well, the guile-build-system definitely installs something.
> The build system defines which of the steps it uses and how, they
> don't need to have specific names.
It's confusing to do install items in the 'build' phase, plus it denies
packagers the possibility to something in between.
In my use case, tests run after the install phases and on the installed
items, which is the way testing ought to be done. [1]
Kind regards
Felix
[1] https://manpages.debian.org/unstable/autopkgtest/autopkgtest.1.en.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-10-07 21:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-26 21:13 Mystery of missing 'install' phase in guile-build-system Felix Lechner via Development of GNU Guix and the GNU System distribution.
2024-09-26 21:26 ` Ekaitz Zarraga
2024-09-27 16:00 ` Luis Felipe
2024-10-07 21:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).