1 # Created by: Dmitry Sivachenko <demon@FreeBSD.org>
8 MASTER_SITES= https://github.com/jabberd2/jabberd2/releases/download/${PORTNAME}-${DISTVERSION}/ \
9 LOCAL/matthew/${PORTNAME}
11 MAINTAINER= mm@FreeBSD.org
12 COMMENT= Online presence and instant messaging server
16 LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
17 libidn.so:${PORTSDIR}/dns/libidn \
18 libudns.so:${PORTSDIR}/dns/udns
20 OPTIONS_DEFINE= MYSQL PGSQL LDAP BDB SQLITE PAM PIPE ANON FS DEBUG REQUIRES \
21 DOCS SUPERSEDED EXPERIMENTAL
23 OPTIONS_SINGLE_SASL= CYRUS GSASL
24 OPTIONS_DEFAULT=MYSQL DEBUG GSASL
30 USES= iconv perl5 compiler:c11 tar:xz
32 USE_LDCONFIG= ${PREFIX}/lib/jabberd
33 CONFIGURE_ARGS+= --localstatedir=/var \
34 --sysconfdir=${PREFIX}/etc/jabberd \
35 --enable-ssl --enable-mio=poll \
37 --with-extra-include-path="${LOCALBASE}/include ${EIP}" \
38 --with-extra-library-path="${LOCALBASE}/lib ${ELP}"
44 GROUPS= ${JABBER_GROUP}
46 JABBER_ETCDIR= "${PREFIX}/etc/jabberd"
47 JABBER_RUNDIR= "/var/jabberd"
49 SUB_LIST+= JABBER_USER=${JABBER_USER} \
50 JABBER_GROUP=${JABBER_GROUP} \
51 JABBER_ETCDIR="${JABBER_ETCDIR}" \
52 JABBER_RUNDIR="${JABBER_RUNDIR}" \
55 SUB_FILES+= pkg-install pkg-deinstall
59 DOCFILES= AUTHORS ChangeLog NEWS README README.config \
67 DEBUG_CONFIGURE_ENABLE= debug
70 PGSQL_CONFIGURE_ENABLE= pgsql
72 SQLITE_CONFIGURE_ENABLE=sqlite
73 SQLITE_LIB_DEPENDS= libsqlite3.so:${PORTSDIR}/databases/sqlite3
74 SQLITE_CFLAGS= ${PTHREAD_CFLAGS}
77 MYSQL_CONFIGURE_ENABLE= mysql
80 BDB_CONFIGURE_ENABLE= db
81 BDB_CONFIGURE_ON= --oldincludedir=/nonexistant
83 LDAP_USE= OPENLDAP=yes
84 LDAP_CONFIGURE_ENABLE= ldap
86 FS_CONFIGURE_ENABLE= fs
87 FS_DESC= Filesystem storage (only for testing)
89 PAM_CONFIGURE_ENABLE= pam
91 PIPE_CONFIGURE_ENABLE= pipe
92 PIPE_DESC= Enable pipe (auth/reg)
94 ANON_CONFIGURE_ENABLE= anon
95 ANON_DESC= Enable anonymous (auth/reg)
97 CYRUS_CONFIGURE_ON= --with-sasl=cyrus
98 CYRUS_DESC= Use Cyrus SASL backend (not supported)
99 CYRUS_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
101 GSASL_CONFIGURE_ON= --with-sasl=gsasl
102 GSASL_DESC= Use GSASL backend
103 GSASL_LIB_DEPENDS= libgsasl.so:${PORTSDIR}/security/gsasl
105 SUPERSEDED_CONFIGURE_ENABLE= superseded
106 SUPERSEDED_DESC= Enable superseded features (ns_TIME)
108 EXPERIMENTAL_CONFIGURE_ENABLE= experimental
109 EXPERIMENTAL_DESC= Enable experimental features (TLS-Everywhere)
111 .include <bsd.port.options.mk>
113 .if (${OPSYS} != FreeBSD || ${OSVERSION} < 1000000)
114 WITH_OPENSSL_PORT= yes
117 .if ${PORT_OPTIONS:MPGSQL}
118 _REQUIRE+= postgresql
121 .if ${PORT_OPTIONS:MMYSQL}
122 EIP+=${LOCALBASE}/include/mysql
123 ELP+=${LOCALBASE}/lib/mysql
127 .if ${PORT_OPTIONS:MBDB}
128 EIP+=${BDB_INCLUDE_DIR}
132 .if ${PORT_OPTIONS:MLDAP}
136 .if ${PORT_OPTIONS:MREQUIRES}
137 SUB_LIST+= REQUIRE="${_REQUIRE}"
139 SUB_LIST+= REQUIRE="LOGIN"
141 REQUIRES_DESC= Add backend requires to startup script
144 @${REINPLACE_CMD} -e 's|"-lsqlite3|"-lsqlite3 ${PTHREAD_LIBS}|g' \
146 @${REINPLACE_CMD} -e 's|%%PERL%%|${PERL}|g' \
147 ${WRKSRC}/tools/jabberd.in
148 .if ${PORT_OPTIONS:MCYRUS}
149 @${REINPLACE_CMD} -e '/^#error /d' \
150 ${WRKSRC}/sx/sasl_cyrus.c
154 .if ${PORT_OPTIONS:MDOCS}
155 @${MKDIR} ${STAGEDIR}${DOCSDIR}
156 .for FILE in ${DOCFILES}
157 ${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
159 .for FILE in db-setup.mysql db-setup.pgsql db-setup.sqlite
160 ${INSTALL_DATA} ${WRKSRC}/tools/${FILE} ${STAGEDIR}${DOCSDIR}
164 .include <bsd.port.mk>