Developers, developers, developers, developers!
How to build from source and start improving the game.
Preparations
Be sure not to have multiple versions (e.g. 0.3.0 and SVN) installed at the same time. It may seem to work, but the graphics will display incorrectly due to wrong theme files being used.
The build dependencies on different distros
If you happen to be running one of these, please start by installing the following packages. If not, just skip this section and follow the instructions.
Debian (testing/unstable) and Ubuntu:
- sudo aptitude install git-core cmake build-essential gettext help2man libglew1.5-dev libsdl1.2-dev libcairo2-dev librsvg2-dev libboost1.40-all-dev libavcodec-dev libavformat-dev libswscale-dev libpng-dev libjpeg-dev libsamplerate0-dev libxml++2.6-dev libasound2-dev libjack-dev libpulse-dev portaudio19-dev libgstreamer0.10-dev
Note: the audio libraries (at the end of the list) are optional. Install only the ones that you are going to use. If you are packaging Performous, install all of them (the ones actually available are detected runtime).
Gentoo:
- sudo emerge boost ffmpeg help2man imagemagick libsamplerate libsdl libxmlpp git cmake
Fedora:
- sudo yum install git cmake gcc-c++ gettext gtk2-devel cairo-devel librsvg2-devel libsigc++20-devel glibmm24-devel libxml++-devel ImageMagick-c++-devel boost-devel SDL-devel glew-devel ffmpeg-devel pulseaudio-libs-devel
Note: RPM Fusion Free repository is needed for ffmpeg.
OS X:
- sudo port install git-core cmake help2man libsdl glew cairo librsvg portaudio libxmlxx2 boost +complete imagemagick ffmpeg +avfilter libsamplerate
Note: GCC 4.0.1 is very buggy and outdated. We recommend getting at least GCC 4.2 and using that to compile Performous. You will not need to switch the MacPorts default compiler, configuring CMake to use the new compiler is enough.
We try to keep these lists accurate and up-to-date with the development version. If you find that something is missing or that there are unnecessary package installs, please let us know.
Installing the latest development version
You will need to have Git client installed. If you are using Windows, consider using TortoiseGit. For other platforms, the commandline tool git shall do.
- git clone git://git.performous.org/gitroot/performous/performous
This command will fetch the latest sources into a folder called performous.
- cd performous
- mkdir build
- cd build
- cmake ../
- make
- sudo make install
The above commands should build and install the game. If you get errors (especially if they are from the cmake command), you are probably missing some libraries required by the game. Install the needed libraries (e.g. libboost-dev) and retry the failing step until all dependencies are sorted out.
Afterwards, when you want to upgrade,
- cd performous
- git pull
- cd build
- cmake ../
- make
- sudo make install
You may sometimes need to remove the build folder and rebuild from scratch to force it to redetect everything. You may also use the following command to change any settings such as where to look for libraries, where a specific library is located, what kind of build to do, where to install, etc:
- ccmake ./
Improving the game
Hack the source, find things that you could do better. We accept small and large patches. Even typing mistakes and manual page inaccuraties should be corrected, and it is all there. Another thing that you can do, even if you don't know anything about programming, is making new themes (or improving the existing ones): the only things that you need for this are Inkscape and some graphical skill.
IRC channel
Most development discussion happens on #performous on Freenode, so you'd better come there. If you are not familiar with IRC, you can use webchat.
