# $NetBSD: Makefile,v 1.10 2014/06/01 12:49:38 thomasklausner Exp $

DISTNAME=		MostAwesomeDude-bravo-1.8.1-0-gf6cb5fe
BRAVO_VERSION=		1.8.1
PKGNAME=		${PYPKGPREFIX}-bravo-${BRAVO_VERSION}
CATEGORIES=		games
# MASTER_SITES=		http://pypi.python.org/packages/source/B/Bravo/
MASTER_SITES=		https://github.com/MostAwesomeDude/bravo/tarball/${BRAVO_VERSION}/

MAINTAINER=		eric@cirr.com
HOMEPAGE=		http://www.bravoserver.org/
COMMENT=		Minecraft game server in python
LICENSE=		mit

DEPENDS+=		${PYPKGPREFIX}-construct>=0.4.1:../../wip/py-construct
DEPENDS+=		${PYPKGPREFIX}-numpy>=0nb4:../../math/py-numpy
DEPENDS+=		${PYPKGPREFIX}-twisted>=10.1:../../net/py-twisted


# make sure to update when updating DISTNAME.
#   thank you github for such amazing autogenerated names.
#   and thank you for inconistant filenames..
WRKSRC=			${WRKDIR}/MostAwesomeDude-bravo-0e9fb17
EGG_NAME=		Bravo-${BRAVO_VERSION}

# REPLACE_PYTHON+=	spectrumctl/spectrumctl.py
PY_PATCHPLIST=		yes
PYDISTUTILSPKG=		yes
PYTHON_VERSIONS_INCOMPATIBLE=	33 34 35 # py-twisted

.include "../../mk/bsd.prefs.mk"

BUILD_DEFS+=		VARBASE BRAVO_LOGDIR BRAVO_PIDDIR BRAVO_RUNDIR
BUILD_DEFS+=		BRAVO_USER BRAVO_GROUP

BRAVO_USER?=		bravo
BRAVO_GROUP?=		bravo
BRAVO_LOGDIR?=		${VARBASE}/log
BRAVO_PIDDIR?=		${VARBASE}/run
BRAVO_RUNDIR?=		${VARBASE}/tmp/bravo

PKG_GROUPS+=		${BRAVO_GROUP}
PKG_USERS+=		${BRAVO_USER}:${BRAVO_GROUP}

MESSAGE_SUBST+=		EGDIR=${EGDIR}
MESSAGE_SUBST+=		DOCDIR=${DOCDIR}
MESSAGE_SUBST+=		PKG_SYSCONFDIR=${PKG_SYSCONFDIR}

FILES_SUBST+=		PREFIX=${PREFIX}
FILES_SUBST+=		PYTHONBIN=${PYTHONBIN}
FILES_SUBST+=		BRAVO_USER=${BRAVO_USER}
FILES_SUBST+=		BRAVO_GROUP=${BRAVO_GROUP}
FILES_SUBST+=		BRAVO_LOGDIR=${BRAVO_LOGDIR}
FILES_SUBST+=		BRAVO_PIDDIR=${BRAVO_PIDDIR}
FILES_SUBST+=		BRAVO_RUNDIR=${BRAVO_RUNDIR}

RCD_SCRIPTS=		bravo
PKG_SYSCONFSUBDIR=	bravo
EGDIR=			${PREFIX}/share/examples/bravo
DOCDIR=			${PREFIX}/share/doc/bravo
CONF_FILES+=		${EGDIR}/bravo.ini ${PKG_SYSCONFDIR}/bravo.ini

DOCFILES+=		administration.rst
DOCFILES+=		auxiliary.rst
DOCFILES+=		blocks.rst
DOCFILES+=		chunk.rst
DOCFILES+=		conf.py
DOCFILES+=		core.rst
DOCFILES+=		differences.rst
DOCFILES+=		entity.rst
DOCFILES+=		factory.rst
DOCFILES+=		features.rst
DOCFILES+=		furnace.rst
DOCFILES+=		globals.txt
DOCFILES+=		ibravo.rst
DOCFILES+=		index.rst
DOCFILES+=		introduction.rst
DOCFILES+=		inventory.rst
DOCFILES+=		location.rst
DOCFILES+=		noise.rst
DOCFILES+=		packets.rst
DOCFILES+=		philosophy.rst
DOCFILES+=		plugin.rst
DOCFILES+=		plugins.rst
DOCFILES+=		protocol.rst
DOCFILES+=		simplex.rst
DOCFILES+=		stdio.rst
DOCFILES+=		tools.rst
DOCFILES+=		troubleshooting.rst
DOCFILES+=		utilities.rst
DOCFILES+=		web.rst
DOCFILES+=		world.rst


SUBST_CLASSES+=		cfgpath
SUBST_STAGE.cfgpath=	post-patch
SUBST_FILES.cfgpath+=	bravo/config.py
SUBST_FILES.cfgpath+=	README.rst
# SUBST_FILES.cfgpath+=	PKG-INFO
# SUBST_FILES.cfgpath+=	Bravo.egg-info/PKG-INFO
SUBST_MESSAGE.cfgpath=	Correcting the configuration directory.
SUBST_SED.cfgpath=	-e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},g'

INSTALLATION_DIRS=	bin ${PKG_SYSCONFDIR} ${EGDIR} ${DOCDIR}

post-install:
	${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
	${INSTALL_DATA_DIR} ${DESTDIR}${DOCDIR}
	${INSTALL_DATA} ${WRKSRC}/bravo.ini.example \
						${DESTDIR}${EGDIR}/bravo.ini
	${INSTALL_DATA} ${WRKSRC}/README.rst ${DESTDIR}${DOCDIR}
.for f in ${DOCFILES}
	${INSTALL_DATA} ${WRKSRC}/docs/${f} ${DESTDIR}${DOCDIR}
.endfor


.include "../../lang/python/egg.mk"

.include "../../mk/bsd.pkg.mk"
