Merge pull request #123289 from OPNA2608/fix/supertuxkart-darwin/21.05
superTuxKart: Build on Darwin
This commit is contained in:
commit
5e9437ef57
@ -1,4 +1,4 @@
|
|||||||
{lib, stdenv, fetchurl, unzip}:
|
{ lib, stdenv, fetchurl, unzip, cmake }:
|
||||||
let
|
let
|
||||||
s = # Generated upstream information
|
s = # Generated upstream information
|
||||||
rec {
|
rec {
|
||||||
@ -12,25 +12,32 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit (s) name version;
|
inherit (s) name version;
|
||||||
nativeBuildInputs = [ unzip ];
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
inherit (s) url sha256;
|
inherit (s) url sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ unzip cmake ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cd angelscript/projects/gnuc
|
export ROOT=$PWD
|
||||||
export makeFlags="$makeFlags PREFIX=$out"
|
cd angelscript/projects/cmake
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p "$out/share/docs/angelscript"
|
mkdir -p "$out/share/docs/angelscript"
|
||||||
cp -r ../../../docs/* "$out/share/docs/angelscript"
|
cp -r $ROOT/docs/* "$out/share/docs/angelscript"
|
||||||
'';
|
'';
|
||||||
meta = {
|
|
||||||
|
meta = with lib; {
|
||||||
inherit (s) version;
|
inherit (s) version;
|
||||||
description = "Light-weight scripting library";
|
description = "Light-weight scripting library";
|
||||||
license = lib.licenses.zlib ;
|
license = licenses.zlib;
|
||||||
maintainers = [lib.maintainers.raskin];
|
maintainers = with maintainers; [ raskin ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = platforms.all;
|
||||||
downloadPage = "http://www.angelcode.com/angelscript/downloads.html";
|
downloadPage = "https://www.angelcode.com/angelscript/downloads.html";
|
||||||
homepage="http://www.angelcode.com/angelscript/";
|
homepage = "https://www.angelcode.com/angelscript/";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, pkg-config
|
|
||||||
, bluez
|
, bluez
|
||||||
|
, libobjc
|
||||||
|
, Foundation
|
||||||
|
, IOBluetooth
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
@ -19,15 +21,18 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [ (lib.getDev bluez) ];
|
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ bluez ]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [ libobjc Foundation IOBluetooth ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DBUILD_EXAMPLE_SDL=NO" ];
|
propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ bluez ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DBUILD_EXAMPLE_SDL=OFF" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Feature complete cross-platform Wii Remote access library";
|
description = "Feature complete cross-platform Wii Remote access library";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
homepage = "https://github.com/wiiuse/wiiuse";
|
homepage = "https://github.com/wiiuse/wiiuse";
|
||||||
maintainers = with maintainers; [ shamilton ];
|
maintainers = with maintainers; [ shamilton ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -9,18 +9,19 @@
|
|||||||
, SDL2
|
, SDL2
|
||||||
, glew
|
, glew
|
||||||
, openal
|
, openal
|
||||||
|
, OpenAL
|
||||||
, libvorbis
|
, libvorbis
|
||||||
, libogg
|
, libogg
|
||||||
, curl
|
, curl
|
||||||
, freetype
|
, freetype
|
||||||
, bluez
|
|
||||||
, libjpeg
|
, libjpeg
|
||||||
, libpng
|
, libpng
|
||||||
, enet
|
|
||||||
, harfbuzz
|
, harfbuzz
|
||||||
, mcpp
|
, mcpp
|
||||||
, wiiuse
|
, wiiuse
|
||||||
, angelscript
|
, angelscript
|
||||||
|
, Cocoa
|
||||||
|
, IOKit
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
dir = "stk-code";
|
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 = ''
|
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 {}
|
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 ];
|
nativeBuildInputs = [ cmake pkg-config makeWrapper ];
|
||||||
@ -93,20 +98,19 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
SDL2
|
SDL2
|
||||||
glew
|
glew
|
||||||
openal
|
|
||||||
libvorbis
|
libvorbis
|
||||||
libogg
|
libogg
|
||||||
freetype
|
freetype
|
||||||
curl
|
curl
|
||||||
bluez
|
|
||||||
libjpeg
|
libjpeg
|
||||||
libpng
|
libpng
|
||||||
enet
|
|
||||||
harfbuzz
|
harfbuzz
|
||||||
mcpp
|
mcpp
|
||||||
wiiuse
|
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 = [
|
cmakeFlags = [
|
||||||
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
|
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
|
||||||
@ -117,9 +121,18 @@ stdenv.mkDerivation rec {
|
|||||||
"-DOpenGL_GL_PREFERENCE=GLVND"
|
"-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
|
# Obtain the assets directly from the fetched store path, to avoid duplicating assets across multiple engine builds
|
||||||
preFixup = ''
|
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; {
|
meta = with lib; {
|
||||||
@ -132,7 +145,7 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "https://supertuxkart.net/";
|
homepage = "https://supertuxkart.net/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ pyrolagus peterhoeg ];
|
maintainers = with maintainers; [ pyrolagus peterhoeg ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; unix;
|
||||||
changelog = "https://github.com/supertuxkart/stk-code/blob/${version}/CHANGELOG.md";
|
changelog = "https://github.com/supertuxkart/stk-code/blob/${version}/CHANGELOG.md";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -9682,7 +9682,10 @@ in
|
|||||||
|
|
||||||
whsniff = callPackage ../applications/networking/sniffers/whsniff { };
|
whsniff = callPackage ../applications/networking/sniffers/whsniff { };
|
||||||
|
|
||||||
wiiuse = callPackage ../development/libraries/wiiuse { };
|
wiiuse = callPackage ../development/libraries/wiiuse {
|
||||||
|
inherit (darwin) libobjc;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Foundation IOBluetooth;
|
||||||
|
};
|
||||||
|
|
||||||
woeusb = callPackage ../tools/misc/woeusb { };
|
woeusb = callPackage ../tools/misc/woeusb { };
|
||||||
|
|
||||||
@ -28503,7 +28506,9 @@ in
|
|||||||
|
|
||||||
superTux = callPackage ../games/supertux { };
|
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 { };
|
synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user