diff options
Diffstat (limited to 'games-rpg/mangos/mangos-9999.ebuild')
-rw-r--r-- | games-rpg/mangos/mangos-9999.ebuild | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/games-rpg/mangos/mangos-9999.ebuild b/games-rpg/mangos/mangos-9999.ebuild new file mode 100644 index 000000000000..22b1d2e6572e --- /dev/null +++ b/games-rpg/mangos/mangos-9999.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-rpg/mangos/mangos-9999.ebuild,v 1.1 2008/10/04 07:38:26 trapni Exp $ + +# TODO: +# - make use of system's zlib/zthread ebuilds instead of mangos' packaged +# - create ebuilds for specific releases (and related patchsets, if desired) + +inherit eutils subversion autotools + +MANGOS_SVN_REPO_URI="https://mangos.svn.sourceforge.net/svnroot/mangos/trunk" +SD2_SVN_REPO_URI="https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2" + +ESVN_REPO_URI="${MANGOS_SVN_REPO_URI}" + +DESCRIPTION="Massive Network Game Object Server" +HOMEPAGE="http://www.mangosproject.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cli ra sd2 debug mysql postgres" + +RDEPEND="postgres? ( virtual/postgresql-server ) + mysql? ( >=virtual/mysql-4.1 ) + !mysql? ( !postgres? ( >=virtual/mysql-4.1 ) )" + +DEPEND="${RDEPEND} + >=sys-devel/gcc-3.2 + sys-devel/make + sys-devel/automake + sys-devel/autoconf + dev-libs/glib + dev-libs/openssl" + +pkg_setup() { + if useq mysql && useq postgres; then + eerror "Please decide with database you want to use for this ebuild by" + eerror "explicitely enabling/disabling the mysql and postgres USE-flags!" + die "Both useflags - mysql and postgres - has been specified. Choose one of them only!" + fi + enewgroup mangos + enewuser mangos +} + +## unpacks SD2 (ScriptDev2) into mangos workdir +function sd2_src_unpack() { + S="${S}/src/bindings/ScriptDev2" ESVN_REPO_URI="${SD2_SVN_REPO_URI}" subversion_src_unpack || die + + local PATCHES_DIR="${S}/src/bindings/ScriptDev2/patches" + local FILE=$(ls ${PATCHES_DIR} | sort -f -r | awk "NR == 1") + + EPATCH_OPTS="-d ${S}" EPATCH_FORCE="yes" epatch "${PATCHES_DIR}/${FILE}" || die +} + +src_unpack() { + subversion_src_unpack + + useq sd2 && sd2_src_unpack + + cd "${S}" || die + eautoreconf --install || die "eautoreconf failed" +} + +src_compile() { + local myconf + + if ! useq mysql && ! useq postgres; then + # defaulth to mysql in case nothing has been specified. + myconf="${myconf} --with-mysql" + fi + + econf \ + --with-gnu-ld \ + ${myconf} \ + --sysconfdir=/etc/mangos \ + $(use_with mysql) \ + $(use_with postgres postgresql) \ + $(use_enable cli) \ + $(use_enable ra) \ + $(use_enable debug debug-info) \ + || die "econf failed" + + emake || die "emake with current options failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + rm -f "${D}/usr/bin/gensvnrevision" # not really part of mangos dist + + doinitd "${FILESDIR}/${PV}/mangos-realmd" || die + doinitd "${FILESDIR}/${PV}/mangos-worldd" || die + + dodir /usr/share/mangos/dbc + dodir /usr/share/mangos/maps + dodir /usr/share/mangos/vmaps + + dodir /var/log/mangos + + fowners root.mangos /etc/mangos + fowners mangos.mangos /var/log/mangos +} + +pkg_postinst() { + ewarn "You need to manually configure MaNGOS." + ewarn "See /etc/mangos/ for config files." + ewarn "Remember to move you maps, DBC and vmaps files to your data folder - /usr/share/mangos/" + ewarn + ewarn "Don't forget to run SQL scripts for:" + ewarn "\t- MaNGOS databases : /usr/share/mangos/sql" + + useq sd2 && ewarn "\t- ScriptDev2 database: /usr/share/scriptdev2/sql" + + ewarn + einfo "If you want Mangos to start automatically on boot execute :" + einfo "\t- rc-update add mangos-realmd default" + einfo "\t- rc-update add mangos-worldd default" + einfo +} |