vala build uses bundled bootstrap binaries

  • Open
  • quality assurance status badge
Details
4 participants
  • Adam Faiz
  • Liliana Marie Prikler
  • Liliana Marie Prikler
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal
M
M
Maxim Cournoyer wrote on 15 Jul 2022 23:32
(name . bug-guix)(address . bug-guix@gnu.org)
875yjyukni.fsf@gmail.com
Hi,

Our vala packages bundle themselves via bundled bootstrap binaries.
When I asked in #vala on the irc.gnome.org, I was pointed to

Thanks,

Maxim
L
L
Liliana Marie Prikler wrote on 16 Jul 2022 10:18
29d95bb7b6c42dd8dd2602a048ed4215a717b594.camel@student.tugraz.at
Am Freitag, dem 15.07.2022 um 17:32 -0400 schrieb Maxim Cournoyer:
Toggle quote (3 lines)
> Hi,
>
> Our vala packages bundle themselves via bundled bootstrap binaries.
Small correction, it appears to be bootstrapped source files, i.e.
compiler-generated C code.

Toggle quote (3 lines)
> When I asked in #vala on the irc.gnome.org, I was pointed to
> https://gitlab.gnome.org/ricotz/vala-bootstrap as a possible
> solution.
Looking at the vala source code, we can bootstrap the current version
from 0.39.5.8, which appears to be between release cycles – 0.39.6
already requires it, whereas 0.39.5 bootstraps from 0.25.1. I'm not
sure how to get 0.25.1 to build from source, though. The code in vala-
bootstrap does not appear helpful, it in fact reads exactly like Vala-
compiled Vala.

Cheers
L
L
Liliana Marie Prikler wrote on 18 Feb 2023 08:34
b1bfa47fcff3f22c280bd879df2a539457dd8b2f.camel@gmail.com
Am Samstag, dem 16.07.2022 um 10:18 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (2 lines)
> The code in vala-bootstrap does not appear helpful, it in fact reads
> exactly like Vala-compiled Vala.
I've now hosted my own vala-bootstrap [1], which has valacompiler.c and
gee translated to more readable C already. I'd be happy to take in
patches or transfer it to the bootstrappable project.

Cheers

M
M
Maxim Cournoyer wrote on 25 Feb 2023 21:12
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 56584@debbugs.gnu.org)
87sfetec88.fsf@gmail.com
Hi Liliana,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (12 lines)
> Am Samstag, dem 16.07.2022 um 10:18 +0200 schrieb Liliana Marie
> Prikler:
>> The code in vala-bootstrap does not appear helpful, it in fact reads
>> exactly like Vala-compiled Vala.
> I've now hosted my own vala-bootstrap [1], which has valacompiler.c and
> gee translated to more readable C already. I'd be happy to take in
> patches or transfer it to the bootstrappable project.
>
> Cheers
>
> [1] https://gitlab.gnome.org/lilyp/vala-bootstrap

Neat! Will you send patches to use it to bootstrap our vala in Guix?

--
Thanks,
Maxim
A
A
Adam Faiz wrote on 1 Mar 2023 06:00
(address . 56584@debbugs.gnu.org)
c2796eee-73ed-bd99-56d2-70e5c8193bc7@disroot.org
Toggle quote (17 lines)
> Looking at the vala source code, we can bootstrap the current version
> from 0.39.5.8, which appears to be between release cycles – 0.39.6
> already requires it, whereas 0.39.5 bootstraps from 0.25.1. I'm not
> sure how to get 0.25.1 to build from source, though. The code in vala-
> bootstrap does not appear helpful, it in fact reads exactly like Vala-
> compiled Vala.
>
> Cheers

> I've now hosted my own vala-bootstrap [1], which has valacompiler.c and
> gee translated to more readable C already. I'd be happy to take in
> patches or transfer it to the bootstrappable project.
>
> Cheers
>
> [1] https://gitlab.gnome.org/lilyp/vala-bootstrap

An easier route to bootstrap Vala could be the archeological approach:

Oldest commit(SVN import): 68f95ffe3aef82aac0fb7bbc65d1faab19902e3c
Last commit with only C code(except for tests written in Vala):
c300d9c3d0af08f628b6c260bdd32f431a47e0f2

Became self-hosting(it still bootstraps with written C code under valac/):
29a1dec53a4661779cc819ede69732c6c1118088

Removed bootstrappability(removed valac/ directory and uses Vala-generated C
code under ccode/): 35bd6909ba2b8467ba95dfe6360e7a7e227115c8

Oldest release: VALA_0_0_1

This information should make it possible to bootstrap Vala.
L
L
Liliana Marie Prikler wrote on 1 Mar 2023 21:59
(address . maxim.cournoyer@gmail.com)
58613c216729af92e868bac39925fe8e01628bf3.camel@gmail.com
Am Mittwoch, dem 01.03.2023 um 05:00 +0000 schrieb Adam Faiz:
Toggle quote (35 lines)
> > Looking at the vala source code, we can bootstrap the current
> > version from 0.39.5.8, which appears to be between release cycles –
> > 0.39.6 already requires it, whereas 0.39.5 bootstraps from 0.25.1. 
> > I'm not sure how to get 0.25.1 to build from source, though.  The
> > code in vala-bootstrap does not appear helpful, it in fact reads
> > exactly like Vala-compiled Vala.
> >
> > Cheers
>
> > I've now hosted my own vala-bootstrap [1], which has valacompiler.c
> > and gee translated to more readable C already.  I'd be happy to
> > take in patches or transfer it to the bootstrappable project.
> >
> > Cheers
> >
> > [1] https://gitlab.gnome.org/lilyp/vala-bootstrap
>
> An easier route to bootstrap Vala could be the archeological
> approach:
>
> Oldest commit(SVN import): 68f95ffe3aef82aac0fb7bbc65d1faab19902e3c
> Last commit with only C code(except for tests written in Vala):
> c300d9c3d0af08f628b6c260bdd32f431a47e0f2
>
> Became self-hosting(it still bootstraps with written C code under
> valac/):
> 29a1dec53a4661779cc819ede69732c6c1118088
>
> Removed bootstrappability(removed valac/ directory and uses Vala-
> generated C code under ccode/):
> 35bd6909ba2b8467ba95dfe6360e7a7e227115c8
>
> Oldest release: VALA_0_0_1
>
> This information should make it possible to bootstrap Vala.
Provided that we find a version of yacc that doesn't choke on the
grammar files. Also, we got an uncertain road ahead for Valas before
0.35.1, and then vala 0.39.6 did a dirty bump in which they rely on a
practically unreleased version.

So yes, the archeological approach could work, but I wouldn't
necessarily count on it being "easy".

Cheers
?