diff options
author | Naïm Favier <n@monade.li> | 2023-11-20 23:45:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-20 23:45:13 +0100 |
commit | b6eba20e67f807f67318c436081908c5794419ac (patch) | |
tree | d722fdd5651c0783edbf2c5d6350e7947a5df725 /pkgs/games | |
parent | d5da153f068b50e1c4e8e27e8421e62e40f62634 (diff) | |
parent | 9c0e68d9a82216f1e4bcf3376aa05da0bde58ce7 (diff) |
Merge pull request #268658 from jtbx/teeworlds-buildClient
teeworlds, ddnet: add buildClient feature flag
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/ddnet/default.nix | 30 | ||||
-rw-r--r-- | pkgs/games/teeworlds/default.nix | 18 |
2 files changed, 38 insertions, 10 deletions
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix index 98da304c85abd..6a6fc63e8c409 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 + libnotify + pcre + python3 + sqlite + ] ++ lib.optionals buildClient ([ freetype libGLU - libnotify libogg - libX11 opusfile - pcre - python3 SDL2 - sqlite 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/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix index e12c19f6cb6a6..a915832fdbe90 100644 --- a/pkgs/games/teeworlds/default.nix +++ b/pkgs/games/teeworlds/default.nix @@ -3,6 +3,7 @@ , nixosTests , Carbon , Cocoa +, buildClient ? true }: stdenv.mkDerivation rec { @@ -38,21 +39,30 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config - ] ++ lib.optionals stdenv.isLinux [ + ] ++ lib.optionals (buildClient && stdenv.isLinux) [ icoutils ]; buildInputs = [ - python3 libGLU SDL2 lua5_3 zlib freetype wavpack + python3 lua5_3 zlib + ] ++ lib.optionals buildClient ([ + libGLU + SDL2 + freetype + wavpack ] ++ lib.optionals stdenv.isLinux [ alsa-lib libX11 ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa + ]); + + cmakeFlags = [ + "-DCLIENT=${if buildClient then "ON" else "OFF"}" ]; - postInstall = lib.optionalString stdenv.isLinux '' + postInstall = lib.optionalString buildClient (lib.optionalString stdenv.isLinux '' # Convert and install desktop icon mkdir -p $out/share/pixmaps icotool --extract --index 1 --output $out/share/pixmaps/teeworlds.png $src/other/icons/teeworlds.ico @@ -68,7 +78,7 @@ stdenv.mkDerivation rec { cp '../other/bundle/client/PkgInfo' "$out/Applications/teeworlds.app/Contents/" ln -s "$out/bin/teeworlds" "$out/Applications/teeworlds.app/Contents/MacOS/" ln -s "$out/share/teeworlds/data" "$out/Applications/teeworlds.app/Contents/Resources/data" - ''; + ''); passthru.tests.teeworlds = nixosTests.teeworlds; |