openxray: Enable on Darwin

This commit is contained in:
OPNA2608 2023-08-25 18:58:21 +02:00 committed by OPNA2608
parent 1fb2556e99
commit 60c8b2e233
2 changed files with 17 additions and 5 deletions

View file

@ -51,10 +51,18 @@ stdenv.mkDerivation (finalAttrs: {
cmakeBuildType = "RelWithDebInfo"; cmakeBuildType = "RelWithDebInfo";
dontStrip = true; dontStrip = true;
makeWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
# Needed because of dlopen module loading code
"--prefix LD_LIBRARY_PATH : $out/lib"
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# Because we work around https://github.com/OpenXRay/xray-16/issues/1224 by using GCC,
# we need a followup workaround for Darwin locale stuff when using GCC:
# runtime error: locale::facet::_S_create_c_locale name not valid
"--run 'export LC_ALL=C'"
];
postInstall = '' postInstall = ''
# needed because of SDL_LoadObject library loading code wrapProgram $out/bin/xr_3da ${toString finalAttrs.makeWrapperArgs}
wrapProgram $out/bin/xr_3da \
--prefix LD_LIBRARY_PATH : $out/lib
''; '';
meta = with lib; { meta = with lib; {
@ -65,6 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt"; url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt";
}; };
maintainers = with maintainers; [ OPNA2608 ]; maintainers = with maintainers; [ OPNA2608 ];
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
}; };
}) })

View file

@ -38074,7 +38074,11 @@ with pkgs;
openxcom = callPackage ../games/openxcom { SDL = SDL_compat; }; openxcom = callPackage ../games/openxcom { SDL = SDL_compat; };
openxray = callPackage ../games/openxray { }; openxray = callPackage ../games/openxray {
# Builds with Clang, but hits an assertion failure unless GCC is used
# https://github.com/OpenXRay/xray-16/issues/1224
stdenv = gccStdenv;
};
orthorobot = callPackage ../games/orthorobot { love = love_0_10; }; orthorobot = callPackage ../games/orthorobot { love = love_0_10; };