Install:Git - hpgDesigns/hpgdesigns-dev.io GitHub Wiki
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
python install.py
. - Running lgm16b4.jar, which starts the user interface and tries to locate and link in the ENIGMA compiler.
Dependencies
- 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.
- Plugging in any additional dependencies you may want/need.
Command Line:
sudo apt-get install g++ zlib1g-dev libglu1-mesa-dev libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev
Repository URL
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.
Command Line
git clone
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").
Binaries
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.
Running
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.
Post-installation options
After installing, you may choose to create shortcuts or more obvious runnable binaries. This process is up to you.
Update
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).
Command Line
cd enigma-dev/
git pull