Skip to content

Commit

Permalink
games-roguelike/dwarf-fortress: fix text mode, use ncurses-6
Browse files Browse the repository at this point in the history
ncurses-compat doesn't work in DEPEND given it installs no headers,
and then it went and built against ncurses-6 then tried to load
ncurses-5 which unsurprisingly fails.

Seems to work with 6, but haven't tested much (better than entirely
broken either way).

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
  • Loading branch information
ionenwks committed Jul 6, 2022
1 parent 3144840 commit 076b3ec
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
5 changes: 3 additions & 2 deletions games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
Expand Up @@ -36,13 +36,14 @@ DEPEND="
${RDEPEND}
media-libs/libsndfile
media-libs/openal
sys-libs/ncurses-compat:5[unicode]"
sys-libs/ncurses"
BDEPEND="virtual/pkgconfig"

QA_PREBUILT="opt/${PN}/libs/Dwarf_Fortress"

PATCHES=(
"${FILESDIR}"/${P}-missing-cmath.patch
"${FILESDIR}"/${P}-ncurses6.patch
"${FILESDIR}"/${P}-segfault-fixes.patch
)

Expand Down Expand Up @@ -87,6 +88,6 @@ src_install() {
pkg_postinst() {
readme.gentoo_print_elog

optfeature "text PRINT_MODE" sys-libs/ncurses-compat:5[unicode]
optfeature "text PRINT_MODE" sys-libs/ncurses
optfeature "audio output" "media-libs/openal media-libs/libsndfile[-minimal]"
}
@@ -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;

0 comments on commit 076b3ec

Please sign in to comment.