commit
49571f6a42
@ -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;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user