aboutsummaryrefslogtreecommitdiff
path: root/irc/inspircd/Makefile
blob: 39511030753ecd1db39c7cf0c449abd6cdc9f54c (plain) (blame)
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
# Created by: Craig Edwards <brain@mail1.chatspike.net>

PORTNAME=	inspircd
DISTVERSIONPREFIX=	v
DISTVERSION=	3.11.0
CATEGORIES=	irc

MAINTAINER=	driesm.michiels@gmail.com
COMMENT=	Modular C++ IRC daemon

LICENSE=	GPLv2
LICENSE_FILE=	${WRKSRC}/docs/LICENSE.txt

USES=		compiler:c++11-lang cpe gmake localbase:ldflags perl5
USE_GITHUB=	yes
USE_PERL5=	build
USE_RC_SUBR=	${PORTNAME}

HAS_CONFIGURE=	yes
CONFIGURE_ARGS=	--binary-dir=${PREFIX}/bin \
		--config-dir=${ETCDIR} \
		--data-dir=${_INSPIRCD_DBDIR} \
		--disable-auto-extras \
		--distribution-label=${OPSYS}-${PORTVERSION} \
		--gid=nobody \
		--log-dir=${_INSPIRCD_LOGDIR} \
		--manual-dir=${MANPREFIX}/man/man1 \
		--module-dir=${PREFIX}/libexec/${PORTNAME}/modules \
		--prefix=${PREFIX}/libexec/${PORTNAME} \
		--runtime-dir=${_INSPIRCD_RUNDIR} \
		--uid=nobody

MAKEFILE=	GNUmakefile

SUB_FILES=	pkg-message
SUB_LIST=	INSPIRCD_DBDIR=${_INSPIRCD_DBDIR} \
		INSPIRCD_GROUP=${GROUPS} \
		INSPIRCD_LOGDIR=${_INSPIRCD_LOGDIR} \
		INSPIRCD_RUNDIR=${_INSPIRCD_RUNDIR} \
		INSPIRCD_USER=${USERS} \
		PORTNAME=${PORTNAME}

USERS=		ircd
GROUPS=		ircd

PLIST_SUB=	INSPIRCD_DBDIR=${_INSPIRCD_DBDIR} \
		INSPIRCD_GROUP=${GROUPS} \
		INSPIRCD_LOGDIR=${_INSPIRCD_LOGDIR} \
		INSPIRCD_RUNDIR=${_INSPIRCD_RUNDIR} \
		INSPIRCD_USER=${USERS}

OPTIONS_DEFINE=		GNUTLS LDAP MBEDTLS MYSQL OPENSSL PCRE PGSQL POSIX \
			SQLITE SSLREHASH
OPTIONS_DEFAULT=	OPENSSL POSIX
OPTIONS_SUB=		yes

GNUTLS_DESC=	Build m_ssl_gnutls module
LDAP_DESC=	Build m_ldap module
MBEDTLS_DESC=	Build m_ssl_mbedtls module
MYSQL_DESC=	Build m_mysql module
OPENSSL_DESC=	Build m_ssl_openssl module
PCRE_DESC=	Build m_regex_pcre module
PGSQL_DESC=	Build m_pgsql module
POSIX_DESC=	Build m_regex_posix module
SQLITE_DESC=	Build m_sqlite3 module
SSLREHASH_DESC=	Build m_sslrehashsignal module

GNUTLS_LIB_DEPENDS=	libgnutls.so:security/gnutls
GNUTLS_USES=		pkgconfig
GNUTLS_VARS=		EXTRAS+=m_ssl_gnutls.cpp

LDAP_USE=		OPENLDAP=yes
LDAP_VARS=		EXTRAS+=m_ldap.cpp
MBEDTLS_LIB_DEPENDS=	libmbedtls.so:security/mbedtls
MBEDTLS_VARS=		EXTRAS+=m_ssl_mbedtls.cpp
MYSQL_USES=		mysql
MYSQL_VARS=		EXTRAS+=m_mysql.cpp
OPENSSL_USES=		pkgconfig ssl
OPENSSL_VARS=		EXTRAS+=m_ssl_openssl.cpp
PCRE_LIB_DEPENDS=	libpcre.so:devel/pcre
PCRE_VARS=		EXTRAS+=m_regex_pcre.cpp
PGSQL_USES=		pgsql
PGSQL_VARS=		EXTRAS+=m_pgsql.cpp
POSIX_VARS=		EXTRAS+=m_regex_posix.cpp
SQLITE_USES=		pkgconfig sqlite
SQLITE_VARS=		EXTRAS+=m_sqlite3.cpp
SSLREHASH_VARS+=	EXTRAS+=m_sslrehashsignal.cpp

_INSPIRCD_DBDIR?=	/var/db/${PORTNAME}
_INSPIRCD_LOGDIR?=	/var/log/${PORTNAME}
_INSPIRCD_RUNDIR?=	/var/run/${PORTNAME}

post-patch:
	@${REINPLACE_CMD} -e 's|examples/||g' -e 's|\.example||g' ${WRKSRC}/docs/conf/inspircd.conf.example
	@${REINPLACE_CMD} -e 's|examples/||g' -e 's|\.example||g' ${WRKSRC}/docs/conf/modules.conf.example

pre-configure:
	@(cd ${WRKSRC}/src/modules && for m in ${EXTRAS}; do ${RLN} extra/$$m $$m; done)

post-install:
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/modules/*.so
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
	@${MKDIR} ${STAGEDIR}${_INSPIRCD_DBDIR}
	@${MKDIR} ${STAGEDIR}${_INSPIRCD_LOGDIR}
	@${MKDIR} ${STAGEDIR}${_INSPIRCD_RUNDIR}

.include <bsd.port.mk>