summaryrefslogtreecommitdiff
path: root/games-roguelike/dwarf-fortress/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
commit2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch)
tree8c816148bcbd22757d892089c989ae614eae4f5a /games-roguelike/dwarf-fortress/files
parent0f558761aa2dee1017b4751e4017205e015a9560 (diff)
gentoo resync : 09.07.2022
Diffstat (limited to 'games-roguelike/dwarf-fortress/files')
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch8
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-ncurses6.patch22
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch38
3 files changed, 68 insertions, 0 deletions
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch
new file mode 100644
index 000000000000..a3028764afac
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch
@@ -0,0 +1,8 @@
+Fixes compilation due to missing <cmath> header required in this file.
+
+--- a/g_src/ttf_manager.cpp
++++ b/g_src/ttf_manager.cpp
+@@ -2,2 +2,3 @@
+ #include "init.h"
++#include <cmath>
+ #include <iostream>
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-ncurses6.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-ncurses6.patch
new file mode 100644
index 000000000000..dda54296d06f
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-ncurses6.patch
@@ -0,0 +1,22 @@
+Gentoo does not have ncurses5 headers anymore, and this fails with 6
+when using wattrset that it currently expects to be a macro.
+--- a/g_src/curses.h
++++ b/g_src/curses.h
+@@ -9,2 +9,5 @@
+ #else
++# ifndef NCURSES_WATTR_MACROS
++# define NCURSES_WATTR_MACROS 1
++# endif
+ # include <ncursesw/curses.h>
+--- a/g_src/renderer_curses.cpp
++++ b/g_src/renderer_curses.cpp
+@@ -296,3 +296,3 @@
+ // We prefer libncursesw, but we'll accept libncurses if we have to
+- handle = dlopen("libncursesw.so.5", RTLD_LAZY);
++ handle = dlopen("libncursesw.so.6", RTLD_LAZY);
+ if (handle) goto opened;
+@@ -304,3 +304,3 @@
+ if (handle) goto opened;
+- handle = dlopen("libncurses.so.5", RTLD_LAZY);
++ handle = dlopen("libncurses.so.6", RTLD_LAZY);
+ if (handle) goto opened;
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch
new file mode 100644
index 000000000000..24c43be41188
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch
@@ -0,0 +1,38 @@
+Fixes segfault / infinite loop with OpenAL and anything higher
+than -O1 mostly due to missing return values.
+
+https://bugs.gentoo.org/703384
+https://bugs.gentoo.org/703386
+https://bugs.gentoo.org/729002
+https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+--- a/g_src/enabler.cpp
++++ b/g_src/enabler.cpp
+@@ -591,4 +591,6 @@
+ // Clean up graphical resources
+ delete renderer;
++
++ return 0;
+ }
+
+--- a/g_src/music_and_sound_openal.cpp
++++ b/g_src/music_and_sound_openal.cpp
+@@ -251,5 +251,4 @@
+ }
+ // Deinit OpenAL
+- alcMakeContextCurrent(NULL);
+ alcDestroyContext(context);
+ alcCloseDevice(device);
+@@ -481,5 +480,5 @@
+ void alEnable( ALenum capability ) { _alEnable(capability); }
+ void alDisable( ALenum capability ) { _alDisable(capability); }
+-ALboolean alIsEnabled( ALenum capability ) { _alIsEnabled(capability); }
++ALboolean alIsEnabled( ALenum capability ) { return _alIsEnabled(capability); }
+ const ALchar* alGetString( ALenum param ) { return _alGetString(param); }
+ void alGetBooleanv( ALenum param, ALboolean* data ) { _alGetBooleanv(param, data); }
+@@ -491,5 +490,5 @@
+ ALfloat alGetFloat( ALenum param ) { return _alGetFloat(param); }
+ ALdouble alGetDouble( ALenum param ) { return _alGetDouble(param); }
+-ALenum alGetError( void ) { _alGetError(); }
++ALenum alGetError( void ) { return _alGetError(); }
+ ALboolean alIsExtensionPresent( const ALchar* extname ) { return _alIsExtensionPresent(extname); }
+ void* alGetProcAddress( const ALchar* fname ) { return _alGetProcAddress(fname); }