This repository contains various build scripts for runners and games used by Lutris. The target system for these scripts is Debian 11 Bullseye (the same system used by the Lutris runtime).
It is advised to run these scripts from within either a docker/podman container or vagrant VM. We have provided setup scripts for both (details below).
On Ubuntu: sudo apt install podman
On Arch: sudo pacman -S podman
On Fedora: sudo dnf install podman
Then build wine:
usage: ./podman-winebuild.sh name winerepo branch
example: ./podman-winebuild.sh lutris-GE https://github.com/GloriousEggroll/proton-wine Proton8-15
build name output: builds/wine-lutris-GE-Proton8-15-x86_64.tar.xz
Additional tools:
To access the container:
docker start buildbot
docker exec -it buildbot bash
To exit the container:
exit
docker stop buildbot
To delete the container and view containers list:
docker container rm buildbot
docker container list -a
To delete the container image and view images list:
docker rmi docker.io/gloriouseggroll/lutris_buildbot
docker images
On Ubuntu: sudo apt install vagrant vagrant-sshfs
On Arch: sudo pacman -S vagrant
sudo vagrant plugin install vagrant-sshfs
On Fedora: sudo dnf install vagrant vagrant-sshfs
Then build wine:
usage: ./vagrant-winebuild.sh name winerepo branch
example: ./vagrant-winebuild.sh lutris-GE https://github.com/GloriousEggroll/proton-wine Proton8-15
build output: builds/wine-lutris-GE-Proton8-15-x86_64.tar.xz
Additional tools:
To access the VM:
VAGRANT_VAGRANTFILE="$PWD"/tools/vagrant/Vagrantfile vagrant up
vagrant ssh
To exit the VM:
exit
vagrant halt
To delete the VM and view VM list:
vagrant destroy
vagrant box remove buildbot_debian
vagrant box list
The buildbot no longer uploads files to Lutris servers. Instead you should upload files from your host system.
To make build artifacts easy to find, follow this folder structure:
builds/ games/ game_1/game_1_build.tar.xz game_2/game_2_build.tar.xz ... runners/ wine/wine-lutris-GE-Proton8-15-x86_64.tar.xz mame/mame-0.258-x86_64.tar.xz ... runtime/ Debian-12-x86_64/Debian-12-x86_64.tar.xz Debian-12-i386/Debian-12-i386.tar.xz ...
awscli, s3cmd and doctl are required to upload files to Digital Ocean. Then configure your credential files in ~/.aws/credentials and ~/.s3cfg