diff options
Diffstat (limited to 'pkgs/games/openmw')
-rw-r--r-- | pkgs/games/openmw/tes3mp.nix | 6 | ||||
-rw-r--r-- | pkgs/games/openmw/tes3mp.patch | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix index 222aa68dba24..59bdc6901078 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 000000000000..c2a78f9db9b0 --- /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<typename R, typename... Types> +- constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr((void*)(addr)) {} ++ constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr(addr) {} + #else + template<typename R, typename... Types> + constexpr ScriptFunctionPointer(Function<R, Types...> addr) : ScriptIdentity(addr), addr(addr) {} |