Skip to content

External VM Builds

Mike Kasprzak edited this page Jul 23, 2018 · 16 revisions

Building outside the VM requires a much more setup. That said, building outside the VM tends to cut your build time in half. Plus if you have more than 2 CPU cores available to you, you can use them all (unlike Virtualbox that actually gets worse the more cores you use).

Some of the things you need:

  • PHP 7.x with MBString and XML addons
  • Node.js
  • GIT
  • GNU Make
  • Image and video manipulation command-line tools
  • A Unix compatible environment

Ubuntu 18.04

Debian setup be similar. See: https://github.com/nodesource/distributions#debinstall

# Install latest versions of PHP
sudo apt update
sudo apt install php7.1 php7.1-mbstring php7.1-xml

# Install Image and Video/GIF Manipulation Tools
sudo apt install ffmpeg imagemagick pngquant gifsicle webp

# Install Other Tools
sudo apt install make git

# Install Node.js (note you may need to uninstall it first for this to work)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

# Install Node packages
cd www
npm install

That should be everything you need to install.

Then simply:

  • navigate to your ludumdare/www folder in bash
  • run make clean (if you were previously working in the VM)
  • finally, run make

You can benchmark the speed of your builds by using time make.

For a complete set of build options, see: https://github.com/ludumdare/ludumdare

Ubuntu 16.04 (Legacy)

If you're running on Ubuntu 16.04, you may need to install some older packages.

# Install latest versions of PHP
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php7.1 php7.1-mbstring php7.1-xml

Windows

This is rather advanced, but if you have Windows 10, see wiki/Running-Dairybox-on-Linux-Subsystem-for-Windows

After you finish installation, return here and follow the Ubuntu instructions above.

If you're using an earlier version of Windows, you're on your own. We recommend you stick with the VM. Cygwin has poor package management by today's standards, and the Git Bash shell only ships with the essentials.

Mac

TODO: that wacky package manager whose name I forget.

Hey, let us know if you mac. We want to fill this in too.

Clone this wiki locally