superTuxKart: Make Darwin-compatible
This commit is contained in:
parent
7f56f38051
commit
f2a29c1ee9
@ -9,18 +9,19 @@
|
||||
, SDL2
|
||||
, glew
|
||||
, openal
|
||||
, OpenAL
|
||||
, libvorbis
|
||||
, libogg
|
||||
, curl
|
||||
, freetype
|
||||
, bluez
|
||||
, libjpeg
|
||||
, libpng
|
||||
, enet
|
||||
, harfbuzz
|
||||
, mcpp
|
||||
, wiiuse
|
||||
, angelscript
|
||||
, Cocoa
|
||||
, IOKit
|
||||
}:
|
||||
let
|
||||
dir = "stk-code";
|
||||
@ -82,10 +83,14 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
# Deletes all bundled libs in stk-code/lib except those
|
||||
# That couldn't be replaced with system packages
|
||||
postPatch = ''
|
||||
# Deletes all bundled libs in stk-code/lib except those
|
||||
# That couldn't be replaced with system packages
|
||||
find lib -maxdepth 1 -type d | egrep -v "^lib$|${(lib.concatStringsSep "|" bundledLibraries)}" | xargs -n1 -L1 -r -I{} rm -rf {}
|
||||
|
||||
# Allow building with system-installed wiiuse on Darwin
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'NOT (APPLE OR HAIKU)) AND USE_SYSTEM_WIIUSE' 'NOT (HAIKU)) AND USE_SYSTEM_WIIUSE'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config makeWrapper ];
|
||||
@ -93,20 +98,19 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
SDL2
|
||||
glew
|
||||
openal
|
||||
libvorbis
|
||||
libogg
|
||||
freetype
|
||||
curl
|
||||
bluez
|
||||
libjpeg
|
||||
libpng
|
||||
enet
|
||||
harfbuzz
|
||||
mcpp
|
||||
wiiuse
|
||||
]
|
||||
++ lib.optional (!stdenv.hostPlatform.isAarch64) angelscript;
|
||||
++ lib.optional (!stdenv.hostPlatform.isAarch64) angelscript
|
||||
++ lib.optional stdenv.hostPlatform.isLinux openal
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenAL IOKit Cocoa ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
|
||||
@ -117,9 +121,18 @@ stdenv.mkDerivation rec {
|
||||
"-DOpenGL_GL_PREFERENCE=GLVND"
|
||||
];
|
||||
|
||||
# Extract binary from built app bundle
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir $out/bin
|
||||
mv $out/{supertuxkart.app/Contents/MacOS,bin}/supertuxkart
|
||||
rm -rf $out/supertuxkart.app
|
||||
'';
|
||||
|
||||
# Obtain the assets directly from the fetched store path, to avoid duplicating assets across multiple engine builds
|
||||
preFixup = ''
|
||||
wrapProgram $out/bin/supertuxkart --set-default SUPERTUXKART_ASSETS_DIR "${assets}"
|
||||
wrapProgram $out/bin/supertuxkart \
|
||||
--set-default SUPERTUXKART_ASSETS_DIR "${assets}" \
|
||||
--set-default SUPERTUXKART_DATADIR "$out/share/supertuxkart" \
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
@ -132,7 +145,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://supertuxkart.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ pyrolagus peterhoeg ];
|
||||
platforms = with platforms; linux;
|
||||
platforms = with platforms; unix;
|
||||
changelog = "https://github.com/supertuxkart/stk-code/blob/${version}/CHANGELOG.md";
|
||||
};
|
||||
}
|
||||
|
@ -28502,7 +28502,9 @@ in
|
||||
|
||||
superTux = callPackage ../games/supertux { };
|
||||
|
||||
superTuxKart = callPackage ../games/super-tux-kart { };
|
||||
superTuxKart = callPackage ../games/super-tux-kart {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa IOKit OpenAL;
|
||||
};
|
||||
|
||||
synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user