* [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/
@ 2019-11-30 9:58 James Le Cuirot
0 siblings, 0 replies; 5+ messages in thread
From: James Le Cuirot @ 2019-11-30 9:58 UTC (permalink / raw
To: gentoo-commits
commit: 5ad447d42315fbe68d6bea0cd4b798b2a482b073
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 30 09:57:53 2019 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 09:57:53 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ad447d4
games-roguelike/dwarf-fortress: Drop old 0.43.05
Package-Manager: Portage-2.3.80, Repoman-2.3.17
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
games-roguelike/dwarf-fortress/Manifest | 2 -
.../dwarf-fortress/dwarf-fortress-0.43.05.ebuild | 84 ----------------------
games-roguelike/dwarf-fortress/files/Makefile | 32 ---------
3 files changed, 118 deletions(-)
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
index 00459266327..c42a144cfc7 100644
--- a/games-roguelike/dwarf-fortress/Manifest
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -1,4 +1,2 @@
-DIST df_43_05_linux.tar.bz2 11580594 BLAKE2B 7157f8ed5f8798a533d992811c804515acc8abb3bb84b25af6905fd6b2338e95879e318bec0dade18f1eba1421d17a781d1da8b49c719988d2cb6d7046b0c3be SHA512 502e6bac0bdd5586fb6b4e1117caf144a0336a7eed3ed9350ec316e4a286e309a15e0738517c0dd7d32f182984c501c7a8756e942d3dde9fb87f72b153f38e7a
-DIST df_43_05_linux32.tar.bz2 12158550 BLAKE2B 4c1f5ad834aa0a2b6438b8aaf0b0ad6cfc60656f58845a274ac3d8ad7e09182d7263e3a495d1bff0b1fb5499097569216fac0bc87cff95fc6a85e3211acc297d SHA512 d0446ddb5c37ee45ade36b18b815595e8d7bfd9749af4ecd2f25b45859d797a9da70f2344e2c58544feafc7df06882ade8a10534c37754359747c0d37f084b7c
DIST df_44_12_linux.tar.bz2 12081683 BLAKE2B 2410e8da6af6a8ced45d3e95dc06e2d0f4e31dbdcd6b8d9945a761d2278532bb24c1095418aa22639eedded256b3d485fa128984e6282a491d4dc7bd9af8671b SHA512 03cd7f6800d44873b573cc5bffb12c7a246c3aba0ee8535001372df689a5179dc02592670fd87f2fd5de82421605f34152f6241307c8f7b9fb4d7b8704aed70c
DIST df_44_12_linux32.tar.bz2 12686340 BLAKE2B bf1e1370930d91d2c9e72d3366bc79706092d1505853eb63c6160fea39822551d3276958ac6d2916b8f7825be0c054a037219210f0c2c18a731065a2dd1bb842 SHA512 5cd352acf310592c7e30442205b7fe590f421c5e3562959dcfd32a17d3d562347c2b32e3bc5835637c5550ce2c696c17b6dc910ee4cf766be07af306e83537db
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
deleted file mode 100644
index 1407c994dea..00000000000
--- a/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator toolchain-funcs
-
-MY_PV=$(replace_all_version_separators _ "$(get_version_component_range 2-)")
-MY_PN=df
-MY_P=${MY_PN}_${MY_PV}
-
-DESCRIPTION="A single-player fantasy game"
-HOMEPAGE="http://www.bay12games.com/dwarves"
-SRC_URI="amd64? ( http://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2 )
- x86? ( http://www.bay12games.com/dwarves/${MY_P}_linux32.tar.bz2 )"
-
-LICENSE="free-noncomm BSD BitstreamVera"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE="debug"
-
-RDEPEND="media-libs/glew:0
- media-libs/libsdl[joystick,video]
- media-libs/sdl-image[png]
- media-libs/sdl-ttf
- sys-libs/zlib
- virtual/glu
- x11-libs/gtk+:2"
-# Yup, libsndfile, openal and ncurses are only needed at compile-time; the code
-# dlopens them at runtime if requested.
-DEPEND="${RDEPEND}
- media-libs/libsndfile
- media-libs/openal
- sys-libs/ncurses-compat:5[unicode]
- virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_PN}_linux
-
-gamesdir="/opt/${PN}"
-QA_PREBUILT="${gamesdir#/}/libs/Dwarf_Fortress"
-RESTRICT="strip"
-
-src_prepare() {
- rm -f libs/*.so* || die
- sed -i -e '1i#include <cmath>' g_src/ttf_manager.cpp || die
- default
-}
-
-src_configure() {
- tc-export CXX PKG_CONFIG
- CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
-}
-
-src_compile() {
- emake -f "${FILESDIR}/Makefile.native"
- sed -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" "${FILESDIR}/dwarf-fortress" > dwarf-fortress || die
-}
-
-src_install() {
- # install data-files and libs
- insinto "${gamesdir}"
- doins -r raw data libs
-
- # install our wrapper
- dobin dwarf-fortress
-
- # install docs
- dodoc README.linux *.txt
-
- fperms 755 "${gamesdir}"/libs/Dwarf_Fortress
-}
-
-pkg_postinst() {
- elog "System-wide Dwarf Fortress has been installed to ${gamesdir}. This is"
- elog "symlinked to ~/.dwarf-fortress when dwarf-fortress is run."
- elog "For more information on what exactly is replaced, see /usr/bin/dwarf-fortress."
- elog "Note: This means that the primary entry point is /usr/bin/dwarf-fortress."
- elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
- elog
- elog "Optional runtime dependencies:"
- elog "Install sys-libs/ncurses[unicode] for [PRINT_MODE:TEXT]"
- elog "Install media-libs/openal and media-libs/libsndfile for audio output"
- elog "Install media-libs/libsdl[opengl] for the OpenGL PRINT_MODE settings"
-}
diff --git a/games-roguelike/dwarf-fortress/files/Makefile b/games-roguelike/dwarf-fortress/files/Makefile
deleted file mode 100644
index 856670b6a67..00000000000
--- a/games-roguelike/dwarf-fortress/files/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2014-2016 Alex Xu (Hello71)
-# Distributed under the terms of the GNU General Public License v2
-
-PKG_CONFIG ?= pkg-config
-PKG_CONFIG_PATH ?= /usr/lib32/pkgconfig:/usr/lib/pkgconfig
-PKG_CONFIG := PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG)
-
-SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
- g_src/files.cpp g_src/find_files_posix.cpp g_src/graphics.cpp \
- g_src/init.cpp g_src/interface.cpp g_src/keybindings.cpp \
- g_src/music_and_sound_openal.cpp g_src/random.cpp g_src/textlines.cpp \
- g_src/enabler_input.cpp g_src/KeybindingScreen.cpp \
- g_src/win32_compat.cpp g_src/textures.cpp g_src/resize++.cpp \
- g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp g_src/ViewBase.cpp
-OBJS := $(SRCS:.cpp=.o)
-
-BLIBS := ncursesw openal sndfile
-LIBS := glew glu gtk+-2.0 sdl SDL_image SDL_ttf zlib
-CXXFLAGS ?= -O2 -pipe -Wall -Wextra
-CXXFLAGS += -m32 $(shell $(PKG_CONFIG) --cflags $(BLIBS) $(LIBS)) -Dunix -Dlinux -fPIC -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0
-LDLIBS := $(shell $(PKG_CONFIG) --libs $(LIBS))
-
-LG := libs/libgraphics.so
-
-all: $(LG)
-$(LG): $(OBJS)
- $(LINK.cpp) -shared $^ $(LDLIBS) -o $@
-
-clean:
- $(RM) $(LG) $(OBJS)
-
-.PHONY: clean
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/
@ 2022-07-06 8:39 Ionen Wolkens
0 siblings, 0 replies; 5+ messages in thread
From: Ionen Wolkens @ 2022-07-06 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 3144840d8387b9c7f8b60c6381ad9c0060878296
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 6 06:27:56 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 6 08:37:54 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3144840d
games-roguelike/dwarf-fortress: misc ebuild adjustments
No fundamental changes, but some extras for the accumulated PR:
- adjust patches (scrubbed, fixed some malformation wrt missing files
headers and a blank line, and included right line terminators so
sed/dos2unix isn't needed)
- added basic icon for .desktop
- remove duplicate pkgconfig DEPEND (only needed in BDEPEND)
- add missing quotes for dobin's FILESDIR
- use prefixify_ro, failed to hprefixify as it did not exist in WORKDIR
- move DOC_CONTENTS to src_install and respect variable scope
- add libglvnd[X] and glib:2 to RDEPEND (injected by pkg-config)
- make libsdl[opengl] unconditional, don't see much worth as optfeature
given currently need GL libraries either way
(could argue audio may well be unconditional too, but left alone)
- add [-minimal] to libsndfile optfeature or it gives confusing
"not found" errors
- further misc style adjustments
Thanks to everyone that worked on this.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
games-roguelike/dwarf-fortress/Manifest | 1 +
.../dwarf-fortress/dwarf-fortress-0.47.05.ebuild | 95 ++++++++++------------
... => dwarf-fortress-0.47.05-missing-cmath.patch} | 11 +--
...=> dwarf-fortress-0.47.05-segfault-fixes.patch} | 65 ++++++---------
4 files changed, 77 insertions(+), 95 deletions(-)
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
index 8b96ead81a7a..84e82c2074f3 100644
--- a/games-roguelike/dwarf-fortress/Manifest
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -1,2 +1,3 @@
DIST df_47_05_linux.tar.bz2 12725420 BLAKE2B 80987f05de2db2796a53cc8767ee7aa5c78674dff725efc0dafe07dc4118e56c7814cbf92507fe9b76a385e182405c7d6759cb6bcc942385110df1dc1a3b3af4 SHA512 9ea46fa12a80266cd09363f1aea8cdd059a5ebeefb453c4a46ffbb1115486409003c3caca95a1b6010da4040d04b781182c59e57a6cc033cd7de4507299f7534
DIST df_47_05_linux32.tar.bz2 13487455 BLAKE2B be604dd2fd480c5609da801013dfdae26964760c0a92c4b3d2d8369800eee7ca9c1b1c2313cc67357feee3c6d425bf7f9f67cab53d2e771ab59055bc4c3329d0 SHA512 e9b9cf6995c24b403347159a35cfe4b57603bdb777c78639beb2799d9bf31317edec54fb92b17dbb90df6001b905d43285a35e9446768d12a746492b2fd34fe7
+DIST dwarf-fortress.png 271 BLAKE2B cbc14917de1556b25d3817298215beedc4cb01075b8454e38b2d314bdf22f8c20c4bf2332f0d731c7e4c6d6a60056361565221ce3db2c7a15fdf934bff01df54 SHA512 08bdc0e084f861b6e6a8b12e3bc93b9703f2a4cbc133d62d1c2931daf81ccd70b728853d5c05bed19a1ef477cf4ad10fce263bbab7d9cad3b60658f17063acf6
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
index 8df73a95939f..e94ca7db6dd6 100644
--- a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
@@ -3,95 +3,90 @@
EAPI=8
-inherit prefix optfeature toolchain-funcs desktop readme.gentoo-r1
+inherit desktop flag-o-matic optfeature prefix readme.gentoo-r1 toolchain-funcs
-MY_PV=$(ver_rs 1- _ "$(ver_cut 2-)")
-MY_P=df_${MY_PV}
+MY_P="df_$(ver_rs 1- _ $(ver_cut 2-))"
-DESCRIPTION="A single-player fantasy game"
-HOMEPAGE="https://www.bay12games.com/dwarves"
-SRC_URI="amd64? ( https://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2 )
- x86? ( https://www.bay12games.com/dwarves/${MY_P}_linux32.tar.bz2 )"
-S="${WORKDIR}"/df_linux
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-cmath.patch"
- "${FILESDIR}/${P}-segfault-fix-729002.patch"
-)
+DESCRIPTION="Single-player fantasy game"
+HOMEPAGE="https://www.bay12games.com/dwarves/"
+SRC_URI="
+ amd64? ( https://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2 )
+ x86? ( https://www.bay12games.com/dwarves/${MY_P}_linux32.tar.bz2 )
+ https://dev.gentoo.org/~ionen/distfiles/${PN}.png"
+S="${WORKDIR}/df_linux"
LICENSE="free-noncomm BSD BitstreamVera"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="debug"
-RDEPEND="media-libs/glew:0=
- media-libs/libsdl[joystick,video]
+RDEPEND="
+ dev-libs/glib:2
+ media-libs/glew:0=
+ media-libs/libglvnd[X]
+ media-libs/libsdl[joystick,opengl,video]
media-libs/sdl-image[png]
media-libs/sdl-ttf
sys-libs/zlib:=
virtual/glu
x11-libs/gtk+:2"
-# Yup, libsndfile, openal and ncurses are only needed at compile-time; the code
-# dlopens them at runtime if requested.
-DEPEND="${RDEPEND}
+# libsndfile, openal and ncurses are only needed at compile-time,
+# optfeature through dlopen() at runtime if requested
+DEPEND="
+ ${RDEPEND}
media-libs/libsndfile
media-libs/openal
- sys-libs/ncurses-compat:5[unicode]
- virtual/pkgconfig"
+ sys-libs/ncurses-compat:5[unicode]"
BDEPEND="virtual/pkgconfig"
-QA_PREBUILT="/opt/${PN}/libs/Dwarf_Fortress"
+QA_PREBUILT="opt/${PN}/libs/Dwarf_Fortress"
-DOC_CONTENTS="Dwarf Fortress has been installed to /opt/${PN}. This is
- symlinked to ~/.dwarf-fortress when dwarf-fortress is run.
- For more information on what exactly is replaced, see ${EROOT}/usr/bin/dwarf-fortress.
- Note: This means that the primary entry point is ${EROOT}/usr/bin/dwarf-fortress.
- Do not run /opt/${PN}/libs/Dwarf_Fortress."
+PATCHES=(
+ "${FILESDIR}"/${P}-missing-cmath.patch
+ "${FILESDIR}"/${P}-segfault-fixes.patch
+)
src_prepare() {
- # fix line endings so the patches can apply properly
- sed -i \
- -e 's/\r$//' \
- g_src/ttf_manager.cpp \
- g_src/music_and_sound_openal.cpp \
- || die
-
default
- # dwarf fortress includes prebuilt libraries such as libstdc++ we won't use
- rm -f libs/*.so* || die
-}
-
-src_configure() {
- hprefixify "${WORKDIR}/dwarf-fortress"
-
- CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
+ # remove prebuilt libraries that are provided by the system
+ rm libs/*.so* || die
}
src_compile() {
tc-export CXX PKG_CONFIG
- emake -f "${FILESDIR}/Makefile.native"
+ # -DDEBUG is recognized to give additional debug output
+ append-cppflags -D$(usev !debug N)DEBUG
+
+ emake -f "${FILESDIR}"/Makefile.native
}
src_install() {
insinto /opt/${PN}
- doins -r raw data libs
+ doins -r data libs raw
- dobin ${FILESDIR}/dwarf-fortress
+ fperms +x /opt/${PN}/libs/Dwarf_Fortress
- readme.gentoo_create_doc
- dodoc README.linux *.txt
+ dobin "$(prefixify_ro "${FILESDIR}"/dwarf-fortress)"
- fperms 755 /opt/${PN}/libs/Dwarf_Fortress
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry dwarf-fortress "Dwarf Fortress"
- make_desktop_entry dwarf-fortress "Dwarf Fortress" "dwarf-fortress" Game
+ dodoc README.linux *.txt
+
+ local DOC_CONTENTS="
+ Dwarf Fortress has been installed to ${EPREFIX}/opt/${PN}. This is
+ symlinked to ~/.${PN} when ${PN} is run. For more information on what
+ exactly is replaced, see ${EPREFIX}/usr/bin/${PN}. Note: This means
+ that the primary entry point is ${EPREFIX}/usr/bin/${PN}, do not run
+ ${EPREFIX}/opt/${PN}/libs/Dwarf_Fortress."
+ readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
optfeature "text PRINT_MODE" sys-libs/ncurses-compat:5[unicode]
- optfeature "audio output" "media-libs/openal media-libs/libsndfile"
- optfeature "OpenGL PRINT_MODE" media-libs/libsdl[opengl]
+ optfeature "audio output" "media-libs/openal media-libs/libsndfile[-minimal]"
}
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch
similarity index 50%
rename from games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch
rename to games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch
index 21017f6b41b1..a3028764afac 100644
--- a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-missing-cmath.patch
@@ -1,11 +1,8 @@
Fixes compilation due to missing <cmath> header required in this file.
-diff --git a/g_src/ttf_manager.cpp b/g_src/ttf_manager.cpp
-@@ -1,6 +1,7 @@
- #include "ttf_manager.hpp"
+--- a/g_src/ttf_manager.cpp
++++ b/g_src/ttf_manager.cpp
+@@ -2,2 +2,3 @@
#include "init.h"
- #include <iostream>
+#include <cmath>
-
- using namespace std;
-
+ #include <iostream>
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch
similarity index 54%
rename from games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch
rename to games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch
index 0f0a9a672874..24c43be41188 100644
--- a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fixes.patch
@@ -1,49 +1,38 @@
-Fixes a bug due to OpenAL soft crashing the game on startup: https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
-Fixes a bug regarding an infinite loop on anything higher than -O1: https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+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
-
-diff --git a/g_src/enabler.cpp b/g_src/enabler.cpp
+https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
--- a/g_src/enabler.cpp
+++ b/g_src/enabler.cpp
-@@ -590,6 +590,10 @@ int enablerst::loop(string cmdline) {
-
+@@ -591,4 +591,6 @@
// Clean up graphical resources
delete renderer;
+
+ 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
+
--- 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);
-+
-+ //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); }
-+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(); }
-+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); }
+@@ -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); }
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/
@ 2022-07-06 8:39 Ionen Wolkens
0 siblings, 0 replies; 5+ messages in thread
From: Ionen Wolkens @ 2022-07-06 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 97a24df3591ca7bebd0fcd189e1da5f16240715c
Author: Joshua Goins <josh <AT> redstrate <DOT> com>
AuthorDate: Tue Jun 28 23:57:28 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 6 08:37:53 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97a24df3
games-roguelike/dwarf-fortress: add 0.47.05
Signed-off-by: Joshua Goins <josh <AT> redstrate.com>
Co-authored-by: Sven Eusewig <sveneusewig <AT> yahoo.de>
Co-authored-by: Wolfgang E. Sanyer <ezzieyguywuf <AT> gmail.com>
Closes: https://bugs.gentoo.org/703384
Closes: https://bugs.gentoo.org/703386
Closes: https://bugs.gentoo.org/717752
Closes: https://bugs.gentoo.org/729002
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
games-roguelike/dwarf-fortress/Manifest | 2 +
.../dwarf-fortress/dwarf-fortress-0.47.05.ebuild | 97 ++++++++++++++++++++++
.../files/dwarf-fortress-0.47.05-fix-cmath.patch | 11 +++
...warf-fortress-0.47.05-segfault-fix-729002.patch | 49 +++++++++++
4 files changed, 159 insertions(+)
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
index c42a144cfc72..f7f5a8d0f1fa 100644
--- a/games-roguelike/dwarf-fortress/Manifest
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -1,2 +1,4 @@
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_05_linux.tar.bz2 12725420 BLAKE2B 80987f05de2db2796a53cc8767ee7aa5c78674dff725efc0dafe07dc4118e56c7814cbf92507fe9b76a385e182405c7d6759cb6bcc942385110df1dc1a3b3af4 SHA512 9ea46fa12a80266cd09363f1aea8cdd059a5ebeefb453c4a46ffbb1115486409003c3caca95a1b6010da4040d04b781182c59e57a6cc033cd7de4507299f7534
+DIST df_47_05_linux32.tar.bz2 13487455 BLAKE2B be604dd2fd480c5609da801013dfdae26964760c0a92c4b3d2d8369800eee7ca9c1b1c2313cc67357feee3c6d425bf7f9f67cab53d2e771ab59055bc4c3329d0 SHA512 e9b9cf6995c24b403347159a35cfe4b57603bdb777c78639beb2799d9bf31317edec54fb92b17dbb90df6001b905d43285a35e9446768d12a746492b2fd34fe7
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
new file mode 100644
index 000000000000..8df73a95939f
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit prefix optfeature toolchain-funcs desktop readme.gentoo-r1
+
+MY_PV=$(ver_rs 1- _ "$(ver_cut 2-)")
+MY_P=df_${MY_PV}
+
+DESCRIPTION="A single-player fantasy game"
+HOMEPAGE="https://www.bay12games.com/dwarves"
+SRC_URI="amd64? ( https://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2 )
+ x86? ( https://www.bay12games.com/dwarves/${MY_P}_linux32.tar.bz2 )"
+S="${WORKDIR}"/df_linux
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-cmath.patch"
+ "${FILESDIR}/${P}-segfault-fix-729002.patch"
+)
+
+LICENSE="free-noncomm BSD BitstreamVera"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="media-libs/glew:0=
+ media-libs/libsdl[joystick,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-ttf
+ sys-libs/zlib:=
+ virtual/glu
+ x11-libs/gtk+:2"
+# Yup, libsndfile, openal and ncurses are only needed at compile-time; the code
+# dlopens them at runtime if requested.
+DEPEND="${RDEPEND}
+ media-libs/libsndfile
+ media-libs/openal
+ sys-libs/ncurses-compat:5[unicode]
+ virtual/pkgconfig"
+BDEPEND="virtual/pkgconfig"
+
+QA_PREBUILT="/opt/${PN}/libs/Dwarf_Fortress"
+
+DOC_CONTENTS="Dwarf Fortress has been installed to /opt/${PN}. This is
+ symlinked to ~/.dwarf-fortress when dwarf-fortress is run.
+ For more information on what exactly is replaced, see ${EROOT}/usr/bin/dwarf-fortress.
+ Note: This means that the primary entry point is ${EROOT}/usr/bin/dwarf-fortress.
+ Do not run /opt/${PN}/libs/Dwarf_Fortress."
+
+src_prepare() {
+ # fix line endings so the patches can apply properly
+ sed -i \
+ -e 's/\r$//' \
+ g_src/ttf_manager.cpp \
+ g_src/music_and_sound_openal.cpp \
+ || die
+
+ default
+
+ # dwarf fortress includes prebuilt libraries such as libstdc++ we won't use
+ rm -f libs/*.so* || die
+}
+
+src_configure() {
+ hprefixify "${WORKDIR}/dwarf-fortress"
+
+ CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
+}
+
+src_compile() {
+ tc-export CXX PKG_CONFIG
+
+ emake -f "${FILESDIR}/Makefile.native"
+}
+
+src_install() {
+ insinto /opt/${PN}
+ doins -r raw data libs
+
+ dobin ${FILESDIR}/dwarf-fortress
+
+ readme.gentoo_create_doc
+ dodoc README.linux *.txt
+
+ fperms 755 /opt/${PN}/libs/Dwarf_Fortress
+
+ make_desktop_entry dwarf-fortress "Dwarf Fortress" "dwarf-fortress" Game
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ optfeature "text PRINT_MODE" sys-libs/ncurses-compat:5[unicode]
+ optfeature "audio output" "media-libs/openal media-libs/libsndfile"
+ optfeature "OpenGL PRINT_MODE" media-libs/libsdl[opengl]
+}
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch
new file mode 100644
index 000000000000..21017f6b41b1
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-fix-cmath.patch
@@ -0,0 +1,11 @@
+Fixes compilation due to missing <cmath> header required in this file.
+
+diff --git a/g_src/ttf_manager.cpp b/g_src/ttf_manager.cpp
+@@ -1,6 +1,7 @@
+ #include "ttf_manager.hpp"
+ #include "init.h"
+ #include <iostream>
++#include <cmath>
+
+ using namespace std;
+
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch
new file mode 100644
index 000000000000..0f0a9a672874
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-segfault-fix-729002.patch
@@ -0,0 +1,49 @@
+Fixes a bug due to OpenAL soft crashing the game on startup: https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+Fixes a bug regarding an infinite loop on anything higher than -O1: https://www.bay12games.com/dwarves/mantisbt/view.php?id=11564
+
+https://bugs.gentoo.org/729002
+
+diff --git a/g_src/enabler.cpp b/g_src/enabler.cpp
+--- 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;
++
++ 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
+--- 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);
++
++ //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); }
++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(); }
++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); }
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/
@ 2022-07-06 8:39 Ionen Wolkens
0 siblings, 0 replies; 5+ messages in thread
From: Ionen Wolkens @ 2022-07-06 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 076b3ec1fa47159e7addff734dd752f536f654e2
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 6 07:19:08 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 6 08:37:54 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=076b3ec1
games-roguelike/dwarf-fortress: fix text mode, use ncurses-6
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 <AT> gentoo.org>
.../dwarf-fortress/dwarf-fortress-0.47.05.ebuild | 5 +++--
.../files/dwarf-fortress-0.47.05-ncurses6.patch | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
index e94ca7db6dd6..dac5c1c75c94 100644
--- a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
@@ -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
)
@@ -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]"
}
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;
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/
@ 2022-10-09 12:08 James Le Cuirot
0 siblings, 0 replies; 5+ messages in thread
From: James Le Cuirot @ 2022-10-09 12:08 UTC (permalink / raw
To: gentoo-commits
commit: 1f452038d6b0f5b676e3d933d40f2fd5a797c576
Author: Finn Rayment <finn <AT> rayment <DOT> fr>
AuthorDate: Wed Aug 24 04:22:13 2022 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Oct 9 12:08:35 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f452038
games-roguelike/dwarf-fortress: Added gui? USE flag and removed hard dep.
GTK was required for runtime but was only used for a single fullscreen
dialog prompt when the config [WINDOWED:PROMPT].
Now, if libgraphics is compiled without using GTK, the game will not ask
at all if run from a window manager, but instead open in windowed mode.
However, if the game is run from a terminal, a simple scanf procedure
will ask the user for yes/no before deciding.
Signed-off-by: Finn Rayment <finn <AT> rayment.fr>
Bug: https://bugs.gentoo.org/856685
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
....05.ebuild => dwarf-fortress-0.47.05-r1.ebuild} | 7 +-
.../dwarf-fortress/files/Makefile.native | 9 +-
.../files/dwarf-fortress-0.47.05-nogtk.patch | 119 +++++++++++++++++++++
.../dwarf-fortress-0.47.05-segfault-fixes.patch | 16 ++-
4 files changed, 143 insertions(+), 8 deletions(-)
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05-r1.ebuild
similarity index 94%
rename from games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
rename to games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05-r1.ebuild
index dac5c1c75c94..09f1a0c25b24 100644
--- a/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05.ebuild
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.47.05-r1.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}/df_linux"
LICENSE="free-noncomm BSD BitstreamVera"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="debug"
+IUSE="debug gui"
RDEPEND="
dev-libs/glib:2
@@ -29,7 +29,7 @@ RDEPEND="
media-libs/sdl-ttf
sys-libs/zlib:=
virtual/glu
- x11-libs/gtk+:2"
+ gui? ( x11-libs/gtk+:2 )"
# libsndfile, openal and ncurses are only needed at compile-time,
# optfeature through dlopen() at runtime if requested
DEPEND="
@@ -44,6 +44,7 @@ QA_PREBUILT="opt/${PN}/libs/Dwarf_Fortress"
PATCHES=(
"${FILESDIR}"/${P}-missing-cmath.patch
"${FILESDIR}"/${P}-ncurses6.patch
+ "${FILESDIR}"/${P}-nogtk.patch
"${FILESDIR}"/${P}-segfault-fixes.patch
)
@@ -60,7 +61,7 @@ src_compile() {
# -DDEBUG is recognized to give additional debug output
append-cppflags -D$(usev !debug N)DEBUG
- emake -f "${FILESDIR}"/Makefile.native
+ emake -f "${FILESDIR}"/Makefile.native HAVE_GTK=$(usex gui 1 0)
}
src_install() {
diff --git a/games-roguelike/dwarf-fortress/files/Makefile.native b/games-roguelike/dwarf-fortress/files/Makefile.native
index 85383e5e2f1d..d22fb03f4694 100644
--- a/games-roguelike/dwarf-fortress/files/Makefile.native
+++ b/games-roguelike/dwarf-fortress/files/Makefile.native
@@ -1,6 +1,8 @@
# Copyright 2014-2016 Alex Xu (Hello71)
# Distributed under the terms of the GNU General Public License v2
+HAVE_GTK ?= 1
+
SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
g_src/files.cpp g_src/find_files_posix.cpp g_src/graphics.cpp \
g_src/init.cpp g_src/interface.cpp g_src/keybindings.cpp \
@@ -11,7 +13,12 @@ SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
OBJS := $(SRCS:.cpp=.o)
BLIBS := ncursesw openal sndfile
-LIBS := glew glu gtk+-2.0 sdl SDL_image SDL_ttf zlib
+
+LIBS := glew glu sdl SDL_image SDL_ttf zlib
+ifeq ($(HAVE_GTK),1)
+LIBS += gtk+-2.0
+endif
+
CXXFLAGS ?= -O2 -pipe -Wall -Wextra
CXXFLAGS += $(shell $(PKG_CONFIG) --cflags $(BLIBS) $(LIBS)) -Dunix -Dlinux -fPIC -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0
LDLIBS := $(shell $(PKG_CONFIG) --libs $(LIBS))
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-nogtk.patch b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-nogtk.patch
new file mode 100644
index 000000000000..7702362b4a69
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress-0.47.05-nogtk.patch
@@ -0,0 +1,119 @@
+Removes hard dependency on GTK in favour of stdin calls.
+
+--- a/g_src/KeybindingScreen.cpp
++++ b/g_src/KeybindingScreen.cpp
+@@ -1,7 +1,9 @@
+ #ifdef __APPLE__
+ # include "osx_messagebox.h"
+ #elif defined(unix)
+-# include <gtk/gtk.h>
++# ifdef HAVE_GTK
++# include <gtk/gtk.h>
++# endif
+ #endif
+
+ #include "GL/glew.h"
+--- a/g_src/enabler.cpp
++++ b/g_src/enabler.cpp
+@@ -1,7 +1,9 @@
+ #ifdef __APPLE__
+ # include "osx_messagebox.h"
+ #elif defined(unix)
+-# include <gtk/gtk.h>
++# ifdef HAVE_GTK
++# include <gtk/gtk.h>
++# endif
+ #endif
+
+ #include <cassert>
+@@ -713,7 +715,7 @@ int main (int argc, char* argv[]) {
+ #ifdef unix
+ setlocale(LC_ALL, "");
+ #endif
+-#if !defined(__APPLE__) && defined(unix)
++#if !defined(__APPLE__) && defined(unix) && defined(HAVE_GTK)
+ bool gtk_ok = false;
+ if (getenv("DISPLAY"))
+ gtk_ok = gtk_init_check(&argc, &argv);
+@@ -734,6 +736,7 @@ int main (int argc, char* argv[]) {
+ init.begin(); // Load init.txt settings
+
+ #if !defined(__APPLE__) && defined(unix)
++ #if defined(HAVE_GTK)
+ if (!gtk_ok && !init.display.flag.has_flag(INIT_DISPLAY_FLAG_TEXT)) {
+ puts("Display not found and PRINT_MODE not set to TEXT, aborting.");
+ exit(EXIT_FAILURE);
+@@ -743,6 +746,7 @@ int main (int argc, char* argv[]) {
+ puts("Graphical tiles are not compatible with text output, sorry");
+ exit(EXIT_FAILURE);
+ }
++ #endif
+ #endif
+
+ // Initialize video, if we /use/ video
+--- a/g_src/renderer_curses.cpp
++++ b/g_src/renderer_curses.cpp
+@@ -1,3 +1,7 @@
++#if defined(__APPLE__) || defined(unix)
++# include <unistd.h>
++#endif
++
+ static bool curses_initialized = false;
+
+ static void endwin_void() {
+--- a/g_src/win32_compat.cpp
++++ b/g_src/win32_compat.cpp
+@@ -13,7 +13,11 @@
+ # ifdef __APPLE__
+ # include "osx_messagebox.h"
+ # elif defined(unix)
+-# include <gtk/gtk.h>
++# ifdef HAVE_GTK
++# include <gtk/gtk.h>
++# else
++# include <unistd.h>
++# endif
+ # endif
+ #endif
+
+@@ -112,6 +116,7 @@ int MessageBox(HWND *dummy, const char *text, const char *caption, UINT type)
+ }
+ # else // GTK code
+ if (getenv("DISPLAY")) {
++ #ifdef HAVE_GTK
+ // Have X, will dialog
+ GtkWidget *dialog = gtk_message_dialog_new(NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+@@ -141,6 +146,23 @@ int MessageBox(HWND *dummy, const char *text, const char *caption, UINT type)
+ break;
+ }
+ }
++ #else
++ if (isatty(fileno(stdin))) {
++ dprintf(2, "Alert %s:\n%s\n", caption ? caption : "", text ? text : "");
++ if (type & MB_YESNO) {
++ while(ret == IDOK) {
++ dprintf(2, "please answer with 'yes' or 'no'\n");
++ char buf[16];
++ fgets(buf, sizeof buf, stdin);
++ if(!strncmp(buf, "yes", 3)) ret = IDYES;
++ else if(!strncmp(buf, "no", 2)) ret = IDNO;
++ }
++ }
++ } else {
++ /* just assume windowed if no TTY is available to ask */
++ ret = IDNO;
++ }
++ #endif /* HAVE_GTK */
+ } else {
+ // Use curses
+ init_curses();
+@@ -173,7 +195,7 @@ int MessageBox(HWND *dummy, const char *text, const char *caption, UINT type)
+ }
+ nodelay(*stdscr_p, -1);
+ }
+-# endif
++ #endif
+
+ if (toggle_screen) {
+ enabler.toggle_fullscreen();
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
index 24c43be41188..11a820ac97df 100644
--- 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
@@ -7,32 +7,40 @@ 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 @@
+@@ -592,6 +592,8 @@ int enablerst::loop(string cmdline) {
+
// Clean up graphical resources
delete renderer;
+
+ return 0;
}
+ void enablerst::override_grid_size(int x, int y) {
--- a/g_src/music_and_sound_openal.cpp
+++ b/g_src/music_and_sound_openal.cpp
-@@ -251,5 +251,4 @@
+@@ -250,7 +250,6 @@ void musicsoundst::deinitsound() {
+ alDeleteBuffers(1, &buffer);
}
// Deinit OpenAL
- alcMakeContextCurrent(NULL);
alcDestroyContext(context);
alcCloseDevice(device);
-@@ -481,5 +480,5 @@
+
+@@ -480,7 +479,7 @@ static bool init_openal() {
+
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 @@
+ void alGetIntegerv( ALenum param, ALint* data ) { _alGetIntegerv(param, data); }
+@@ -490,7 +489,7 @@ 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(); }
+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); }
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-10-09 12:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-06 8:39 [gentoo-commits] repo/gentoo:master commit in: games-roguelike/dwarf-fortress/files/, games-roguelike/dwarf-fortress/ Ionen Wolkens
-- strict thread matches above, loose matches on Subject: below --
2022-10-09 12:08 James Le Cuirot
2022-07-06 8:39 Ionen Wolkens
2022-07-06 8:39 Ionen Wolkens
2019-11-30 9:58 James Le Cuirot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox