pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / openxray / default.nix
blob8bcedac52ad35d663625fe63ca9006e68b4e61bb
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , gitUpdater
5 , cmake
6 , glew
7 , liblockfile
8 , openal
9 , libtheora
10 , SDL2
11 , lzo
12 , libjpeg
13 , libogg
14 , pcre
15 , makeWrapper
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "openxray";
20   version = "2188-november-2023-rc1";
22   src = fetchFromGitHub {
23     owner = "OpenXRay";
24     repo = "xray-16";
25     rev = finalAttrs.version;
26     fetchSubmodules = true;
27     hash = "sha256-rRxw/uThACmT2qI8NUwJU+WbJ3BWUss6CH13R5aaHco=";
28   };
30   strictDeps = true;
32   nativeBuildInputs = [
33     cmake
34     makeWrapper
35   ];
37   buildInputs = [
38     glew
39     liblockfile
40     openal
41     libtheora
42     SDL2
43     lzo
44     libjpeg
45     libogg
46     pcre
47   ];
49   # Crashes can happen, we'd like them to be reasonably debuggable
50   cmakeBuildType = "RelWithDebInfo";
51   dontStrip = true;
53   # Because we work around https://github.com/OpenXRay/xray-16/issues/1224 by using GCC,
54   # we need a followup workaround for Darwin locale stuff when using GCC:
55   # runtime error: locale::facet::_S_create_c_locale name not valid
56   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
57     wrapProgram $out/bin/xr_3da \
58       --run 'export LC_ALL=C'
59   '';
61   # dlopens its own libraries, relies on rpath not having its prefix stripped
62   dontPatchELF = true;
64   passthru.updateScript = gitUpdater { };
66   meta = with lib; {
67     mainProgram = "xr_3da";
68     description = "Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World";
69     homepage = "https://github.com/OpenXRay/xray-16/";
70     license = licenses.unfree // {
71       url = "https://github.com/OpenXRay/xray-16/blob/${finalAttrs.version}/License.txt";
72     };
73     maintainers = with maintainers; [ OPNA2608 ];
74     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
75   };