unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).