Burrito icon indicating copy to clipboard operation
Burrito copied to clipboard

Source build instructions

Open jmetzmeier opened this issue 3 years ago • 4 comments

I wanted to build the latest of this project from source, but was unable to find any build instructions. I tried following the instructions on the godot site, which uses the scons command to compile a project, but that is looking for a SConstruct file that is not present in the repository. How do you build the project?

jmetzmeier avatar Oct 08 '21 23:10 jmetzmeier

It looks like https://github.com/AsherGlick/Burrito/blob/master/.github/workflows/main.yml lists build commands. But yeah, I agree that including instructions in the README would be nice.

manvithn avatar Oct 09 '21 00:10 manvithn

Definitely, having clear build instructions would be nice. However while the system is still being developed I would like to keep the number of places that need to be updated for each change to a minimum to prevent resistance. Currently that github workflow is the best place to look at to see how the project is built.

Once everything is is a more stable place, as far as external modules and dependencies goes, this issue should be re-examined. In the meantime I think adding a link to the workflow inside the readme should be sufficient.

AsherGlick avatar Oct 09 '21 02:10 AsherGlick

i wrote up a preliminary bash script to compile burrito using main.yml which barring any changes to the build process should work. changing the Godot version theoretically should be as easy as updating a variable. I'm not 100% sure if the way i used to check for MinGW-GCC is version independent though. So I'm definitely open to suggestions.

#!/bin/bash
scp_godot_version=3.3.2

if ! command -v x86_64-w64-mingw32-gcc &> /dev/null
then
    echo "mingw-gcc could not be found"
    echo "please install it and re-run this script"
    exit
fi

if [[ ! -f "./Godot_v$scp_godot_version-stable_linux_headless.64.zip" ]]
then
  wget -q https://downloads.tuxfamily.org/godotengine/$scp_godot_version/Godot_v$scp_godot_version-stable_linux_headless.64.zip
fi
if [[ ! -f "./Godot_v$scp_godot_version-stable_export_templates.tpz" ]]
then
  wget -q https://downloads.tuxfamily.org/godotengine/$scp_godot_version/Godot_v$scp_godot_version-stable_export_templates.tpz
fi
if [[ -d "~/.local/share/godot/templates/$scp_godot_version.stable/" ]]
then
  rm -r ~/.local/share/godot/templates/$scp_godot_version.stable/
fi
if [[ -d "./build/" ]]
then
  rm -r ./build/
fi
if [[ -d "./output/" ]]
then
  rm -r ./output/
fi
if [[ ! -d "~/.local/share/godot/templates/$scp_godot_version.stable/" ]]
then
  mkdir -v -p ~/.local/share/godot/templates/$scp_godot_version.stable/
fi
if [[ ! -d "./build/" ]]
then
  mkdir ./build/
fi
if [[ ! -d "./output/" ]]
then
  mkdir ./output/
fi

unzip Godot_v$scp_godot_version-stable_linux_headless.64.zip
unzip ./Godot_v$scp_godot_version-stable_export_templates.tpz
mv templates/* ~/.local/share/godot/templates/$scp_godot_version.stable/
cd burrito-fg
cargo build --release
cd ../taco_parser
cargo build --release
cd ../burrito_link
make
mv burrito_link.exe ../output
cd ..
./Godot_v$scp_godot_version-stable_linux_headless.64 --export "Linux/X11"
chmod +x build/burrito.x86_64
mv build/burrito.x86_64 output/
mv build/libburrito_fg.so output/
mv build/libgw2_taco_parser.so output/

jimmon89 avatar Dec 19 '21 22:12 jimmon89

@jimmon89 confirm basic deps exist (like scons) exist, then open default browser to this for prerequisites. I already have Pipewire, so it was sudo pacman -S scons libxcursor libxinerama glu alsa-lib freetype2 on Arch to get it going.

Thank you for your effort!

Technetium1 avatar Jan 08 '23 10:01 Technetium1