This page explains how to download and install ENIGMA directly from the Git repository. Because this method makes use of the command-line, doesn't install any shortcuts or dependencies, requires an internet connection, and doesn't result in any blatantly obvious runnable binaries, this method is usually discouraged in favor of a more direct platform-dependent installation package, if available. See Install.
In brief, an installation via Git would consist of the following steps:
- Obtaining the necessary dependencies, such as Git, Java, and ENIGMA dependencies.
- Pointing your Git client to our #Repository URL and cloning to a directory of your choosing.
- Obtaining additional dependency binaries, which are maintained separately from our repository. Typically this is as simple as running
- Running lgm16b4.jar, which starts the user interface and tries to locate and link in the ENIGMA compiler.
- Git Client - Obviously needed to perform the actual checkout.
- Java - Needed to run the user interface, LateralGM.
- ENIGMA dependencies, vary by platform: Windows, Linux, Mac.
- And other additional dependencies you may want/need.
sudo apt-get install g++ zlib1g-dev libglu1-mesa-dev libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev
Our repository URL is the following:
Normally you would point your Git client to this URL and then either clone or fetch the repository to your local machine (which will ultimately download everything in the repository). Below we document how to do this with some specific clients.
git clone git://github.com/enigma-dev/enigma-dev.git
Which will create its own directory. You can specify the directory by adding it on to the end (after a space), but if omitted, it will just use the humanish part of the url, after the last slash and before the dot (usually "enigma-dev").
After obtaining enigma from the repository, you will need additional dependency binaries.
- On python-enabled systems (mac, linux):
python install.py(for more installation options, see install.py)
- On Windows: Either install python and run the script above, or else download and unzip the Windows Git Patch into your enigma directory (requires 7z).
- On non-python enabled systems, either install python and run the script above, or else please see Binaries#ENIGMA for a list of needed files which you must individually download and place in their respective directories.
On Windows, you will need to set up a compiler description file, called gcc.ey in Compilers/Windows/. Note that ENIGMA.exe will handle this process for you, as well as installing several dependencies. It can be copied over from
enigma-dev/compilerSource/stupidity-buffer/ENIGMA.exe into enigma-dev/ENIGMA.exe and then run. It will automatically run LateralGM once it is finished with the installations.
On other platforms, you run lgm16b4.jar (right inside enigma-dev/) which can be run by either double clicking or (preferably, since it reports any problems or errors that occur, along with other verbose debugging information) from command line with
java -jar lgm16b4.jar. Note that on Ubuntu (And possibly some other Linux distros) you have to run from the terminal in order to ensure the correct working directory. We're working on solutions to this problem at LateralGM:Workdir.
Your first run will automatically build binaries according to your platform, and these binaries will end up inside some hidden enigma-dev subfolders. If you are an active git-privileged developer, you should not need to worry about these files accidentally ending up in the repository, because the .gitignore file has rules to ignore these files. They will also automatically rebuild the relevant files whenever you change something in enigma and restart LateralGM/Enigma.
After installing, you may choose to create shortcuts or more obvious runnable binaries. This process is up to you.
Whenever a newer version becomes available on the git repository, you can use your Git Client to pull the update. If any of the binaries (e.g. enigma.jar, lgm16b4.jar) updated, you will also want to redownload those and overwrite them into their appropriate directories. You will then need to restart LateralGM/Enigma in order to complete the update (rebuilding binaries for your platform, etc).