# 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="gtk no-sound debug" # FIXME: check dependencies RDEPEND=" virtual/opengl media-libs/jpeg media-libs/libpng dev-libs/expat media-libs/openal media-libs/libsdl !no-sound? ( media-libs/libvorbis media-libs/libogg 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 if ! use gtk; then ewarn "Without USE=gtk vssetup will not be built." ewarn "You will have to manually edit ~/.vegastrike/vegastrike.config." fi # 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 cd "${S}/${PN}" sed -i \ -e "s!/usr/games/vegastrike!${GAMES_DATADIR}/${PN}!" \ -e "s!/usr/local/bin!${GAMES_BINDIR}!" \ launcher/saveinterface.cpp \ || die "sed launcher/saveinterface.cpp failed" sed -i \ -e '/^SUBDIRS =/s:tools::' \ Makefile.am \ || die "sed Makefile.am failed" # vssetup doesn't find "readme.txt" sed -i \ "s!\"readme.txt\"! \"${GAMES_DATADIR}/${PN}/data/documentation/readme.txt\"!" \ setup/src/include/display_gtk.cpp \ || die "sed setup/src/include/display_gtk.cpp failed" # 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 !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," if use gtk; then einfo "then run vssetup to configure Vega Strike." else einfo "then edit ~/.vegastrike/vegastrike.config." fi einfo "Run vegastrike to start Vega Strike;" einfo "To start Vega Strike Server run vegaserver." }