diff --git a/pkgs/by-name/et/etlegacy-unwrapped/package.nix b/pkgs/by-name/et/etlegacy-unwrapped/package.nix index a3c7280b9cbe..f7e14dd8c3d3 100644 --- a/pkgs/by-name/et/etlegacy-unwrapped/package.nix +++ b/pkgs/by-name/et/etlegacy-unwrapped/package.nix @@ -1,25 +1,27 @@ -{ lib -, stdenv -, writeShellApplication -, fetchFromGitHub -, cjson -, cmake -, git -, makeBinaryWrapper -, unzip -, curl -, freetype -, glew -, libjpeg -, libogg -, libpng -, libtheora -, lua5_4 -, minizip -, openal -, SDL2 -, sqlite -, zlib +{ + lib, + stdenv, + writeShellApplication, + fetchFromGitHub, + fetchpatch, + cjson, + cmake, + git, + makeBinaryWrapper, + unzip, + curl, + freetype, + glew, + libjpeg, + libogg, + libpng, + libtheora, + lua5_4, + minizip, + openal, + SDL2, + sqlite, + zlib, }: let version = "2.83.1"; @@ -44,6 +46,16 @@ stdenv.mkDerivation { hash = "sha256-k1H3irA9UVOICY3keKGVJMtBczW/b5ObyNvB7fGAcFA="; }; + patches = lib.optionals stdenv.hostPlatform.isDarwin [ + # Fix compilation on Darwin archs + # Reported upstream at https://github.com/etlegacy/etlegacy/pull/3005 + # Remove this patch when the PR is merged + (fetchpatch { + url = "https://github.com/etlegacy/etlegacy/commit/2767d15c67fe0680178d9cc85ed4cf2ad1d88ad0.patch?full_index=1"; + hash = "sha256-rGfNIWb9zohk1QJLrYg9nqw6sMvXM0IbIl9kvYXRBuk="; + }) + ]; + nativeBuildInputs = [ cjson cmake @@ -79,10 +91,19 @@ stdenv.mkDerivation { cmakeFlags = [ "-DCROSS_COMPILE32=0" + "-DCMAKE_BUILD_TYPE=Release" "-DBUILD_SERVER=1" "-DBUILD_CLIENT=1" + "-DBUNDLED_ZLIB=0" + "-DBUNDLED_CJSON=0" "-DBUNDLED_JPEG=0" "-DBUNDLED_LIBS=0" + "-DBUNDLED_FREETYPE=0" + "-DBUNDLED_OGG_VORBIS=0" + "-DBUNDLED_OPENAL=0" + "-DBUNDLED_PNG=0" + "-DBUNDLED_THEORA=0" + "-DBUNDLED_MINIZIP=0" "-DINSTALL_EXTRA=0" "-DINSTALL_OMNIBOT=0" "-DINSTALL_GEOIP=0" @@ -103,7 +124,9 @@ stdenv.mkDerivation { for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age. ''; - maintainers = with lib.maintainers; [ ashleyghooper drupol ]; - platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + ashleyghooper + drupol + ]; }; }