# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit games eutils toolchain-funcs MY_PV=${PV/_beta/b} S=${WORKDIR}/spring_${MY_PV} DATA_VER="0.74b1" DESCRIPTION="Linux port of a futuristic realtime strategy game in full 3d" HOMEPAGE="http://taspring-linux.berlios.de/" SRC_URI="mirror://berlios/taspring-linux/spring_${MY_PV}_src.tar.bz2 mirror://berlios/taspring-linux/spring-linux-data-${DATA_VER}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug omni optimize unity-lobby" RESTRICT="nomirror" RDEPEND=" !virtual/game_spring virtual/glut omni? ( dev-python/wxpython ) unity-lobby? ( >=dev-python/pygtk-2.10 >=x11-libs/gtk+-2.10 dev-lang/python dev-python/imaging ) media-libs/glew >=media-libs/freetype-2.1.9 media-libs/devil media-libs/openal >=dev-libs/boost-1.32.0-r2 media-libs/jpeg media-libs/libsdl dev-libs/libaio " DEPEND="${RDEPEND} dev-util/scons " PROVIDE="virtual/game_spring" src_compile(){ if !(built_with_use dev-libs/boost threads || built_with_use dev-libs/boost threadsonly); then eerror "This ebuild detected that dev-libs/boost was built without either the "threads" or "threadsonly" USE-Flag! Thread support needs to enabled in boost for spring to build!" eerror "Please run \"echo \"dev-libs/boost threads\" >> /etc/portage/package.use\" and re-emerge dev-libs/boost." die fi if [ $(gcc-major-version) -ge 4 ]; then export CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fpermissive" fi scons configure $(use debug && echo "debug=1") $(use optimize && echo "optimize=2")\ prefix="${GAMES_PREFIX}" datadir="${D}${GAMES_DATADIR}/${PN}" \ installprefix=${D}${GAMES_PREFIX} strip=no bindir=bin || die (use omni || use unity-lobby) && scons unitsync scons || die } src_install(){ newicon "${FILESDIR}/spring.png" ${PN}.png make_desktop_entry spring "TA Spring" ${PN}.png # Install datafiles before the compiled source code, which might overwrite a few things! insinto "${GAMES_DATADIR}/${PN}" doins -r "${WORKDIR}/spring-linux-data-${DATA_VER}/"* scons install rm -rf ${D}/${GAMES_PREFIX}/share # Bot Config Section # AI conf folder if [[ -d "${S}/game/AI" ]] ; then insinto "${GAMES_DATADIR}/${PN}" doins -r game/AI # AAI Empty Folders Needed dodir "${GAMES_DATADIR}/${PN}/AI/AAI/cache" dodir "${GAMES_DATADIR}/${PN}/AI/AAI/log" dodir "${GAMES_DATADIR}/${PN}/AI/AAI/learn/map" dodir "${GAMES_DATADIR}/${PN}/AI/AAI/learn/mod" fi # JCAI conf if [[ -f "${S}/AI/Global/JCAI/settings.cfg" ]] && [[ -d "${S}/AI/Global/JCAI/profiles" ]] ; then insinto "${GAMES_DATADIR}/${PN}/AI/jcai" doins AI/Global/JCAI/settings.cfg doins AI/Global/JCAI/profiles/*.cfg einfo "Added JCAI AI bot config" else ewarn "No JCAI AI bot config found in sources" fi # End of Bot Config Secton # unity-lobby if use unity-lobby; then if [[ -d "${S}/UnityLobby" ]] ; then insinto "${GAMES_DATADIR}/${PN}" doins -r "UnityLobby" insinto "${GAMES_DATADIR}/${PN}/UnityLobby/client" fperms ug+x "${GAMES_DATADIR}/${PN}/UnityLobby/Unity.py" fperms ug+x "${GAMES_DATADIR}/${PN}/UnityLobby/Profile.py" fperms ug+x "${GAMES_DATADIR}/${PN}/UnityLobby/client/main.py" echo "#!/bin/sh"$'\n'"python ${GAMES_DATADIR}/${PN}/UnityLobby/Unity.py" > "${D}usr/games/bin/unity-lobby" make_desktop_entry unity-lobby "TA Spring - Unity-Lobby" ${PN}.png Game else ewarn "No Unity-Lobby detected in sources" fi fi # omni if use omni; then if [[ -d "${S}/omni" ]]; then insinto "${GAMES_DATADIR}/${PN}" doins -r "${S}/omni" || die "Spring omni install failed" echo "#!/bin/sh"$'\n'"python ${GAMES_DATADIR}/${PN}/omni/omni.py" > "${D}usr/games/bin/spring-omni" make_desktop_entry spring-omni "TA Spring - Omni" ${PN}.png Game "${GAMES_DATADIR}/${PN}/omni" #Need to set working directory so omni can s$ fi else ewarn "No omni detected in sources" fi fi # Add Config File /etc/spring/datadir insinto /etc/spring echo '$HOME/.spring' > ${WORKDIR}/datadir echo "${GAMES_DATADIR}/${PN}" >> ${WORKDIR}/datadir doins ${WORKDIR}/datadir prepgamesdirs }