mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-01 23:28:08 -07:00
games-roguelike/dwarf-fortress: Drop old 0.47.05-r1
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
@@ -1,4 +1,2 @@
|
||||
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 df_51_13_linux.tar.bz2 17651148 BLAKE2B 002dfccfa18cc7d2304d9862821b7f1cdb38c0b936fb14c4b05d6b08f4b2f27c81b33934daa0ba4c61dbcd4b36c2d835373042cd6ccdad21a6813040b2b63f5b SHA512 e198fe28e009db9e65c99e7c14c15ec3c36620c7ddd6a6ed10c6baec72f5f52b55f275668a2aad976a3085aba7ea668f3b463ae687cd1a9a6343a85cf757b2ef
|
||||
DIST dwarf-fortress.png 271 BLAKE2B cbc14917de1556b25d3817298215beedc4cb01075b8454e38b2d314bdf22f8c20c4bf2332f0d731c7e4c6d6a60056361565221ce3db2c7a15fdf934bff01df54 SHA512 08bdc0e084f861b6e6a8b12e3bc93b9703f2a4cbc133d62d1c2931daf81ccd70b728853d5c05bed19a1ef477cf4ad10fce263bbab7d9cad3b60658f17063acf6
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop flag-o-matic optfeature prefix readme.gentoo-r1 toolchain-funcs
|
||||
|
||||
MY_P="df_$(ver_rs 1- _ $(ver_cut 2-))"
|
||||
|
||||
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 gui"
|
||||
|
||||
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
|
||||
gui? ( x11-libs/gtk+:2 )"
|
||||
# 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"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
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
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# remove prebuilt libraries that are provided by the system
|
||||
rm libs/*.so* || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
# -DDEBUG is recognized to give additional debug output
|
||||
append-cppflags -D$(usev !debug N)DEBUG
|
||||
|
||||
emake -f "${FILESDIR}"/Makefile.native HAVE_GTK=$(usex gui 1 0)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${PN}
|
||||
doins -r data libs raw
|
||||
|
||||
fperms +x /opt/${PN}/libs/Dwarf_Fortress
|
||||
|
||||
dobin "$(prefixify_ro "${FILESDIR}"/dwarf-fortress)"
|
||||
|
||||
doicon "${DISTDIR}"/${PN}.png
|
||||
make_desktop_entry dwarf-fortress "Dwarf Fortress"
|
||||
|
||||
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
|
||||
optfeature "audio output" "media-libs/openal media-libs/libsndfile[-minimal]"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
# 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 \
|
||||
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 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))
|
||||
|
||||
LG := libs/libgraphics.so
|
||||
|
||||
all: $(LG)
|
||||
$(LG): $(OBJS)
|
||||
$(LINK.cpp) -shared $^ $(LDLIBS) -o $@
|
||||
|
||||
clean:
|
||||
$(RM) $(LG) $(OBJS)
|
||||
|
||||
.PHONY: clean
|
||||
@@ -1,8 +0,0 @@
|
||||
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>
|
||||
@@ -1,22 +0,0 @@
|
||||
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;
|
||||
@@ -1,119 +0,0 @@
|
||||
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();
|
||||
@@ -1,46 +0,0 @@
|
||||
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
|
||||
@@ -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
|
||||
@@ -250,7 +250,6 @@ void musicsoundst::deinitsound() {
|
||||
alDeleteBuffers(1, &buffer);
|
||||
}
|
||||
// Deinit OpenAL
|
||||
- alcMakeContextCurrent(NULL);
|
||||
alcDestroyContext(context);
|
||||
alcCloseDevice(device);
|
||||
|
||||
@@ -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); }
|
||||
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); }
|
||||
Reference in New Issue
Block a user