summaryrefslogtreecommitdiff
path: root/games-roguelike/dwarf-fortress
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-roguelike/dwarf-fortress
reinit the tree, so we can have metadata
Diffstat (limited to 'games-roguelike/dwarf-fortress')
-rw-r--r--games-roguelike/dwarf-fortress/Manifest9
-rw-r--r--games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild84
-rw-r--r--games-roguelike/dwarf-fortress/files/Makefile32
-rw-r--r--games-roguelike/dwarf-fortress/files/Makefile.native28
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress24
-rw-r--r--games-roguelike/dwarf-fortress/metadata.xml18
6 files changed, 195 insertions, 0 deletions
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
new file mode 100644
index 000000000000..aedb3db6bcfb
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -0,0 +1,9 @@
+AUX Makefile 1169 SHA256 dd9468ce93e397810794f3fb0e14ee909e3f7246d7b97fd87cf9124efafa7747 SHA512 94baa1189e6a01415d46c475a0d1e40c785ded0473fd7dd89f136df36c07d58f718fee23b7d885e5ee8774a62063c9d92a1d26b02643f36ad5562e3e168e86bf WHIRLPOOL d06f37e7b12ef9682239d3b79d35c208200c7ec0f7e1ea5525a4cb81ec26201015f019c490ea21baf15aa2564ee41db0bb4f6530515733dfe46c181d13c59e3a
+AUX Makefile.native 1016 SHA256 e6ca566b0b574629f4262f073ae63d4f2eeaa9dc604b2c75a9ef9d75c9515ab7 SHA512 d390c65f406cf8b43f3d493cd6513167c122a5811e3bc8614a66dc080eac21df9fc1d5f110503c8f6815f683eaeb5ddcdd833d310400ccc2426ae81c2b8159f8 WHIRLPOOL ae8f9f585e0c169207f35cc96210df8949d24290003a8adf60f534c2668ec54f1cbbb5d5dc7b346d3a649e96565081a773ab030a2eeefdcf5c736486aa1a909b
+AUX dwarf-fortress 516 SHA256 baf33b5eda7286fdef1d6f226d0205c5ea5715378250c1646a40e2eb16b90c6b SHA512 1f1fada35e33cb99c28835d600f6567ecaaf7b2c6111a2e96b1a88c54e5d727f94ae1c0213327bc70a623dbdf19a8433e3c59edcab5a40e898b0124eb2eb9006 WHIRLPOOL ade88e67f249ec1ed89248c4691441064a102a01ca72e763b37890066f220bf9532c54d2746da96001e568747322ec0e14bb1abce7cdf272de1ca3c57c726a26
+DIST df_43_05_linux.tar.bz2 11580594 SHA256 856c13170e8beefb5419ae71ee26c85db9716b3ebd4c7348aa44b896bd490be4 SHA512 502e6bac0bdd5586fb6b4e1117caf144a0336a7eed3ed9350ec316e4a286e309a15e0738517c0dd7d32f182984c501c7a8756e942d3dde9fb87f72b153f38e7a WHIRLPOOL 2ba6091c575eb7e2ca282e2192c0ca30ee48bfea473a0537acabfe33b2b7e848d1057f65409f9cc4aa2ec42f3c2dc7fef22139d3b2a788a84e71338a2c767ba1
+DIST df_43_05_linux32.tar.bz2 12158550 SHA256 0334e6b35ecc36949f5c60ffc1eb46fade3365b55a44f2e11fd4ae799ba7819a SHA512 d0446ddb5c37ee45ade36b18b815595e8d7bfd9749af4ecd2f25b45859d797a9da70f2344e2c58544feafc7df06882ade8a10534c37754359747c0d37f084b7c WHIRLPOOL 899d8739847cb37cb636453e7a728a0ae9765958fd77828e7f099b1f4b7a4bdaae0fee93121ddc81a0f2bf5ab4292380c9edb405dc5ed64d3d3cecf26f5f23c7
+EBUILD dwarf-fortress-0.43.05.ebuild 2320 SHA256 e4e5eae8e2eb9be5d8927f02940b1ee18e21776c6d5146315e63a0e18f4a9832 SHA512 81a4f5c4fe27f5f53344b2d3b889930863ae221b1cd7342be05f75e9b04fb956fcd05251cf21288898d37675b5b35821f69cda0721aaa601755cda7ae629d3ce WHIRLPOOL cfe96610d12503a2cc904dd609b3e779118933ddeed54612a3f6e596499a4f0fe6547b298cc5008bf38b746ce08aaae648f114bc37cea3cf7339b84fb2c37d5c
+MISC ChangeLog 4261 SHA256 963578893e485af808e744ad5d6b76c9eaaac1c0f7e83b4eae774cc5f84dbc79 SHA512 4ca2f3a4bbc3eff117671b0a674e513c7e1b52bdcfc9e4c64dba0001a950ef5f5b19941ef24826a314aae6a3cd606805156ba968197845c010faadd180591cae WHIRLPOOL 3ce82b6a14566aac2400c2c3524786f98c874d67c45ee5865db63a8c0f71bd6b9ded735eb3df76f64b7dccc02d5c787b8a7ee0d5981b7f577e5c20d52f13b65c
+MISC ChangeLog-2015 468 SHA256 33751dd858b0448c3e5c1b9bbcc817422bdc5dce2aefc054b8a8c4eee087e5a0 SHA512 0195936b188a6a4e7a06fcaf9b818d3406df64185b30cc87ef3a4c9289e946bbbb6affda7a27f0b0dd90fa3ae29bd32540e1dec7374ac627d8c684400636b912 WHIRLPOOL 8636d396abae7e57fdf1ce9220dfa14ce1d72009746ad1bae8955d2dcf1d424d24a1f6171564290afc3d04e244332442a95e935b67da07015f65cd81e3ef96f2
+MISC metadata.xml 583 SHA256 cadf5b222bab2f0191a679cdb12e09716cde56d25138721ca886427e7995d5cd SHA512 084c03470208f5439a6831d3340d1f8a37c46f4f00fc0c3f00a834ae2faee9ee2e8dcb711943b095cae602c15eda1f45517d28f9416d65b55de63206094213f4 WHIRLPOOL cb62009f9fce972ecf377621021c9d1e6f915161d7d5088a1fc9209aeed32dfa430f6b09ad3fc4832f91d72e992a83698b7e701b6d1aa8cccbddf8b78e63ca94
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
new file mode 100644
index 000000000000..6352e7dba598
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit versionator
+
+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: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
new file mode 100644
index 000000000000..856670b6a67e
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/Makefile
@@ -0,0 +1,32 @@
+# 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
diff --git a/games-roguelike/dwarf-fortress/files/Makefile.native b/games-roguelike/dwarf-fortress/files/Makefile.native
new file mode 100644
index 000000000000..85383e5e2f1d
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/Makefile.native
@@ -0,0 +1,28 @@
+# Copyright 2014-2016 Alex Xu (Hello71)
+# Distributed under the terms of the GNU General Public License v2
+
+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 += $(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
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress b/games-roguelike/dwarf-fortress/files/dwarf-fortress
new file mode 100644
index 000000000000..23b9c348754c
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+gamesdir=/opt/dwarf-fortress
+install="$HOME/.dwarf-fortress"
+
+do_install() {
+ cp -rn "$gamesdir"/data "$install"/
+ # DF gets unhappy when this is out of sync
+ cp -f "$gamesdir"/data/index "$install"/data/
+ cp -rsn "$gamesdir"/* "$install"/
+}
+
+if [ -d "$install" ]; then
+ # delete dangling symlinks
+ find -L "$install/" -type l -delete
+ # ignore "are the same file" errors
+ do_install 2>/dev/null
+else
+ mkdir "$install" || exit
+ do_install || exit
+fi
+
+cd "$install" || exit
+exec ./libs/Dwarf_Fortress "$@"
diff --git a/games-roguelike/dwarf-fortress/metadata.xml b/games-roguelike/dwarf-fortress/metadata.xml
new file mode 100644
index 000000000000..9192526ee353
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu</name>
+ <description>proxied maintainer, please assign bugs to</description>
+</maintainer>
+<maintainer type="person">
+ <email>creffett@gentoo.org</email>
+ <name>Chris Reffett</name>
+ <description>maintainer, please CC on bugs</description>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+</pkgmetadata>