pkgsrc-wip/jabberd2/Makefile

134 lines
3.9 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.50 2008/05/24 15:34:11 tnn2 Exp $
#
2008-05-05 17:50:12 +02:00
DISTNAME= jabberd-2.1.24.1
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
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 06:35:42 +01:00
# only GNU sasl is really supported
# CONFIGURE_ARGS+= --with-sasl=gsasl
.if (${MACHINE_ARCH} == alpha)
CONFIGURE_ARGS+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ENV+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
MAKE_ENV+= CXXFLAGS=${CXXFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ARGS+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
CONFIGURE_ENV+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
MAKE_ENV+= CFLAGS=${CFLAGS:M*:C/-O./-O1/:Q}
.endif
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
2007-12-13 04:39:09 +01:00
DBFILES= db-jd14-2-jd2.sql db-setup.mysql db-setup.pgsql \
db-update.mysql db-setup.sqlite
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 06:35:42 +01:00
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}
2008-01-17 18:01:56 +01:00
mv ${WRKSRC}/etc/${f}.dist.in ${WRKSRC}/etc/${f}.in
.endfor
pre-configure:
2008-01-17 18:01:56 +01:00
.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"