El proceso para compilar Proton puede hacerse de muchas formas. Una de ellas es mediante un vagrant file. Esto supone que si tenemos instalado vagrant en nuestro sistema (mirar este post para saber como hacerlo) vamos a poder levantar una máquina solamente para compilar vagrant y luego desecharla.
El Vagrantfile lleva todas las instrucciones necesarias para descargarse las dependencias y montar el entorno necesario para la compilación.
Veamos el proceso.
Proceso para compilar Proton usando Vagrant
$ git clone https://github.com/ValveSoftware/Proton/ Proton ; cd $_
$ vagrant plugin update
$ vagrant up
En caso de necesitar instalar algún plugin (vagrant-sshfs por ejemplo) nos lo pedirá. Continuamos:
$ vagrant up
$ vagrant ssh
Ya estamos dentro de la máquina debian 10 lista para que podamos compilar en ella Proton.
Procedemos a compilar el tinglado. Va a desplegar contenedores docker para ello.
$ cd proton
$ git submodule update --init --recursive
$ cd ..
$ mkdir -p build ; cd $_
$ ../proton/configure.sh --build-name=fantaBuild
$ make -j$(nproc)
Empezará a compilar y tardará un tiempo. En mi caso las características de la máquina virtual que me ha creado vagrant son estas:
Paciencia amigo sancho. Esto tardará un buen rato y posiblemente te dará tiempo de sobra para tomar un café
Una ver ha terminado de compilar
Cuando termina la compilación podemos empaquetar el resultado en un tar.gz y nos lo llevamos a la máquina host así:
$ tar cfvz proton-dist.tar.gz dist/
$ exit
$ vagrant halt
$ vagrant destroy
Eso generará un archivo llamado proton-dist.tar.gz (casi 400Mb por lo menos) que contiene lo que necesitamos. Tenemos que sacarlo de la máquina virtual y una vez lo tengamos fuera (vía scp a alguna otra máquina por ejemplo) destruir la máquina.
Luego ya en nuestro sistema podemos descomprimirlo así:
$ tar xfvz proton-dist.tar.gz
Esto generará un directorio llamado dist en el que estará el tinglado necesario.
Y eso es todo en esta entrada.
Saludos cordiales.