diff options
Diffstat (limited to 'games-simulation/vegastrike/vegastrike-9999.ebuild')
-rw-r--r-- | games-simulation/vegastrike/vegastrike-9999.ebuild | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/games-simulation/vegastrike/vegastrike-9999.ebuild b/games-simulation/vegastrike/vegastrike-9999.ebuild new file mode 100644 index 0000000..e9edff5 --- /dev/null +++ b/games-simulation/vegastrike/vegastrike-9999.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +# Derived from bug 65084 + +inherit flag-o-matic eutils games +[ "$PV" == "9999" ] && inherit subversion + +ESVN_REPO_URI="https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk" +ESVN_PROJECT="vegastrike" +ESVN_BOOTSTRAP="vegastrike/bootstrap-sh" + +DESCRIPTION="A 3D space simulator that allows you to trade and bounty hunt" +HOMEPAGE="http://vegastrike.sourceforge.net/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +# FIXME: check configure options +IUSE="stencil-buffer gtk no-sound sdl debug" + +# FIXME: check dependencies +RDEPEND=" + dev-lang/python + virtual/opengl + media-libs/jpeg + media-libs/libpng + dev-libs/expat + media-libs/openal + sdl? ( media-libs/libsdl ) + !no-sound? ( media-libs/libvorbis + media-libs/libogg + sdl? ( media-libs/sdl-mixer ) ) + virtual/glut + virtual/glu + gtk? ( x11-libs/gtk+ ) + games-simulation/vegastrike-data" +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.58" + +S="${WORKDIR}" + +pkg_setup() { + games_pkg_setup + # FIXME: is this still a problem? + einfo "If compiling fails for you on gl_globals.h, try to replace your" + einfo "glext.h (usually found in /usr/include/GL/ with this one" + einfo "http://oss.sgi.com/projects/ogl-sample/ABI/glext.h" + einfo "remember to make backup of the original though" +} + +src_unpack() { + cd "${S}" + local svn=${ESVN_TOP_DIR} + + if [ ! -d "${svn}/vegastrike" ]; then + ESVN_MODULE="vegastrike" + ESVN_MODULE_DIR="${ESVN_REPO_URI}/${ESVN_MODULE}" + subversion_fetch $ESVN_MODULE_DIR $ESVN_MODULE || die "Fetching vegastrike failed" + fi + + einfo "Copying source to work directory..." + cp -a "${svn}"/{vegastrike,vssetup} "${S}" >&/dev/null + + # Sort out directory references + # FIXME: check whether these are still needed + cd "${S}/${PN}" + sed -i \ + -e "s!/usr/games/vegastrike!${GAMES_DATADIR}/${PN}!" \ + -e "s!/usr/games/bin!${GAMES_BINDIR}!" \ + launcher/saveinterface.cpp \ + || die "sed launcher/saveinterface.cpp failed" + sed -i \ + "s!/usr/local/share/vegastrike!${GAMES_DATADIR}/${PN}!" \ + src/common/common.cpp \ + || die "sed src/common/common.cpp failed" + sed -i \ + "s!/usr/share/local/vegastrike!${GAMES_DATADIR}/${PN}!" \ + src/vsfilesystem.cpp \ + || die "sed src/filesys.cpp failed" + sed -i \ + -e '/^SUBDIRS =/s:tools::' \ + Makefile.am \ + || die "sed Makefile.am failed" + + # FIXME: vssetup doesn't find "readme.txt" + # from vegastrike/setup/src/include/display_gtk.cpp +69 + # execlp("less", "less","readme.txt", NULL); //Will this work in Linux? + + # FIXME: is this still a problem? + # is not possible here to use built in function subversion_bootstrap: it + # won't work as expected: ./bootstrap isn't in main compile dir + ./bootstrap-sh +} + +src_compile() { + cd "${S}"/vegastrike + local conf_opts="${conf_opts} --disable-dependency-tracking" + + # DATA_DIR + conf_opts="${conf_opts} --with-data-dir=${GAMES_DATADIR}/${PN}/data" + + if use debug; then + conf_opts="${conf_opts} --enable-debug" + else + # FIXME: This actually enables -O2. + # -O3 appears to make problems in some cases. + # Might not be a great idea to mix with user -O flags. + conf_opts="${conf_opts} --enable-release=2" + fi + + if ! use gtk; then + conf_opts="${conf_opts} --disable-gtk" + fi + + CONFIGURE_OPTIONS=" + $(use_enable stencil-buffer) + $(use_enable sdl) + $(use_enable !no-sound sound) + ${conf_opts}" + + egamesconf $CONFIGURE_OPTIONS \ + || die "egamesconf failed" + + # FIXME: Is this still a problem? + # FIXME: CXXFLAGS can be supplied in a better way. + # it causes corruptions + filter-flags -ffast-math +# # Let's optimize, removing also broken -ffast-math + sed -i -e "s:-ffast-math:${CXXFLAGS}:g" Makefile \ + || die "sed of CXXFLAGS failed" + + emake || die "emake failed" +} + +src_install() { + cat << EOF > vsinstall +#!/bin/sh +( +mkdir \${HOME}/.vegastrike 2> /dev/null +cd \${HOME}/.vegastrike +cp "${GAMES_DATADIR}"/vegastrike/data/setup.config . +cp -r "${GAMES_DATADIR}"/vegastrike/data/.vegastrike/* . +cp "${GAMES_DATADIR}"/vegastrike/data/vegastrike.config . +vssetup +) +echo "If you wish to have your own music edit ~/.vegastrike/*.m3u" +echo "Each playlist represents a place or situation in Vega Strike" +exit 0 +EOF + + dogamesbin vegastrike/vegastrike \ + || die "Creation of vegastrike (the binary) failed" + dogamesbin vsinstall \ + || die "Creation of vsinstall failed" + dogamesbin vegastrike/vegaserver \ + || die "Creation of vegaserver failed" + dogamesbin vegastrike/mesher \ + || die "Creation of mesher failed" + + if use gtk; then + newgamesbin vegastrike/vssetup vssetup || die "newgamesbin failed" + fi + + make_desktop_entry "vegastrike" "Vegastrike" "${GAMES_DATADIR}/${PN}/data/vegastrike.xpm" + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + einfo "First run vsinstall to install your account into ~/.vegastrike," + einfo "then run vegastrike to start Vega Strike;" + einfo "Run vssetup to configure Vega Strike." + einfo "To start Vega Strike Server run vegaserver." + einfo "(FIXME: vssetup/vsinstall currently won't find readme.txt." + einfo " It's in ${GAMES_DATADIR}/${PN}/data/documentation/.)" +} |