diff --git a/pkgs/games/warsow/engine.nix b/pkgs/games/warsow/engine.nix index 4c8de4a02d3..e796c589290 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 = '' - cd source/source - substituteAllInPlace gameshared/q_arch.h - ''; - cmakeFlags = [ "-DQFUSION_GAME=Warsow" ]; + preConfigure = '' + cd source/source + ''; + 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; }; -}) +}