From 9c0e68d9a82216f1e4bcf3376aa05da0bde58ce7 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 20 Nov 2023 20:36:44 +1300 Subject: [PATCH] ddnet: add buildClient feature flag see 2fdbababe10005da0096bde70cf84697d95e3637 --- pkgs/games/ddnet/default.nix | 32 +++++++++++++++++++++++++------- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix index 98da304c85ab..6a6fc63e8c40 100644 --- a/pkgs/games/ddnet/default.nix +++ b/pkgs/games/ddnet/default.nix @@ -30,6 +30,7 @@ , Cocoa , OpenGL , Security +, buildClient ? true }: stdenv.mkDerivation rec { @@ -64,16 +65,16 @@ stdenv.mkDerivation rec { buildInputs = [ curl - freetype - libGLU libnotify - libogg - libX11 - opusfile pcre python3 - SDL2 sqlite + ] ++ lib.optionals buildClient ([ + freetype + libGLU + libogg + opusfile + SDL2 wavpack ffmpeg x264 @@ -81,7 +82,14 @@ stdenv.mkDerivation rec { vulkan-headers glslang spirv-tools - ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa OpenGL Security ]; + ] ++ lib.optionals stdenv.isLinux [ + libX11 + ] ++ lib.optionals stdenv.isDarwin [ + Carbon + Cocoa + OpenGL + Security + ]); postPatch = '' substituteInPlace src/engine/shared/storage.cpp \ @@ -90,11 +98,21 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DAUTOUPDATE=OFF" + "-DCLIENT=${if buildClient then "ON" else "OFF"}" ]; doCheck = true; checkTarget = "run_tests"; + postInstall = lib.optionalString (!buildClient) '' + # DDNet's CMakeLists.txt automatically installs .desktop + # shortcuts and icons for the client, even if the client + # is not supposed to be built + rm -rf $out/share/applications + rm -rf $out/share/icons + rm -rf $out/share/metainfo + ''; + meta = with lib; { description = "A Teeworlds modification with a unique cooperative gameplay."; longDescription = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ba828ef47136..f1bfe80d208c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37681,6 +37681,7 @@ with pkgs; ddnet = callPackage ../games/ddnet { inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL Security; }; + ddnet-server = ddnet.override { buildClient = false; }; ddns-go = callPackage ../tools/networking/ddns-go { };