summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Parpart <trapni@gentoo.org>2009-02-14 07:51:02 +0000
committerChristian Parpart <trapni@gentoo.org>2009-02-14 07:51:02 +0000
commitd2ca3e7335a81fda1bc5a2114775b11801d3f823 (patch)
tree7e6e163a41463de41609ef8bbd7f6e6b592f4ea9 /games-rpg
parentFix implicit strsep() prototype in x509 code #258795 by orlin. (diff)
downloadgentoo-2-d2ca3e7335a81fda1bc5a2114775b11801d3f823.tar.gz
gentoo-2-d2ca3e7335a81fda1bc5a2114775b11801d3f823.tar.bz2
gentoo-2-d2ca3e7335a81fda1bc5a2114775b11801d3f823.zip
adapted to changes in built management; and updated project uri.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'games-rpg')
-rw-r--r--games-rpg/mangos/ChangeLog9
-rw-r--r--games-rpg/mangos/mangos-9999.1.ebuild155
2 files changed, 162 insertions, 2 deletions
diff --git a/games-rpg/mangos/ChangeLog b/games-rpg/mangos/ChangeLog
index 1eebd2f6b5a1..f81b2729852b 100644
--- a/games-rpg/mangos/ChangeLog
+++ b/games-rpg/mangos/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for games-rpg/mangos
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/mangos/ChangeLog,v 1.1 2008/10/04 07:38:26 trapni Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/mangos/ChangeLog,v 1.2 2009/02/14 07:51:02 trapni Exp $
+
+*mangos-9999.1 (14 Feb 2009)
+
+ 14 Feb 2009; Christian Parpart <trapni@gentoo.org> +mangos-9999.1.ebuild:
+ adapted to changes in built management; and updated project uri.
*mangos-9999 (04 Oct 2008)
diff --git a/games-rpg/mangos/mangos-9999.1.ebuild b/games-rpg/mangos/mangos-9999.1.ebuild
new file mode 100644
index 000000000000..5c42c4c21463
--- /dev/null
+++ b/games-rpg/mangos/mangos-9999.1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/mangos/mangos-9999.1.ebuild,v 1.1 2009/02/14 07:51:02 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 git subversion autotools
+
+MANGOS_REPO_URI="git://github.com/mangos/mangos.git"
+SD2_REPO_URI="https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2"
+
+EGIT_REPO_URI="${MANGOS_REPO_URI}"
+ESVN_REPO_URI="${SD2_REPO_URI}"
+
+DESCRIPTION="Massive Network Game Object Server"
+HOMEPAGE="http://getmangos.com/"
+
+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"
+
+## setup some env vars we use everywhere (but might change from ebuild to ebuild)
+setup_env() {
+# export PREFIX='/usr'
+# export SYSCONFDIR='/etc/mangos'
+# export LOGDIR='/var/log/mangos'
+
+ export PREFIX='/opt/mangos'
+ export SYSCONFDIR='/opt/mangos/etc'
+ export LOGDIR='/opt/mangos/log'
+
+ export PV_FILES='9999'
+}
+
+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
+sd2_src_unpack() {
+ S="${S}/src/bindings/ScriptDev2" ESVN_REPO_URI="${SD2_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() {
+ git_src_unpack
+
+ useq sd2 && sd2_src_unpack
+
+ cd "${S}" || die
+ eautoreconf --force --install || die "eautoreconf failed"
+}
+
+src_compile() {
+ setup_env
+ local myconf
+
+ if ! useq mysql && ! useq postgres; then
+ # defaulth to mysql in case nothing has been specified.
+ myconf="${myconf} --with-mysql"
+ fi
+
+ mkdir obj || die
+ cd obj
+
+ ECONF_SOURCE=.. econf \
+ --with-gnu-ld \
+ ${myconf} \
+ --prefix=${PREFIX} \
+ --sysconfdir=${SYSCONFDIR} \
+ $(use_with mysql) \
+ $(use_with postgres postgresql) \
+ $(use_enable cli) \
+ $(use_enable ra) \
+ $(use_enable doc doxygen) \
+ $(use_enable debug debug-info) \
+ || die "econf failed"
+
+ emake || die "emake with current options failed"
+}
+
+src_install() {
+ setup_env
+
+ cd obj
+
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ rm -f "${D}${PREFIX}/bin/genrevision" # not really part of mangos dist
+
+ doinitd "${FILESDIR}/${PV_FILES}/mangos-realmd" || die
+ doinitd "${FILESDIR}/${PV_FILES}/mangos-worldd" || die
+
+ dodir ${PREFIX}/share/mangos/dbc
+ dodir ${PREFIX}/share/mangos/maps
+ dodir ${PREFIX}/share/mangos/vmaps
+
+ if useq sd2; then
+ local DIRS=(sql sql/Updates sql/Updates/0.0.1 sql/Updates/0.0.2)
+
+ for dir in ${DIRS[*]}; do
+ dodir ${PREFIX}/share/sd2/${dir} || die
+ cp -r ../src/bindings/ScriptDev2/${dir}/*.sql ${D}${PREFIX}/share/sd2/${dir} || die
+ done
+ fi
+
+ dodir ${LOGDIR}
+
+ fowners root.mangos /etc/mangos
+ fowners mangos.mangos /var/log/mangos
+}
+
+pkg_postinst() {
+ setup_env
+
+ 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 - ${PREFIX}/share/mangos/"
+ ewarn
+ ewarn "Don't forget to run SQL scripts for:"
+ ewarn "\t- MaNGOS databases : ${PREFIX}/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
+}