summaryrefslogtreecommitdiffstats
path: root/games/tinymux/Makefile
blob: 0688d24f345f9311c4e574f176a80a15b3aaa6e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Created by: cjohnson
# $FreeBSD$

PORTNAME=	tinymux
PORTVERSION=	2.10.1.${PATCHLEVEL}
PORTREVISION=	1
CATEGORIES=	games net
MASTER_SITES=	GOOGLE_CODE
DISTNAME=	mux-${PORTVERSION}.unix

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Multi-Player FreeForm adventure Program

LICENSE=	ART10
LICENSE_FILE=	${WRKSRC}/copyright.h

WRKSRC=		${WRKDIR}/mux2.10/src

USES=		gmake
GNU_CONFIGURE=	yes
USE_LDCONFIG=	yes

CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib -lcrypto

PATCHLEVEL=	12

PORTDOCS=	*

OPTIONS_DEFINE=	DOCS FIRANMUX MEMORY_BASED REALITY_LVLS SELFCHECK SSL WOD_REALMS
OPTIONS_DEFAULT=	ASYNCHRONOUS_SQL SSL REALITY_LVLS WOD_REALMS
OPTIONS_SUB=	yes

OPTIONS_RADIO=	MYSQL
OPTIONS_RADIO_MYSQL=	ASYNCHRONOUS_SQL INLINE_SQL

ASYNCHRONOUS_SQL_DESC=	MySQL asynchronous support is unique to TinyMUX
FIRANMUX_DESC=		Firan MUX via Firan database (need MEMORY_BASED)
INLINE_SQL_DESC=	MySQL support compatible with PennMUSH, TinyMUSH 3.x
MEMORY_BASED_DESC=	Memory Based Database support
REALITY_LVLS_DESC=	Reality Levels support
SELFCHECK_DESC=		Enable expensive self-checking
WOD_REALMS_DESC=	World of Darkness Realms support

ASYNCHRONOUS_SQL_CONFIGURE_ENABLE=	stubslave
FIRANMUX_CONFIGURE_ENABLE=	firanmux
INLINE_SQL_CONFIGURE_ENABLE=	inlinesql
MEMORY_BASED_CONFIGURE_ENABLE=	memorybased
REALITY_LVLS_CONFIGURE_ENABLE=	realitylvls
SELFCHECK_CONFIGURE_ENABLE=	selfcheck
SSL_CONFIGURE_ENABLE=		ssl
SSL_USE=			OPENSSL=yes
WOD_REALMS_CONFIGURE_ENABLE=	wodrealms

SUB_FILES=	${PORTNAME} pkg-deinstall pkg-message

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MASYNCHRONOUS_SQL} || ${PORT_OPTIONS:MINLINE_SQL}
USE_MYSQL=	yes
CONFIGURE_ARGS+=	--with-mysql-include=${LOCALBASE}/include/mysql \
			--with-mysql-libs=${LOCALBASE}/lib/mysql
.endif

.if ${PORT_OPTIONS:MFIRANMUX}
.if ${PORT_OPTIONS:MREALITY_LVLS} || ${PORT_OPTIONS:MWOD_REALMS}
IGNORE=	FIRANMUX is incompatible with both WOD_REALMS and REALITY_LVLS
.endif
.endif

post-patch:
	@${REINPLACE_CMD} -e \
		's|@LIBS@|@LDFLAGS@ @LIBS@|; \
		 s|^OPTIM =.*|OPTIM = @CPPFLAGS@|' ${WRKSRC}/Makefile.in

do-install:
	${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/

.for file in netmux slave
	${INSTALL_PROGRAM} ${WRKSRC}/${file} ${STAGEDIR}${PREFIX}/sbin/
.endfor
	${LN} -sf ${PREFIX}/sbin/netmux ${STAGEDIR}${PREFIX}/bin/dbconvert
	${INSTALL_DATA} ${WRKSRC}/libmux.so ${STAGEDIR}${PREFIX}/lib/
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmux.so

	@${MKDIR} ${STAGEDIR}${ETCDIR}
.for file in alias.conf compat.conf mux.config netmux.conf
	${INSTALL_DATA} ${WRKSRC}/../game/${file} \
		${STAGEDIR}${ETCDIR}/${file}.sample
.endfor

.if ${PORT_OPTIONS:MSSL}
	${INSTALL_DATA} ${WRKSRC}/../game/muxssl.conf \
		${STAGEDIR}${ETCDIR}/muxssl.conf.sample
.endif

.for d in data text
	@(cd ${WRKSRC}/../game && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR})
.endfor
	@${CHMOD} 775 ${STAGEDIR}${DATADIR}/data

.for file in Backup Startmux _backupflat.sh
	${INSTALL_SCRIPT} ${WRKSRC}/../game/${file} \
		${STAGEDIR}${DATADIR}
.endfor

	cd ${WRKSRC}/.. && ${COPYTREE_SHARE} \
		"ATTACK CHANGES MODULES NOTES README REALITY REALITY.SETUP SGP SQL SSL docs" \
		${STAGEDIR}${DOCSDIR}/

.include <bsd.port.mk>
OpenPOWER on IntegriCloud