GNU bug report logs -
#73028
[PATCH] doc: Document usage of #:out-of-source? for meson-build-system.
Previous Next
Reported by: Dariqq <dariqq <at> posteo.net>
Date: Wed, 4 Sep 2024 16:28:02 UTC
Severity: normal
Tags: patch
Done: Dariqq <dariqq <at> posteo.net>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 73028 <at> debbugs.gnu.org (full text, mbox):
On 12.09.24 14:02, Maxim Cournoyer wrote:
> Hi Dariqq,
>
> Dariqq <dariqq <at> posteo.net> writes:
>
> [...]
>
>>>> Maybe it should not be an option at all and instead be #t
>>>> unconditionally in 'install-license-files phase in meson-build-system?
>>> Given most build phases of the gnu-build-system, which support
>>> #:out-of-source? are reused in the meson-build-system, this argument
>>> needs to be set to #t (which it currently is). But perhaps there's a
>>> way to hide it from the users, perhaps via the 'private-keywords'
>>> variable defined in the 'lower' procedure of the (guix build-system
>>> meson) module (I haven't tested).
>>>
>>
>> Something like that might be a better solution. I am not sure how
>> these 'private-keywords' work: It looks like #:meson is one but you
>> can definitly override the default meson being used. Also the
>> private-arguments seem to get stripped from the arguments in the bag
>> (not sure what that is exactly) so they might not be passed to the
>> build phases
>
> I think your understanding is correct. The private options are accepted
> on the build system, but not propagated to the lower build strata
> (applied to phases). So what we'd like here is to *not* expose an
> #:out-of-source argument at the build system level, and enforce
> #:out-of-source #t for the lower build code. I guess the static #t
> argument could be added to the bag arguments.
>
This does not work. I tried adding that to the arguments in the bag (and
reverting the previous patch) but get an error:
Unrecognized keyword: #:out-of-source?
I guess this is because meson-(cross-)build now get a keyword they don't
know.
Maybe we could replace the install-license-files function with a version
that has #:out-of-source? set to #t?. Not sure if there is an elegant
way to do this?
>>
>> Would such a change require rebuilding (basically) everything given
>> that currently all packages are already built with #:out-of-source?
>> set to the default value #t?
>
> Yes. To test this kind of change without having to wait for the world
> to rebuild first, I sometimes make a copy of the build system files and
> suffix them with -v2 or something. It's a bit of a pain, but faster than
> waiting for 20k packages to be built.
>
Previously i have been using the tio package for testing because it had
no other dependencies depending on meson. However since it got upgraded
it now depends on glib ...
This bug report was last modified 186 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.