From 6405edf2dca7f6faaa29266136dfa7f8f969b511 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Wed, 20 May 2020 20:25:36 +0300 Subject: [PATCH] tes3mp: fix working (#88061) --- pkgs/games/openmw/tes3mp.nix | 6 ++++++ pkgs/games/openmw/tes3mp.patch | 13 +++++++++++++ pkgs/top-level/all-packages.nix | 8 +------- 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 pkgs/games/openmw/tes3mp.patch diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix index 222aa68dba2..59bdc690107 100644 --- a/pkgs/games/openmw/tes3mp.nix +++ b/pkgs/games/openmw/tes3mp.nix @@ -50,6 +50,12 @@ in openmw.overrideAttrs (oldAttrs: rec { "-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a" ]; + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95175 + patches = [ + ./tes3mp.patch + ]; + NIX_CFLAGS_COMPILE = "-fpermissive"; + preConfigure = '' substituteInPlace files/version.in \ --subst-var-by OPENMW_VERSION_COMMITHASH ${compatHash} diff --git a/pkgs/games/openmw/tes3mp.patch b/pkgs/games/openmw/tes3mp.patch new file mode 100644 index 00000000000..c2a78f9db9b --- /dev/null +++ b/pkgs/games/openmw/tes3mp.patch @@ -0,0 +1,13 @@ +diff --git a/apps/openmw-mp/Script/Types.hpp b/apps/openmw-mp/Script/Types.hpp +index be365cfb8..204dcdc7b 100644 +--- a/apps/openmw-mp/Script/Types.hpp ++++ b/apps/openmw-mp/Script/Types.hpp +@@ -105,7 +105,7 @@ struct ScriptFunctionPointer : public ScriptIdentity + void *addr; + #if (!defined(__clang__) && defined(__GNUC__)) + template +- constexpr ScriptFunctionPointer(Function addr) : ScriptIdentity(addr), addr((void*)(addr)) {} ++ constexpr ScriptFunctionPointer(Function addr) : ScriptIdentity(addr), addr(addr) {} + #else + template + constexpr ScriptFunctionPointer(Function addr) : ScriptIdentity(addr), addr(addr) {} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8dd523caf4..c60a8d72dd7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23764,13 +23764,7 @@ in openmw = libsForQt5.callPackage ../games/openmw { }; - openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { - openmw = openmw.override { - stdenv = gcc8Stdenv; - openscenegraph = openscenegraph.override { stdenv = gcc8Stdenv; }; - mygui = mygui.override { stdenv = gcc8Stdenv; }; - }; - }; + openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { }; openraPackages = import ../games/openra pkgs;