Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

games-roguelike/dwarf-fortress: add version 0.47.04, bugfix #17940

Closed
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions games-roguelike/dwarf-fortress/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
DIST df_44_12_linux.tar.bz2 12081683 BLAKE2B 2410e8da6af6a8ced45d3e95dc06e2d0f4e31dbdcd6b8d9945a761d2278532bb24c1095418aa22639eedded256b3d485fa128984e6282a491d4dc7bd9af8671b SHA512 03cd7f6800d44873b573cc5bffb12c7a246c3aba0ee8535001372df689a5179dc02592670fd87f2fd5de82421605f34152f6241307c8f7b9fb4d7b8704aed70c
DIST df_44_12_linux32.tar.bz2 12686340 BLAKE2B bf1e1370930d91d2c9e72d3366bc79706092d1505853eb63c6160fea39822551d3276958ac6d2916b8f7825be0c054a037219210f0c2c18a731065a2dd1bb842 SHA512 5cd352acf310592c7e30442205b7fe590f421c5e3562959dcfd32a17d3d562347c2b32e3bc5835637c5550ce2c696c17b6dc910ee4cf766be07af306e83537db
DIST df_47_04_linux.tar.bz2 12719630 BLAKE2B f32a94b0db66bbcf84ed8f278871992ed56c1d4da4d3f0f88124db3074335a7f6b2a4c065e6a562e899ac54d9a786341ec21097032e58ce962ab29a10ba3043f SHA512 65f6cd39187afbb7b60ba72d0caf23c39d95674615ab718ad55c25cad23c08e42c1b911cfde7015b05a280325504f3b931f2c7defb34ee2ee6b725101c536cea
DIST df_47_04_linux32.tar.bz2 13481027 BLAKE2B 30cc3a6c392a9336508bce75e47112c7086f5979006a3ffa56808a9b519aa738a31f811db2536a44cb9c66dc1f8880747f71ca797bd9323441adcae300b8d0b9 SHA512 d76286957ed3f1e677519c45b9644463e45c07c226ce3200f2db6a776396e77fc8aa3f5fdd697fdbde5efa49b7d0dce47b98dfe0a880b666e227ccb8b288a6c0
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6
EAPI=7
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In EAPI 7 BDEPEND should be split from DEPEND

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I add this: BDEPEND="virtual/pkgconfig" and remove "virtual/pkgconfig" from DEPEND.


inherit versionator toolchain-funcs
inherit toolchain-funcs

MY_PV=$(replace_all_version_separators _ "$(get_version_component_range 2-)")
MY_PN=df
MY_PV=$(ver_cut 2- $(ver_rs 2- '_'))
MY_PN="df"
MY_P=${MY_PN}_${MY_PV}

DESCRIPTION="A single-player fantasy game"
Expand All @@ -31,8 +31,8 @@ RDEPEND="media-libs/glew:0
DEPEND="${RDEPEND}
media-libs/libsndfile
media-libs/openal
sys-libs/ncurses-compat:5[unicode]
virtual/pkgconfig"
sys-libs/ncurses-compat:5[unicode]"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you haven't changed this but ncurses-compat in DEPEND doesn't make any sense. This package does not install any headers. I can see that the sources are hardcoded to load libncurses.so.5. This is really bad if you're building with the headers from libncurses.so.6. I can see that it falls back to libncurses.so but that's no use if it finds .so.5 first. The fact that it builds means it must be compatible with .so.6 so I guess you should patch renderer_curses.cpp accordingly. This whole thing is really horrible though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's see what I can find. In the worst case it looks like this:
https://i.imgur.com/Kx4NvI4.gif

BDEPEND="virtual/pkgconfig"

S=${WORKDIR}/${MY_PN}_linux

Expand All @@ -41,8 +41,11 @@ QA_PREBUILT="${gamesdir#/}/libs/Dwarf_Fortress"
RESTRICT="strip"

src_prepare() {
rm -f libs/*.so* || die
rm libs/*.so* || die
sed -i -e '1i#include <cmath>' g_src/ttf_manager.cpp || die

eapply "${FILESDIR}/${P}-segfault-fix-729002.patch"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eapply is generally frowned upon now. You should be able to use PATCHES instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. I remove this there.


default
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
diff --git a/g_src/enabler.cpp b/g_src/enabler.cpp
index c0cfda8..7db0142 100644
--- a/g_src/enabler.cpp
+++ b/g_src/enabler.cpp
@@ -590,6 +590,10 @@ int enablerst::loop(string cmdline) {

// Clean up graphical resources
delete renderer;
+
+ // FIX infinite loop
+ // https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+ return 0;
}

void enablerst::override_grid_size(int x, int y) {
diff --git a/g_src/music_and_sound_openal.cpp b/g_src/music_and_sound_openal.cpp
index 1ee0941..fa431f3 100644
--- a/g_src/music_and_sound_openal.cpp
+++ b/g_src/music_and_sound_openal.cpp
@@ -250,7 +250,11 @@ void musicsoundst::deinitsound() {
alDeleteBuffers(1, &buffer);
}
// Deinit OpenAL
- alcMakeContextCurrent(NULL);
+
+ // FIX infinite loop
+ // https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+ //alcMakeContextCurrent(NULL);
+
alcDestroyContext(context);
alcCloseDevice(device);

@@ -480,7 +484,9 @@ static bool init_openal() {

void alEnable( ALenum capability ) { _alEnable(capability); }
void alDisable( ALenum capability ) { _alDisable(capability); }
-ALboolean alIsEnabled( ALenum capability ) { _alIsEnabled(capability); }
+// FIX return statement
+// https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+ALboolean alIsEnabled( ALenum capability ) { return _alIsEnabled(capability); }
const ALchar* alGetString( ALenum param ) { return _alGetString(param); }
void alGetBooleanv( ALenum param, ALboolean* data ) { _alGetBooleanv(param, data); }
void alGetIntegerv( ALenum param, ALint* data ) { _alGetIntegerv(param, data); }
@@ -490,7 +496,9 @@ ALboolean alGetBoolean( ALenum param ) { return _alGetBoolean(param); }
ALint alGetInteger( ALenum param ) { return _alGetInteger(param); }
ALfloat alGetFloat( ALenum param ) { return _alGetFloat(param); }
ALdouble alGetDouble( ALenum param ) { return _alGetDouble(param); }
-ALenum alGetError( void ) { _alGetError(); }
+// FIX return statement
+// https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+ALenum alGetError( void ) { return _alGetError(); }
ALboolean alIsExtensionPresent( const ALchar* extname ) { return _alIsExtensionPresent(extname); }
void* alGetProcAddress( const ALchar* fname ) { return _alGetProcAddress(fname); }
ALenum alGetEnumValue( const ALchar* ename ) { return _alGetEnumValue(ename); }