diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2021-02-25 09:34:29 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2021-02-25 10:12:46 +0100 |
commit | 4d8ea30a4fc37036437f73b73cb3bcc3c4b92459 (patch) | |
tree | 22a7014bde28051a75cd801e1ac0f746a4193d46 /pkgs/games/warsow | |
parent | 57231d7524d94dd992bb8726af8c941d11e2bee3 (diff) |
warsow: clean up
- Do not contaminate builder environment with libraries, substitute them in the patch directly. - Switch to pname from name. - Run installPhase hooks. - Correct license.
Diffstat (limited to 'pkgs/games/warsow')
-rw-r--r-- | pkgs/games/warsow/engine.nix | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/pkgs/games/warsow/engine.nix b/pkgs/games/warsow/engine.nix index 4c8de4a02d339..e796c589290a0 100644 --- a/pkgs/games/warsow/engine.nix +++ b/pkgs/games/warsow/engine.nix @@ -1,15 +1,9 @@ -{ stdenv, lib, fetchurl, cmake, libogg, libvorbis, libtheora, curl, freetype +{ stdenv, lib, substituteAll, fetchurl, cmake, libogg, libvorbis, libtheora, curl, freetype , libjpeg, libpng, SDL2, libGL, openal, zlib }: -let - # The game loads all those via dlopen(). - libs = lib.mapAttrs (name: x: lib.getLib x) { - inherit zlib curl libpng libjpeg libogg libvorbis libtheora freetype; - }; - -in stdenv.mkDerivation (libs // rec { - name = "warsow-engine-${version}"; +stdenv.mkDerivation rec { + pname = "warsow-engine"; version = "2.1.0"; src = fetchurl { @@ -17,6 +11,13 @@ in stdenv.mkDerivation (libs // rec { sha256 = "0fj5k7qpf6far8i1xhqxlpfjch10zj26xpilhp95aq2yiz08pj4r"; }; + patches = [ + (substituteAll { + src = ./libpath.patch; + inherit zlib curl libpng libjpeg libogg libvorbis libtheora freetype; + }) + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ @@ -24,28 +25,30 @@ in stdenv.mkDerivation (libs // rec { libpng ]; - patches = [ ./libpath.patch ]; - postPatch = '' + cmakeFlags = [ "-DQFUSION_GAME=Warsow" ]; + + preConfigure = '' cd source/source - substituteAllInPlace gameshared/q_arch.h ''; - cmakeFlags = [ "-DQFUSION_GAME=Warsow" ]; - installPhase = '' + runHook preInstall + mkdir -p $out/lib cp -r libs $out/lib/warsow for i in warsow.* wsw_server.* wswtv_server.*; do install -Dm755 "$i" "$out/bin/''${i%.*}" done + + runHook postInstall ''; meta = with lib; { description = "Multiplayer FPS game designed for competitive gaming (engine only)"; homepage = "http://www.warsow.net"; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = with maintainers; [ astsmtl abbradar ]; platforms = platforms.linux; broken = stdenv.isAarch64; }; -}) +} |