Skip to content

Commit

Permalink
openxray: Enable on Darwin
Browse files Browse the repository at this point in the history
  • Loading branch information
OPNA2608 committed Jan 14, 2024
1 parent 1fb2556 commit 60c8b2e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
16 changes: 12 additions & 4 deletions pkgs/games/openxray/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,18 @@ stdenv.mkDerivation (finalAttrs: {
cmakeBuildType = "RelWithDebInfo";
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 = ''
# needed because of SDL_LoadObject library loading code
wrapProgram $out/bin/xr_3da \
--prefix LD_LIBRARY_PATH : $out/lib
wrapProgram $out/bin/xr_3da ${toString finalAttrs.makeWrapperArgs}
'';

meta = with lib; {
Expand All @@ -65,6 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt";
};
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" ];
};
})
6 changes: 5 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38074,7 +38074,11 @@ with pkgs;

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; };

Expand Down

0 comments on commit 60c8b2e

Please sign in to comment.