pkgsrc-wip/jabberd2/Makefile
Eric Schnoebelen 2fb7aef9fa This release fixes long hunted busy-loop-no-listen bug with select
MIO backend, some XMPP compliance fixes, new Win32 build, compilation
fixes and more...

ChangeLog:
 * Fixed endless loop for failed session closure
 * Fixed packet to non-existing users handling to be conformant to RFC
   3921bis 8.1. No Such User
 * Fixed loop on select. Closes #125
 * Added pam authpipe script
 * Added example pam.d/jabber file from Gentoo
 * Changed example localdomain names to FQDN localhost.localdomain
 * Fixed Win32 build
 * Update of Visual Studio dependent libraries
 * Using MIO_WOULDBLOCK for Windows.
 * Added db-update.sqlite
 * Define S_IRUSR, S_IWUSR, S_IRGRP to 0 on Windows, as we don't have
   unix permissions there and those variables are undefined.
 * JABBERD2_API for _stanza_errors[], so it is exported in Windows to DLL.
 * moved _mio_wnd_proc to mio_wsasync.c (better for debugging)
 * fixed defer_free in right structure
 * check socked range in _mio_wnd_proc in case we get some invalid
   WM_APP + sthing message
 * added patch from Dan Hulme zeroing structures added to free pool
   (thanks Dan!)
 * Send vacation reply only to humans (full JIDs). Fixes #186
 * Updated supported protocol listing
 * Updated license template
 * Using OpenSSL implementation of SHA1 hash if OpenSSL library enabled
 * Added check whether -O optimization is to high. Fixes #100
 * Changed contact address to list address
 * Added BerkeleyDB dump script
 * Added BerkeleyDB-2-MySQL migration script
 * Implemented XEP-0232: Software Information
 * Fixed possible crash when debug is on
 * Fix for session restoration packet without queued result

For a full ChangeLog see:
http://svn.xiaoka.com/jabberd2/tags/jabberd-2.1.23/ChangeLog
2008-02-07 05:35:42 +00:00

124 lines
3.6 KiB
Makefile

# $NetBSD: Makefile,v 1.47 2008/02/07 05:35:42 schnoebe Exp $
#
DISTNAME= jabberd-2.1.23
CATEGORIES= chat
MASTER_SITES= http://ftp.xiaoka.com/jabberd2/releases/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= eric@cirr.com
HOMEPAGE= http://jabberd2.xiaoka.com/
COMMENT= XMPP (Jabber) instant messaging server
CONFLICTS= jabberd-[0-9]*
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
BUILDLINK_FNAME_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"
SUBST_SED.path+= -e "s,\$$sysconfdir/jabberd,\$$sysconfdir,g"
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+= --disable-mysql
CONFIGURE_ARGS+= --enable-pipe
CONFIGURE_ARGS+= --enable-anon
CONFIGURE_ARGS+= --enable-ssl
CONFIGURE_ARGS+= --enable-fs
# only GNU sasl is really supported
CONFIGURE_ARGS+= --with-sasl=gsasl
USE_TOOLS+= perl:run
REPLACE_PERL+= tools/*.pl
.include "../../mk/bsd.prefs.mk"
JABBERD_DBDIR?= ${VARBASE}/db/jabberd
BUILD_DEFS+= VARBASE JABBERD_USER JABBERD_GROUP
BUILD_DEFS+= JABBERD_LOGDIR JABBERD_PIDDIR JABBERD_DBDIR
PKG_SYSCONFSUBDIR= jabberd
RCD_SCRIPTS= jabberd c2s sm resolver router s2s
JABBERD_USER?= jabberd
JABBERD_GROUP?= jabberd
FILES_SUBST+= JABBERD_USER=${JABBERD_USER:Q}
FILES_SUBST+= JABBERD_GROUP=${JABBERD_GROUP:Q}
FILES_SUBST+= JABBERD_PIDDIR=${JABBERD_PIDDIR:Q}
FILES_SUBST+= JABBERD_LOGDIR=${JABBERD_LOGDIR:Q}
PKG_USERS_VARS+= JABBERD_USER
PKG_GROUPS_VARS+= JABBERD_GROUP
PKG_GROUPS= ${JABBERD_GROUP}
PKG_USERS= ${JABBERD_USER}:${JABBERD_GROUP}
BINDIR= ${PREFIX}/bin
EGDIR= ${PREFIX}/share/examples/jabberd
DOCDIR= ${PREFIX}/share/doc/jabberd
FILES= jabberd.cfg c2s.xml resolver.xml router.xml \
router-users.xml router-filter.xml s2s.xml \
sm.xml
DBFILES= db-jd14-2-jd2.sql db-setup.mysql db-setup.pgsql \
db-update.mysql db-setup.sqlite
DOCFILES= README.protocol README UPGRADE ChangeLog
INSTALLATION_DIRS= bin share/examples/jabberd share/doc/jabberd
.for f in ${FILES}
CONF_FILES+= ${EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
.endfor
CONF_FILES+= ${EGDIR}/roster.xml ${PKG_SYSCONFDIR}/roster.xml
.include "options.mk"
.for f in ${JABBERD_LOGDIR} ${JABBERD_DBDIR} ${JABBERD_PIDDIR}
OWN_DIRS_PERMS+= ${f} ${JABBERD_USER} ${JABBERD_GROUP} 770
.endfor
post-extract:
.for f in ${FILES}
mv ${WRKSRC}/etc/${f}.dist.in ${WRKSRC}/etc/${f}.in
.endfor
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" \
-e "s|@pkglibdir@|${PREFIX}/lib/jabberd|g" \
${WRKSRC}/etc/${f}.in > ${WRKSRC}/etc/${f}
.endfor
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}
${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate.pl ${BINDIR}
.for f in ${DBFILES}
${INSTALL_DATA} ${WRKSRC}/tools/${f} ${EGDIR}
.endfor
.for f in ${FILES}
${INSTALL_DATA} ${WRKSRC}/etc/${f} ${EGDIR}
.endfor
.for f in ${DOCFILES}
${INSTALL_DATA} ${WRKSRC}/${f} ${DOCDIR}
.endfor
.include "../../security/gsasl/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/libidn/buildlink3.mk"
.include "../../security/gsasl/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"