This is the core repository of the Nirai compiler, which contains the actual compiler source code.
Nirai is a game deployment tool that is designed for use on Panda3D projects.
Nirai's purpose is to make it easier for Panda3D developers to get their projects out to the public, as well as preventing source code dumps and arbitrary Python code injection, which is possible with built-in Panda3D utilities such as "ppackage".
Nirai is meant to be used for compiling the source code of Panda3D games for production. A static executable is made, which by default contains Panda3D and Python, however you may link any other .pyd/.dll files to this executable if you wish (ex. libpandadna).
A sample Nirai project can be found here
Nirai is currently supported on Windows, Mac OS X, and Linux.
The following instructions will explain how to compile the Nirai Sample Project.
Download the following projects linked below and place them in the expected folder structure. If you do not have a folder named Nirai, make one somewhere on your computer.
Expected folder structure:
Nirai/
You will need to have CMake in order to build Nirai's Python. You can obtain a copy of CMake via your local OS' package manager (such as Brew), or obtain it directly from their website here.
You will also need to change the following commands from /path/to/*
to your own local computer's path.
cd path/to/Nirai/panda3d/
compile.bat
postbuild.bat
cd path/to/src/
aespyd.bat
Open up Nirai/python
and run CMake, then build the project CMake generates.
cd path/to/Nirai/sample-project/build/
python -OO make.py -cnm
cd path/to/Nirai/panda3d/
sh ./compile.sh
sh ./postbuild.sh
cd ../src/
sh ./aespyd.sh
cd ../python/
cmake . && make
cd ../sample-project/build/
python -OO make.py -cnm
If you have a conflicting version of OpenSSL installed, you will get a linker error similar to "invalid architecture for symbols x86".