freebsd-ports/net-im/mu-conference/Makefile
Tijl Coosemans 9f8b4bcde3 Support LIBS like LDFLAGS.
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS.  Also remove references to
  PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
  required additional patches.

Somewhat simplified a linker command line looks like:

${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}

where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us.  If possible -L and -l flags need to be
added to LIBS to make sure they appear after any -L and -l flags set by
upstream.  Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this
may appear too early on the command line causing installed libraries to
be linked in instead of freshly built ones.

Additional changes:
benchmarks/netio: Replace WITH_IPV6 with an IPV6 option.
comms/gnokii: Replace some patches with USES=pathfix.  Also remove -fPIC.
graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR.
graphics/visionworkbench: Remove FreeBSD 7 support.
multimedia/libmovtar: New LIB_DEPENDS syntax.
multimedia/opencinematools: Use standard do-build.
net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins)
net-mgmt/nagios: Remove -fPIC.
net-mgmt/nagios4: Remove -fPIC.
print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036.
security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with
ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS.  This skips a test
in configure that falsely detects pthread_mutexattr_init in our libc.
sysutils/dar: Fix iconv detection.
x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD
hack and use $CXX as linker as on other platforms.

PR:		190592
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-06-11 14:49:59 +00:00

114 lines
3.6 KiB
Makefile

# Created by: Denis Shaposhnikov <dsh@vlink.ru>
# $FreeBSD$
PORTNAME= mu-conference
PORTVERSION= 0.8
PORTREVISION= 4
CATEGORIES= net-im
MASTER_SITES= http://download.gna.org/mu-conference/
DISTNAME= ${PORTNAME}_${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Multi-User Conferencing component for Jabber
LICENSE= GPLv2
LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
libidn.so:${PORTSDIR}/dns/libidn
USES= pkgconfig
USE_GNOME= glib20
USE_RC_SUBR= ${PORTNAME}
OPTIONS_DEFINE= MYSQL
OPTIONS_DEFAULT=DAEMON
OPTIONS_SINGLE= SERVER
OPTIONS_SINGLE_SERVER= JABBER JABBERD EJABBERD DAEMON
JABBER_DESC= Use with jabberd14 (net-im/jabber)
JABBERD_DESC= Use with jabberd 2.x (net-im/jabberd)
EJABBERD_DESC= Use with ejabberd (net-im/ejabberd)
DAEMON_DESC= Use builtin daemon
SUB_FILES+= pkg-message README.FreeBSD.jabberd14 \
README.FreeBSD.jabberd2 README.FreeBSD.external
DOCFILES= AUTHORS ChangeLog FAQ LICENSE README TODO \
XEP0045_SUPPORT muc-default.xml style.css
PORTDOCS= *
MAKE_JOBS_UNSAFE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL= yes
CFLAGS+= -DHAVE_MYSQL
LIBS+= `${LOCALBASE}/bin/mysql_config --libs`
DOCFILES+= README.sql mu-conference.sql
.endif
MUC_LOGDIR?= /var/log/mu-conference
.if ${PORT_OPTIONS:MJABBER}
JABBER_REQUIRE?= jabber
JABBER_USER?= jabber
JABBER_PIDDIR?= /var/run/jabberd
JABBER_SPOOLDIR?= /var/spool/jabberd
RUN_DEPENDS+= jabberd14:${PORTSDIR}/net-im/jabber
.elif ${PORT_OPTIONS:MJABBERD}
JABBER_REQUIRE?= jabberd
JABBER_USER?= jabber
JABBER_PIDDIR?= /var/jabberd/pid
JABBER_SPOOLDIR?= /var/spool/jabber
RUN_DEPENDS+= jabberd:${PORTSDIR}/net-im/jabberd
.elif ${PORT_OPTIONS:MEJABBERD}
JABBER_REQUIRE?= ejabberd
JABBER_USER?= ejabberd
JABBER_PIDDIR?= /var/jabberd/pid
JABBER_SPOOLDIR?= /var/spool/jabber
RUN_DEPENDS+= ejabberdctl:${PORTSDIR}/net-im/ejabberd
.elif ${PORT_OPTIONS:MDAEMON}
JABBER_REQUIRE?= DAEMON
JABBER_USER?= nobody
JABBER_PIDDIR?= /var/run/mu-conference
JABBER_SPOOLDIR?= /var/spool/mu-conference
.endif
SUB_LIST+= JABBER_REQUIRE="${JABBER_REQUIRE}" \
JABBER_PIDDIR="${JABBER_PIDDIR}" \
JABBER_SPOOLDIR="${JABBER_SPOOLDIR}" \
JABBER_USER=${JABBER_USER} \
MUC_LOGDIR=${MUC_LOGDIR}
post-patch:
@${REINPLACE_CMD} -e 's/=$$(CFLAGS)/=/g;s/^CFLAGS[:]*=/CFLAGS+=/g' \
-e 's/^CC:*=/CC?=/g;s|gcc |$$(CC) |;s|-O2||g' \
-e 's#`pkg-config#-I${LOCALBASE}/include `${LOCALBASE}/bin/pkg-config#g' \
${WRKSRC}/Makefile ${WRKSRC}/*/Makefile \
${WRKSRC}/*/*/Makefile
@${REINPLACE_CMD} -e 's#<spool>\./spool/chat.localhost#<spool>${JABBER_SPOOLDIR}/conference.localhost#g' \
-e 's#<logdir>\./syslogs#<logdir>${LOGDIR}#g' \
-e 's#<logdir>\./logs#<logdir>${JABBER_SPOOLDIR}/conference.localhost/logs#g' \
-e 's#<pidfile>\.#<pidfile>${JABBER_PIDDIR}#g' \
${WRKSRC}/muc-default.xml
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/mu-conference ${STAGEDIR}${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/muc-default.xml ${STAGEDIR}${PREFIX}/etc/muc.xml.sample
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}/scripts
.for FILE in README.FreeBSD.jabberd14 README.FreeBSD.jabberd2 README.FreeBSD.external
@${INSTALL_DATA} ${WRKDIR}/${FILE} ${STAGEDIR}${DOCSDIR}
.endfor
.for FILE in ${DOCFILES}
@${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
.endfor
${INSTALL_DATA} ${WRKSRC}/scripts/README ${STAGEDIR}${DOCSDIR}/scripts
.for FILE in roommaker.pl roomname.pl
${INSTALL_SCRIPT} ${WRKSRC}/scripts/${FILE} ${STAGEDIR}${DOCSDIR}/scripts
.endfor
.endif
.include <bsd.port.mk>