diff --git a/pkgs/by-name/ta/taterclient-ddnet/package.nix b/pkgs/by-name/ta/taterclient-ddnet/package.nix index fbb3f863224d..6fb16457c466 100644 --- a/pkgs/by-name/ta/taterclient-ddnet/package.nix +++ b/pkgs/by-name/ta/taterclient-ddnet/package.nix @@ -27,6 +27,7 @@ glslang, spirv-tools, gtest, + glew, apple-sdk_11, }: let @@ -55,34 +56,34 @@ stdenv.mkDerivation (finalAttrs: { rustc cargo rustPlatform.cargoSetupHook + glslang # for glslangValidator + python3 ]; nativeCheckInputs = [ gtest ]; + checkInputs = [ gtest ]; - buildInputs = - [ - curl - libnotify - pcre - python3 - sqlite - freetype - libGLU - libogg - opusfile - SDL2 - wavpack - ffmpeg - x264 - vulkan-loader - vulkan-headers - glslang - spirv-tools - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ]; + buildInputs = [ + curl + libnotify + pcre + sqlite + freetype + libGLU + libogg + opusfile + SDL2 + wavpack + ffmpeg + x264 + vulkan-loader + vulkan-headers + glslang + spirv-tools + glew + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 ]; + + strictDeps = true; postPatch = '' substituteInPlace src/engine/shared/storage.cpp \ @@ -90,17 +91,18 @@ stdenv.mkDerivation (finalAttrs: { ''; cmakeFlags = [ - "-DAUTOUPDATE=OFF" - "-DCLIENT=ON" - "-DSERVER=OFF" - "-DTOOLS=OFF" - "-DCLIENT_EXECUTABLE=${clientExecutable}" + (lib.cmakeBool "AUTOUPDATE" false) + (lib.cmakeBool "CLIENT" true) + (lib.cmakeBool "SERVER" false) + (lib.cmakeBool "TOOLS" false) + (lib.cmakeFeature "CLIENT_EXECUTABLE" clientExecutable) ]; - # Tests loop forever on Darwin for some reason - doCheck = !stdenv.hostPlatform.isDarwin; + doCheck = true; checkTarget = "run_tests"; + __darwinAllowLocalNetworking = true; # for tests + preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' # Upstream links against /lib while it installs this library in /lib/ddnet install_name_tool -change "$out/lib/libsteam_api.dylib" "$out/lib/ddnet/libsteam_api.dylib" "$out/bin/${clientExecutable}"