Dependencies.wiki
author Wuzzy
Tue, 24 Oct 2017 14:48:12 +0100
changeset 1101 172cf3112fde
parent 1100 7e1f1bf5b955
child 1102 20695a9da988
permissions -rw-r--r--
Dependencies: Update optdepends

#summary List of programs and libraries for building and/or running Hedgewars

= Dependencies =
== Dependencies for fetching latest source code ==
If you want to get the source code from the mercurial repository, you'll need these.

|| *Name* || *Homepage* ||
|| Mercurial || [http://mercurial.selenic.com/] ||

== Build-only dependencies ==
You need these packages to build Hedgewars, but not afterwards.

|| *Name* || *Version* (Latest HW release) || *Version* (Unstable) || *Homepage* ||
|| CMake || 2.6 || 2.6 || [http://www.cmake.org/] ||

== Core dependencies ==
You need these programs and libraries to build and run Hedgewars.
Note: You will need the development headers of the libraries for building only.

|| *Name* || *Version* (Latest HW release) || *Version* (Unstable) || *Homepage* ||
|| Qt || 4.7.0 || 4.7.0 || [http://www.qt.io/] ||
|| SDL || 1.2 || 2.0 || [http://libsdl.org/] ||
|| SDL_net || 1.2 || 2.0 || [http://libsdl.org/] ||
|| SDL_mixer || 1.2 || 2.0 || [http://libsdl.org/] ||
|| SDL_image || 1.2 || 2.0 || [http://libsdl.org/] ||
|| SDL_TTF || 2.0 || 2.0 || [http://libsdl.org/] ||
|| FPC (Free Pascal Compiler) || 2.2.4 || ??? || [http://freepascal.org/] ||

== Bundled dependencies ==
You can build/run Hedgewars using these packages from your system or use those that come with the Hedgewars source:

|| *Name* || *Version* (Latest HW release) || *Version* (Unstable) || *Homepage* ||
|| Lua || 5.1 (exactly) || 5.1 (exactly) || [http://www.lua.org/] ||
|| PhysFS || 2.0.3 || 2.1.0 || [https://icculus.org/physfs/] ||

Bundled Fonts:
|| *Name* || *Homepage* || *Comment* ||
|| !DejaVu Sans Bold || [http://dejavu-fonts.org/] || — ||
|| Zen Hei || [http://wenq.org/] || From the !WenQuanYi project. Font is internally known as “wgy-zenhei” ||

== Optional dependencies ==
You don’t need to install these packages to build Hedgewars, but if you don’t, some features will be missing.

=== For PNG screenshots ===
|| *Name* || *Version* || *Homepage* ||
|| libpng || 1.2 || [http://www.libpng.org/pub/png/libpng.html] ||

=== Video recording ===
For the video recorder, you need either FFmpeg _or_ Libav. And FreeGLUT.

|| *Name* || *Version* || *Homepage* ||
|| FFmpeg || ??? || [http://ffmpeg.org/] ||
|| Libav || ??? || [https://libav.org/ ||
|| FreeGLUT || 3.0 || [http://freeglut.sourceforge.net/] ||

*Note*: See also VideoRecorder for detailed instructions to build the video recorder.

=== Server ===
The server is built seperately. If you want to build the server you need a couple of Haskell-related packages. First you need GHC:
|| *Name* || *Version* || *Homepage* ||
|| GHC (Glasgow Haskell Compiler) || 6.10 || [https://www.haskell.org/ghc/] ||

Then you need a couple of Haskell software. Note that package names for Haskell software varies wildly between Linux distributions. When in doubt, check your distribution’s documentation about any naming conventions they may have about Haskell packages.
|| *Haskell library name* || *Hedgewars Version* || *Hackage link* ||
|| sandi || after 0.9.22 || http://hackage.haskell.org/package/sandi ||
|| hslogger || || http://hackage.haskell.org/package/hslogger ||
|| regex-tdfa || after 0.9.22 || http://hackage.haskell.org/package/regex-tdfa ||
|| bytestring || || http://hackage.haskell.org/package/bytestring ||
|| bytestring-show || || http://hackage.haskell.org/package/bytestring-show ||
|| dataenc || 0.9.22 or older || http://hackage.haskell.org/package/dataenc ||
|| deepseq || || http://hackage.haskell.org/package/deepseq ||
|| mtl || || http://hackage.haskell.org/package/mtl ||
|| network || || http://hackage.haskell.org/package/network ||
|| parsec3 || || http://hackage.haskell.org/package/parsec3 ||
|| utf8-string || || http://hackage.haskell.org/package/utf8-string ||
|| vector || || http://hackage.haskell.org/package/vector ||
|| random || || http://hackage.haskell.org/package/random ||
|| zlib || || http://hackage.haskell.org/package/zlib ||
|| SHA || || http://hackage.haskell.org/package/SHA ||
|| entropy || || http://hackage.haskell.org/package/entropy ||