mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-13 09:17:07 +03:00
Merge pull request #268658 from jtbx/teeworlds-buildClient
teeworlds, ddnet: add buildClient feature flag
This commit is contained in:
commit
b6eba20e67
@ -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 = ''
|
||||
|
@ -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;
|
||||
|
||||
|
@ -37672,6 +37672,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 { };
|
||||
|
||||
@ -38458,6 +38459,7 @@ with pkgs;
|
||||
teeworlds = callPackage ../games/teeworlds {
|
||||
inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
|
||||
};
|
||||
teeworlds-server = teeworlds.override { buildClient = false; };
|
||||
|
||||
tengine = callPackage ../servers/http/tengine {
|
||||
modules = with nginxModules; [ rtmp dav moreheaders modsecurity ];
|
||||
|
Loading…
Reference in New Issue
Block a user