summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Reffett <creffett@gentoo.org>2015-04-19 01:40:24 +0000
committerChris Reffett <creffett@gentoo.org>2015-04-19 01:40:24 +0000
commit084fb59f3222f01b2a8eb3b99257bbea3cf386e3 (patch)
tree5688f2d770311d08ba3a0a0dba4dfa0cc71e6590 /games-roguelike
parentMask multilib package games-roguelike/dwarf-fortress on no-multilib profile (diff)
downloadgentoo-2-084fb59f3222f01b2a8eb3b99257bbea3cf386e3.tar.gz
gentoo-2-084fb59f3222f01b2a8eb3b99257bbea3cf386e3.tar.bz2
gentoo-2-084fb59f3222f01b2a8eb3b99257bbea3cf386e3.zip
Commit new proxy-maintained ebuild wrt bug 290294
(Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 0xD1BAB6B528DB029C)
Diffstat (limited to 'games-roguelike')
-rw-r--r--games-roguelike/dwarf-fortress/ChangeLog10
-rw-r--r--games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild93
-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.xml15
5 files changed, 174 insertions, 0 deletions
diff --git a/games-roguelike/dwarf-fortress/ChangeLog b/games-roguelike/dwarf-fortress/ChangeLog
new file mode 100644
index 000000000000..9afab1b261dc
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for games-roguelike/dwarf-fortress
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/dwarf-fortress/ChangeLog,v 1.1 2015/04/19 01:40:24 creffett Exp $
+
+*dwarf-fortress-0.40.24 (19 Apr 2015)
+
+ 19 Apr 2015; Chris Reffett <creffett@gentoo.org>
+ +dwarf-fortress-0.40.24.ebuild, +files/Makefile, +files/dwarf-fortress,
+ +metadata.xml:
+ Commit new proxy-maintained ebuild wrt bug 290294
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 000000000000..d096adab2b37
--- /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
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/dwarf-fortress/dwarf-fortress-0.40.24.ebuild,v 1.1 2015/04/19 01:40:24 creffett Exp $
+
+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/files/Makefile b/games-roguelike/dwarf-fortress/files/Makefile
new file mode 100644
index 000000000000..a0453a50f7c4
--- /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
+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..8594e0bcefaf
--- /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..c9a8db431846
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu</name>
+ <description>proxied maintainer, please assign bugs to</description>
+</maintainer>
+<maintainer>
+ <email>creffett@gentoo.org</email>
+ <name>Chris Reffett</name>
+ <description>maintainer, please CC on bugs</description>
+</maintainer>
+</pkgmetadata>