summaryrefslogtreecommitdiff
path: root/chat/jabberd2/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'chat/jabberd2/Makefile')
-rw-r--r--chat/jabberd2/Makefile181
1 files changed, 181 insertions, 0 deletions
diff --git a/chat/jabberd2/Makefile b/chat/jabberd2/Makefile
new file mode 100644
index 00000000000..66658af26f6
--- /dev/null
+++ b/chat/jabberd2/Makefile
@@ -0,0 +1,181 @@
+# $NetBSD: Makefile,v 1.1.1.1 2004/03/28 19:44:05 xtraeme Exp $
+#
+
+DISTNAME= jabberd-2.0s2
+CATEGORIES= chat
+MASTER_SITES= http://www.jabberstudio.org/files/jabberd2/
+
+MAINTAINER= xtraeme@NetBSD.org
+HOMEPAGE= http://jabberd.jabberstudio.org/2/
+COMMENT= Instant messaging server (version 2)
+
+CONFLICTS= jabberd-[0-9]*:../../chat/jabberd
+
+USE_BUILDLINK3= yes
+USE_LIBTOOL= yes
+GNU_CONFIGURE= yes
+USE_PKGINSTALL= yes
+
+BUILDLINK_DEPENDS.openssl+= openssl>=0.9.6b
+BUILDLINK_TRANSFORM.db4= -e "s,/db4/,/,g"
+
+SUBST_CLASSES= path
+SUBST_STAGE.path= post-patch
+SUBST_FILES.path= configure
+SUBST_MESSAGE.path= "Fixing configure script."
+SUBST_SED.path= -e "s,/usr/local,${PREFIX},g" \
+ -e "s,\$sysconfdir/jabberd,\$sysconfdir,g"
+
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+#CONFIGURE_ARGS+= --enable-debug
+
+REPLACE_PERL= tools/pipe-auth.pl
+
+.include "../../mk/bsd.prefs.mk"
+
+BUILD_DEFS+= JABBERD_USER JABBERD_STATIC \
+ JABBERD_AUTH_METHOD JABBERD_STORAGE_METHOD \
+ JABBERD_LOGDIR JABBERD_DBDIR JABBERD_PIDDIR
+
+# This specify the actual method which will be used for authenticate
+# the users/accounts.
+#
+# JABBERD_AUTH_METOD has 4 available options:
+#
+# db (by default)
+# mysql (MySQL)
+# openldap (OpenLDAP)
+# pam (Pluggable Authentication Module)
+# pgsql (PostgreSQL)
+
+JABBERD_AUTH_METHOD?= db
+AUTHREG_MODS="anon pipe ${JABBERD_AUTH_METHOD}"
+
+.if !empty(JABBERD_AUTH_METHOD:Mdb)
+CONFIGURE_ARGS+= --enable-authreg=${AUTHREG_MODS}
+CONFIGURE_ARGS+= --with-berkeley-db=${BUILDLINK_DIR}/include
+. include "../../databases/db4/buildlink3.mk"
+. elif !empty(JABBERD_AUTH_METHOD:Mopenldap)
+CONFIGURE_ARGS+= --enable-authreg=${AUTHREG_MODS}
+CONFIGURE_ARGS+= --with-openldap=${BUILDLINK_PREFIX.openldap}
+. include "../../databases/openldap/buildlink3.mk"
+. elif !empty(JABBERD_AUTH_METHOD:Mpgsql)
+CONFIGURE_ARGS+= --enable-authreg=${AUTHREG_MODS}
+CONFIGURE_ARGS+= --with-pgsql=${BUILDLINK_PREFIX.postgresql-lib}
+. include "../../databases/postgresql-lib/buildlink3.mk"
+. elif !empty(JABBERD_AUTH_METHOD:Mmysql)
+CONFIGURE_ARGS+= --enable-authreg=${AUTHREG_MODS}
+CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-server}
+. include "../../databases/mysql-client/buildlink3.mk"
+. elif !empty(JABBERD_AUTH_METHOD:Mpam)
+CONFIGURE_ARGS+= --enable-authreg=${AUTHREG_MODS}
+CONFIGURE_ARGS+= --with-pam=${BUILDLINK_PREFIX.PAM}
+. include "../../security/PAM/buildlink3.mk"
+.endif
+
+# This specify the actual method which will be used to store the accounts
+# and related information.
+#
+# JABBERD_STORAGE_METHOD has 3 available options:
+#
+# db (by default)
+# mysql (MySQL)
+# pgsql (PostgreSQL)
+
+JABBERD_STORAGE_METHOD?= db
+
+.if !empty(JABBERD_STORAGE_METHOD:Mdb)
+CONFIGURE_ARGS+= --enable-storage=db
+CONFIGURE_ARGS+= --with-berkeley-db=${BUILDLINK_DIR}/include
+. include "../../databases/db4/buildlink3.mk"
+. elif !empty(JABBERD_STORAGE_METHOD:Mmysql)
+CONFIGURE_ARGS+= --enable-storage=mysql
+CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-server}
+. include "../../databases/mysql-client/buildlink3.mk"
+. elif !empty(JABBERD_STORAGE_METHOD:Mpgsql)
+CONFIGURE_ARGS+= --enable-storage=pgsql
+CONFIGURE_ARGS+= --with-pgsql=${BUILDLINK_PREFIX.postgresql-lib}
+. include "../../databases/postgresql-lib/buildlink3.mk"
+.endif
+
+.if defined(JABBERD_STATIC) && !empty(JABBERD_STATIC:M[Yy][Ee][Ss])
+CONFIGURE_ARGS+= --enable-all-static
+.endif
+
+PKG_SYSCONFSUBDIR= jabberd
+RCD_SCRIPTS= jabberd c2s sm resolver router s2s
+JABBERD_USER?= jabberd
+JABBERD_GROUP?= jabberd
+FILES_SUBST+= JABBERD_USER=${JABBERD_USER}
+FILES_SUBST+= JABBERD_GROUP=${JABBERD_GROUP}
+FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR}
+FILES_SUBST+= JABBERD_LOGDIR=${JABBERD_LOGDIR}
+PKG_GROUPS= ${JABBERD_GROUP}
+PKG_USERS= ${JABBERD_USER}:${JABBERD_GROUP}
+
+BINDIR= ${PREFIX}/bin
+EGDIR= ${PREFIX}/share/examples/jabberd
+SUPPORT_FILES= ${EGDIR}/jabberd.cfg ${PKG_SYSCONFDIR}/jabberd.cfg
+
+FILES= c2s.xml resolver.xml router.xml \
+ router-users.xml s2s.xml sm.xml
+DBFILES= db-setup.mysql db-setup.pgsql
+
+.for f in ${FILES}
+CONF_FILES+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
+.endfor
+CONF_FILES+= ${EGDIR}/roster.xml ${PKG_SYSCONFDIR}/roster.xml
+.undef f
+
+# Directory to store the log files
+JABBERD_LOGDIR?= /var/log/jabberd
+# Directory to store the database files
+JABBERD_DBDIR?= /var/db/jabberd
+# Directory to store the pid files
+JABBERD_PIDDIR?= /var/run/jabberd
+
+.for f in ${JABBERD_LOGDIR} ${JABBERD_DBDIR} ${JABBERD_PIDDIR}
+OWN_DIRS_PERMS+= ${f} ${JABBERD_USER} ${JABBERD_GROUP} 770
+.endfor
+.undef f
+
+post-extract:
+.for f in jabberd.cfg ${FILES}
+ @${MV} ${WRKSRC}/etc/${f}.dist.in ${WRKSRC}/etc/${f}.in
+.endfor
+.undef f
+
+pre-configure:
+.for f in ${FILES}
+ @${SED} \
+ -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g" \
+ -e "s|@PIDDIR@|${JABBERD_PIDDIR}|g" \
+ -e "s|@LOGDIR@|${JABBERD_LOGDIR}|g" \
+ -e "s|@SSLCERTS@|${SSLCERTS}|g" \
+ -e "s|@BINDIR@|${PREFIX}/bin|g" \
+ -e "s|@DBDIR@|${JABBERD_DBDIR}|g" \
+ ${WRKSRC}/etc/${f}.in > ${WRKSRC}/etc/${f}
+.endfor
+.undef f
+ @${SED} \
+ -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g" \
+ -e "s|@BINDIR@|${PREFIX}/bin|g " \
+ ${WRKSRC}/etc/jabberd.cfg.in > ${WRKSRC}/etc/jabberd.cfg
+
+post-install:
+ ${INSTALL_DATA_DIR} ${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/etc/templates/roster.xml.dist.in \
+ ${EGDIR}/roster.xml
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/pipe-auth.pl ${BINDIR}
+.for f in ${DBFILES}
+ ${INSTALL_DATA} ${WRKSRC}/tools/${f} ${EGDIR}
+.endfor
+.undef f
+.for f in jabberd.cfg ${FILES}
+ ${INSTALL_DATA} ${WRKSRC}/etc/${f} ${EGDIR}
+.endfor
+.undef f
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"