Dependencies.wiki
author Wuzzy
Fri, 07 Sep 2018 12:25:32 +0100
changeset 1542 f95894dd5aeb
parent 1324 bb87061fc23f
child 1660 6f6de1fdc526
permissions -rw-r--r--
ProtocolNumbers: specify source

#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 || [https://www.mercurial-scm.org/] ||

== 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 || [https://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 || 5.0.0 || 5.0.0 || [https://www.qt.io/] ||
|| SDL || 2.0 || 2.0 || [https://libsdl.org/] ||
|| SDL_net || 2.0 || 2.0 || [https://libsdl.org/] ||
|| SDL_mixer || 2.0 || 2.0 || [https://libsdl.org/] ||
|| SDL_image || 2.0 || 2.0 || [https://libsdl.org/] ||
|| SDL_TTF || 2.0 || 2.0 || [https://libsdl.org/] ||
|| FPC (Free Pascal Compiler) || 2.2.4 || 2.2.4 || [https://freepascal.org/] ||

== Recommended dependency ==
This is not strictly required, but recommended:

|| *Name* || *Homepage* ||
|| qtstyleplugins || [https://github.com/qt/qtstyleplugins] ||

== 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) || [https://www.lua.org/] ||
|| PhysFS || 2.1.0 || 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 || ??? || [https://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 || https://hackage.haskell.org/package/sandi ||
|| hslogger || || https://hackage.haskell.org/package/hslogger ||
|| regex-tdfa || after 0.9.22 || https://hackage.haskell.org/package/regex-tdfa ||
|| bytestring || || https://hackage.haskell.org/package/bytestring ||
|| bytestring-show || || https://hackage.haskell.org/package/bytestring-show ||
|| dataenc || 0.9.22 or older || https://hackage.haskell.org/package/dataenc ||
|| deepseq || || https://hackage.haskell.org/package/deepseq ||
|| mtl || || https://hackage.haskell.org/package/mtl ||
|| network || || https://hackage.haskell.org/package/network ||
|| parsec3 || 0.9.23 or older  || https://hackage.haskell.org/package/parsec3 ||
|| utf8-string || || https://hackage.haskell.org/package/utf8-string ||
|| vector || || https://hackage.haskell.org/package/vector ||
|| random || || https://hackage.haskell.org/package/random ||
|| zlib || || https://hackage.haskell.org/package/zlib ||
|| SHA || || https://hackage.haskell.org/package/SHA ||
|| entropy || || https://hackage.haskell.org/package/entropy ||