diff options
author | eroen <eroen@occam.eroen.eu> | 2016-06-13 16:00:01 +0200 |
---|---|---|
committer | eroen <eroen@occam.eroen.eu> | 2016-07-24 17:41:33 +0200 |
commit | be2732b1eee76977e2f26b0392ddaac0f4a413ea (patch) | |
tree | f20161fcf89b961eb593f0711c8f05d9e9368acd /games-roguelike | |
parent | Remove global-scope 'use' usage (diff) | |
download | eroen-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/Manifest | 2 | ||||
-rw-r--r-- | games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild | 93 | ||||
-rw-r--r-- | games-roguelike/dwarf-fortress/dwarf-fortress-0.42.06.ebuild | 94 | ||||
-rw-r--r-- | games-roguelike/dwarf-fortress/files/Makefile | 32 | ||||
-rw-r--r-- | games-roguelike/dwarf-fortress/files/dwarf-fortress | 24 | ||||
-rw-r--r-- | games-roguelike/dwarf-fortress/metadata.xml | 18 |
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> |