summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreroen <eroen@occam.eroen.eu>2016-06-13 16:00:01 +0200
committereroen <eroen@occam.eroen.eu>2016-07-24 17:41:33 +0200
commitbe2732b1eee76977e2f26b0392ddaac0f4a413ea (patch)
treef20161fcf89b961eb593f0711c8f05d9e9368acd /games-roguelike
parentRemove global-scope 'use' usage (diff)
downloaderoen-be2732b1eee76977e2f26b0392ddaac0f4a413ea.tar.gz
eroen-be2732b1eee76977e2f26b0392ddaac0f4a413ea.tar.bz2
eroen-be2732b1eee76977e2f26b0392ddaac0f4a413ea.zip
games-roguelike/dwarf-fortress from gentoo
Diffstat (limited to 'games-roguelike')
-rw-r--r--games-roguelike/dwarf-fortress/Manifest2
-rw-r--r--games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild93
-rw-r--r--games-roguelike/dwarf-fortress/dwarf-fortress-0.42.06.ebuild94
-rw-r--r--games-roguelike/dwarf-fortress/files/Makefile32
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress24
-rw-r--r--games-roguelike/dwarf-fortress/metadata.xml18
6 files changed, 263 insertions, 0 deletions
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
new file mode 100644
index 0000000..e842aac
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -0,0 +1,2 @@
+DIST df_40_24_linux.tar.bz2 12921246 SHA256 da37c6263a679123e6ac57fe0dd6def11f1d61efee3c5913de09495c88ce9234 SHA512 2242e471b7dbc996e819e2f74b2bbfda30a9a301755bc025ddcccdffdd3afe2e48bbedca31a332283ef829d023069398e57d6a87e26c582ddbce4a67ff7fd755 WHIRLPOOL 03cb652a2564d2b0c809be8252f7754d893f69ac1b95124ea108ed0fde9ac742c498d9e369339775695861e430a2ded0741b018f85551d48731730f98303dc69
+DIST df_42_06_linux.tar.bz2 13857747 SHA256 03df8e73bf81e4f7bec9e789a83f8bd20b0b968d73131e4051e005db13fec99f SHA512 dfeb1406dcbd74091170eee4392c8eb876516d723b17e8aa291cab5b670be9fca4e22122788656e37afc03cd0e827e42b8cd27bc148d32639ebb7b8b7fa2bbf4 WHIRLPOOL d8fd93e9d90b4bee942c9a3751d1d03180157e4ecf406cf1cf31441946588990b2385a0b8d376f2a5386d7514d28b7ba5a6fbd2879e3a1e87124d902759909c3
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild
new file mode 100644
index 0000000..2a81139
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils games multilib 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="http://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2"
+
+LICENSE="free-noncomm BSD BitstreamVera"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 -*"
+IUSE="debug"
+
+RDEPEND="media-libs/glew[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-),opengl,video,X]
+ media-libs/libsndfile[abi_x86_32(-),alsa]
+ media-libs/sdl-image[abi_x86_32(-),jpeg,png,tiff]
+ media-libs/sdl-ttf[abi_x86_32(-)]
+ sys-libs/zlib[abi_x86_32(-)]
+ virtual/glu[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]"
+# Yup, openal and ncurses are only needed at compile-time; the code dlopens it at runtime
+# if requested.
+DEPEND="${RDEPEND}
+ media-libs/openal[abi_x86_32(-)]
+ sys-libs/ncurses[abi_x86_32(-),unicode]
+ virtual/pkgconfig
+ x11-proto/kbproto[abi_x86_32(-)]
+ x11-proto/xproto[abi_x86_32(-)]"
+
+S=${WORKDIR}/${MY_PN}_linux
+
+gamesdir="${GAMES_PREFIX_OPT}/${PN}"
+QA_PRESTRIPPED="${gamesdir}/libs/Dwarf_Fortress"
+
+pkg_setup() {
+ games_pkg_setup
+
+ multilib_toolchain_setup x86
+}
+
+src_prepare() {
+ rm libs/*.so*
+ cp "${FILESDIR}"/{dwarf-fortress,Makefile} .
+ epatch_user
+}
+
+src_configure() {
+ tc-export CXX PKG_CONFIG
+ CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
+}
+
+src_compile() {
+ default
+ sed -i -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" ${PN} || die
+}
+
+src_install() {
+ # install data-files and libs
+ insinto "${gamesdir}"
+ doins -r raw data libs
+
+ # install our wrapper
+ dogamesbin ${PN}
+
+ # install docs
+ dodoc README.linux *.txt
+
+ prepgamesdirs
+
+ fperms 750 "${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 ${GAMES_BINDIR}/${PN}."
+ elog "Note: This means that the primary entry point is ${GAMES_BINDIR}/${PN}."
+ elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
+ elog
+ elog "Optional runtime dependencies: install sys-libs/ncurses[$(use amd64 && echo "abi_x86_32,")unicode]"
+ elog "for [PRINT_MODE:TEXT]. Install media-libs/openal$(use amd64 && echo "[abi_x86_32]") for audio output."
+ elog
+ games_pkg_postinst
+}
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.42.06.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.42.06.ebuild
new file mode 100644
index 0000000..7c76f0c
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.42.06.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils games multilib 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="http://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2"
+
+LICENSE="free-noncomm BSD BitstreamVera"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 -*"
+IUSE="debug"
+
+RDEPEND="media-libs/glew[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-),opengl,video,X]
+ media-libs/libsndfile[abi_x86_32(-),alsa]
+ media-libs/sdl-image[abi_x86_32(-),jpeg,png,tiff]
+ media-libs/sdl-ttf[abi_x86_32(-)]
+ sys-libs/zlib[abi_x86_32(-)]
+ virtual/glu[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]"
+# Yup, openal and ncurses are only needed at compile-time; the code dlopens it at runtime
+# if requested.
+DEPEND="${RDEPEND}
+ media-libs/openal[abi_x86_32(-)]
+ sys-libs/ncurses[abi_x86_32(-),unicode]
+ virtual/pkgconfig
+ x11-proto/kbproto[abi_x86_32(-)]
+ x11-proto/xproto[abi_x86_32(-)]"
+
+S=${WORKDIR}/${MY_PN}_linux
+
+gamesdir="${GAMES_PREFIX_OPT}/${PN}"
+QA_PRESTRIPPED="${gamesdir}/libs/Dwarf_Fortress"
+RESTRICT="strip"
+
+pkg_setup() {
+ games_pkg_setup
+
+ multilib_toolchain_setup x86
+}
+
+src_prepare() {
+ rm libs/*.so*
+ cp "${FILESDIR}"/{dwarf-fortress,Makefile} .
+ epatch_user
+}
+
+src_configure() {
+ tc-export CXX PKG_CONFIG
+ CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
+}
+
+src_compile() {
+ default
+ sed -i -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" ${PN} || die
+}
+
+src_install() {
+ # install data-files and libs
+ insinto "${gamesdir}"
+ doins -r raw data libs
+
+ # install our wrapper
+ dogamesbin ${PN}
+
+ # install docs
+ dodoc README.linux *.txt
+
+ prepgamesdirs
+
+ fperms 750 "${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 ${GAMES_BINDIR}/${PN}."
+ elog "Note: This means that the primary entry point is ${GAMES_BINDIR}/${PN}."
+ elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
+ elog
+ elog "Optional runtime dependencies: install sys-libs/ncurses[$(use amd64 && echo "abi_x86_32,")unicode]"
+ elog "for [PRINT_MODE:TEXT]. Install media-libs/openal$(use amd64 && echo "[abi_x86_32]") for audio output."
+ elog
+ games_pkg_postinst
+}
diff --git a/games-roguelike/dwarf-fortress/files/Makefile b/games-roguelike/dwarf-fortress/files/Makefile
new file mode 100644
index 0000000..66e6401
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/Makefile
@@ -0,0 +1,32 @@
+# Copyright 2014-2015 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
+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/dwarf-fortress b/games-roguelike/dwarf-fortress/files/dwarf-fortress
new file mode 100644
index 0000000..8594e0b
--- /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 0000000..9192526
--- /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>