Commit 68354795 authored by OPNA2608's avatar OPNA2608
Browse files

openxray: Remove multiplayer option, fix license URL

Multiplayer code was never ported to Linux and crashes even with the vendored cryptopp.
Upstream suggested that we should just remove it.
parent 4cd95597
Loading
Loading
Loading
Loading
+3 −44
Original line number Diff line number Diff line
@@ -13,10 +13,10 @@
, libogg
, pcre
, makeWrapper
, enableMultiplayer ? false # Requires old, insecure Crypto++ version
}:

let
stdenv.mkDerivation rec {
  pname = "openxray";
  version = "1144-december-2021-rc1";

  src = fetchFromGitHub {
@@ -27,39 +27,6 @@ let
    sha256 = "07qj1lpp21g4p583gvz5h66y2q71ymbsz4g5nr6dcys0vm7ph88v";
  };

  # https://github.com/OpenXRay/xray-16/issues/518
  ancientCryptopp = stdenv.mkDerivation {
    pname = "cryptopp";
    version = "5.6.5";

    inherit src;

    sourceRoot = "source/Externals/cryptopp";

    installFlags = [ "PREFIX=${placeholder "out"}" ];

    enableParallelBuilding = true;

    doCheck = true;

    dontStrip = true;

    meta = with lib; {
      description = "Crypto++, a free C++ class library of cryptographic schemes";
      homepage = "https://cryptopp.com/";
      license = with licenses; [ boost publicDomain ];
      platforms = platforms.all;
      knownVulnerabilities = [
        "CVE-2019-14318"
      ];
    };
  };
in
stdenv.mkDerivation rec {
  pname = "openxray";

  inherit version src;

  nativeBuildInputs = [
    cmake
    makeWrapper
@@ -76,20 +43,12 @@ stdenv.mkDerivation rec {
    libjpeg
    libogg
    pcre
  ] ++ lib.optionals enableMultiplayer [
    ancientCryptopp
  ];

  # Crashes can happen, we'd like them to be reasonably debuggable
  cmakeBuildType = "RelWithDebInfo";
  dontStrip = true;

  cmakeFlags = [
    "-DUSE_CRYPTOPP=${if enableMultiplayer then "ON" else "OFF"}"
  ] ++ lib.optionals enableMultiplayer [
    "-DCMAKE_INCLUDE_PATH=${ancientCryptopp}/include/cryptopp"
  ];

  postInstall = ''
    # needed because of SDL_LoadObject library loading code
    wrapProgram $out/bin/xr_3da \
@@ -101,7 +60,7 @@ stdenv.mkDerivation rec {
    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";
    homepage = "https://github.com/OpenXRay/xray-16/";
    license = licenses.unfree // {
      url = "https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt";
      url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt";
    };
    maintainers = with maintainers; [ OPNA2608 ];
    platforms = [ "x86_64-linux" "i686-linux" ];