Dependencies.wiki
author Wuzzy
Wed, 14 Feb 2018 19:03:47 +0000
changeset 1207 077e9a1b2a6d
parent 1110 f7bfa40bdbc5
child 1264 28d3bf0701a5
permissions -rw-r--r--
KnownBugs: no more double asterisks

#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 || 4.7.0 || 4.7.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/] ||

== 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 || || 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 ||