2015-05-04 11:43:24 +01:00
|
|
|
{ SDL_image, SDL_ttf, SDL_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
|
2014-10-14 16:40:56 +01:00
|
|
|
, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL, SDL_mixer
|
2015-08-28 12:59:47 +01:00
|
|
|
, zlib, libpng, mesa, physfs
|
2014-10-14 16:40:56 +01:00
|
|
|
}:
|
|
|
|
|
2015-05-04 11:43:24 +01:00
|
|
|
let
|
|
|
|
ghc = ghcWithPackages (pkgs: with pkgs; [
|
2016-08-06 18:20:18 +01:00
|
|
|
network vector utf8-string bytestring-show random hslogger
|
2017-07-26 08:47:20 +01:00
|
|
|
dataenc SHA entropy pkgs.zlib
|
2015-05-04 11:43:24 +01:00
|
|
|
]);
|
|
|
|
in
|
2014-10-14 16:40:56 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2016-02-24 13:23:48 +00:00
|
|
|
version = "0.9.22";
|
2014-10-14 16:40:56 +01:00
|
|
|
name = "hedgewars-${version}";
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://download.gna.org/hedgewars/hedgewars-src-${version}.tar.bz2";
|
2016-02-24 13:23:48 +00:00
|
|
|
sha256 = "14i1wvqbqib9h9092z10g4g0y14r5sp2fdaksvnw687l3ybwi6dn";
|
2014-10-14 16:40:56 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [
|
2015-05-04 11:43:24 +01:00
|
|
|
SDL_ttf SDL_net cmake pkgconfig lua5_1 SDL SDL_mixer SDL_image fpc
|
2015-08-28 12:59:47 +01:00
|
|
|
qt4 ghc ffmpeg freeglut makeWrapper physfs
|
2014-10-14 16:40:56 +01:00
|
|
|
];
|
|
|
|
|
2016-08-06 18:20:18 +01:00
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace gameServer/CMakeLists.txt --replace mask evaluate
|
|
|
|
'';
|
|
|
|
|
2014-10-14 16:40:56 +01:00
|
|
|
preBuild = ''
|
|
|
|
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL_image}/lib
|
|
|
|
-rpath ${SDL_mixer}/lib
|
|
|
|
-rpath ${SDL_net}/lib
|
|
|
|
-rpath ${SDL_ttf}/lib
|
2015-10-11 15:21:43 +01:00
|
|
|
-rpath ${SDL.out}/lib
|
|
|
|
-rpath ${libpng.out}/lib
|
2014-10-14 16:40:56 +01:00
|
|
|
-rpath ${lua5_1}/lib
|
|
|
|
-rpath ${mesa}/lib
|
2015-10-11 15:21:43 +01:00
|
|
|
-rpath ${zlib.out}/lib
|
2014-10-14 16:40:56 +01:00
|
|
|
"
|
|
|
|
'';
|
|
|
|
|
|
|
|
postInstall = ''
|
2016-08-23 00:13:46 +01:00
|
|
|
wrapProgram $out/bin/hwengine --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH:${stdenv.lib.makeLibraryPath [ mesa freeglut physfs ]}
|
2014-10-14 16:40:56 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
2014-12-30 02:31:03 +00:00
|
|
|
description = "Turn-based strategy artillery game similar to Worms";
|
2014-10-14 16:40:56 +01:00
|
|
|
homepage = http://hedgewars.org/;
|
|
|
|
license = licenses.gpl2;
|
|
|
|
longDescription = ''
|
|
|
|
Each player controls a team of several hedgehogs. During the course of
|
|
|
|
the game, players take turns with one of their hedgehogs. They then use
|
|
|
|
whatever tools and weapons are available to attack and kill the
|
|
|
|
opponents' hedgehogs, thereby winning the game. Hedgehogs may move
|
|
|
|
around the terrain in a variety of ways, normally by walking and jumping
|
|
|
|
but also by using particular tools such as the "Rope" or "Parachute", to
|
|
|
|
move to otherwise inaccessible areas. Each turn is time-limited to
|
|
|
|
ensure that players do not hold up the game with excessive thinking or
|
|
|
|
moving.
|
|
|
|
|
|
|
|
A large variety of tools and weapons are available for players during
|
|
|
|
the game: Grenade, Cluster Bomb, Bazooka, UFO, Homing Bee, Shotgun,
|
|
|
|
Desert Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope, Pneumatic
|
|
|
|
pick, Parachute. Most weapons, when used, cause explosions that deform
|
|
|
|
the terrain, removing circular chunks. The landscape is an island
|
|
|
|
floating on a body of water, or a restricted cave with water at the
|
|
|
|
bottom. A hedgehog dies when it enters the water (either by falling off
|
|
|
|
the island, or through a hole in the bottom of it), it is thrown off
|
|
|
|
either side of the arena or when its health is reduced, typically from
|
|
|
|
contact with explosions, to zero (the damage dealt to the attacked
|
|
|
|
hedgehog or hedgehogs after a player's or CPU turn is shown only when
|
|
|
|
all movement on the battlefield has ceased).'';
|
2016-08-06 18:20:18 +01:00
|
|
|
maintainers = with maintainers; [ kragniz fpletz ];
|
2015-05-04 11:43:24 +01:00
|
|
|
platforms = ghc.meta.platforms;
|
2014-10-14 16:40:56 +01:00
|
|
|
};
|
|
|
|
}
|