diff options
author | eroen <eroen@occam.eroen.eu> | 2016-01-21 10:08:35 +0100 |
---|---|---|
committer | eroen <eroen@occam.eroen.eu> | 2016-01-21 22:55:37 +0100 |
commit | a7b1a6b95ade8754206b72d9812301b9b67edbff (patch) | |
tree | d9f2c9324a98bc4a2bf76756aba79f92e0dae852 /games-simulation | |
parent | dfhack - use.mask stonesense (diff) | |
download | eroen-a7b1a6b95ade8754206b72d9812301b9b67edbff.tar.gz eroen-a7b1a6b95ade8754206b72d9812301b9b67edbff.tar.bz2 eroen-a7b1a6b95ade8754206b72d9812301b9b67edbff.zip |
dwarffortress-0.42.04 from gentoo
Diffstat (limited to 'games-simulation')
-rw-r--r-- | games-simulation/dwarffortress/Manifest | 1 | ||||
-rw-r--r-- | games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild | 94 | ||||
-rw-r--r-- | games-simulation/dwarffortress/files/Makefile | 32 | ||||
-rw-r--r-- | games-simulation/dwarffortress/files/dwarffortress2.sh | 24 |
4 files changed, 151 insertions, 0 deletions
diff --git a/games-simulation/dwarffortress/Manifest b/games-simulation/dwarffortress/Manifest index 5c8d615..fcc81a8 100644 --- a/games-simulation/dwarffortress/Manifest +++ b/games-simulation/dwarffortress/Manifest @@ -16,3 +16,4 @@ DIST df_40_21_linux.tar.bz2 12914932 SHA256 211cd8ce6f9cd56c892bc5c4fe72da29dd8e DIST df_40_22_linux.tar.bz2 12917753 SHA256 9ba6e9c978e0e076662f5d312a669e5d949366aca9c2c216f1c53c7a74f1b0f1 SHA512 dd226e7f9d8a1358bc0a09c6eb6747b8f6ef166b4c29db30ffaba2cc771499ffafd8f56fa6b1cf06409fc0d35258c1bc485a44ce76aa9f622a122e5fa252de0f WHIRLPOOL f1923a130b42602d1ea5fb640537ac483ba578a5e9f76534ae7525a6a507ccaa37659b498a6bca5cfad27e4c40da523fef2388f8a605824886355dea54a5d528 DIST df_40_23_linux.tar.bz2 12918538 SHA256 94dd3b91e3c4e2de1fdf1a99dcc13f7067dc250e40a7f9fef9fa35a65358f289 SHA512 c74f28805802812c55df9f10cf2fff60b3803382391df7f9253e80418ad971bc6d1ab7d5e248803fbd4b59492836e578a4ee83050755288263631ce5cb3fc408 WHIRLPOOL b509ed1b474686f6696b6a949509972001d3d5ec80bf349af483d7e5c84e86d6e80152bba832fe1655933595852abb380740c10d75942af47b5fb799e829f2ba DIST df_40_24_linux.tar.bz2 12921246 SHA256 da37c6263a679123e6ac57fe0dd6def11f1d61efee3c5913de09495c88ce9234 SHA512 2242e471b7dbc996e819e2f74b2bbfda30a9a301755bc025ddcccdffdd3afe2e48bbedca31a332283ef829d023069398e57d6a87e26c582ddbce4a67ff7fd755 WHIRLPOOL 03cb652a2564d2b0c809be8252f7754d893f69ac1b95124ea108ed0fde9ac742c498d9e369339775695861e430a2ded0741b018f85551d48731730f98303dc69 +DIST df_42_04_linux.tar.bz2 13776171 SHA256 f281f7e8b477abe37cc1423258be2ea56b5c1d12b0843ed3a66994ce0e7924ce SHA512 d0b3bf0311e70c6f823d216e002d2acc62ebdeb540cfd79c5cf91d53612f6acee802321c65b3926db688b055f5b865aa1256f29a82ef769c5fab65bd42c383b5 WHIRLPOOL 859a2fddf9a72ac2c05d64cff01fdd3c9658ce57eecb34991fbd9cbd51ae007c56bc61e9aac76ec837734593c89d822868c15c641416a82f142af40425ef666b diff --git a/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild b/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild new file mode 100644 index 0000000..b0b9b37 --- /dev/null +++ b/games-simulation/dwarffortress/dwarffortress-0.42.04.ebuild @@ -0,0 +1,94 @@ +# 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" +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-simulation/dwarffortress/files/Makefile b/games-simulation/dwarffortress/files/Makefile new file mode 100644 index 0000000..66e6401 --- /dev/null +++ b/games-simulation/dwarffortress/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-simulation/dwarffortress/files/dwarffortress2.sh b/games-simulation/dwarffortress/files/dwarffortress2.sh new file mode 100644 index 0000000..8594e0b --- /dev/null +++ b/games-simulation/dwarffortress/files/dwarffortress2.sh @@ -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 "$@" |