pkgsrc/chat/jabberd2/Makefile
xtraeme 6c3fb39c17 Initial import of jabberd2 (2.0s2) from pkgsrc-wip.
Jabber is an open XML protocol for real-time exchange of messages and
presence notification between any two points on the Internet.  The first
application of Jabber technology is an asynchronous, extensible instant
messaging platform, and an IM network that offers functionality similar
to legacy IM systems such as AIM, ICQ, MSN, and Yahoo.

This is a complete rewrite of the original jabberd.
2004-03-28 19:44:05 +00:00

181 lines
5.6 KiB
Makefile

# $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"