freebsd-ports/mail/evolution/Makefile
Don Lewis 351ab93eed Remove USES=compiler:c++11-lib from mail/evolution. While it fixes
the build failure on FreeBSD 8 (and probably 9), the application
fails to start because the base version of libstdc++ is loaded at
runtime, which does not satify the requirements of webkit-gtk3.  The
reason is that evolution does not directly link to libstdc++, so
the rpath added to it by USES=compiler:c++11-lib has no effect.  The
first shared library that links to libstdc++ belongs to
evolution-data-server, which does not have USES=compiler:c++11-lib,
which causes the base version of libstdc++ to be loaded.

Unconditionally add USES=compiler:c++11-lib to
databases/evolution-data-server.  Adding the rpath to its shared
libraries will cause the newer version of libstdc++ to be loaded
when evolution starts and fix the runtime error on FreeBSD 8 and
9.  For standard versions of FreeBSD 10 and higher on amd64 and
i386, it is a no-op, so there is no harm in doing this. If FreeBSD
10 or higher is configured to build with base gcc and clang is not
present, which is an option on amd64 and i386 and is mandatory on
some tier 2 platforms that don't have clang support, then
USES=compiler:c++11-lib is needed.

PR:		199746
Differential Revision:	https://reviews.freebsd.org/D2388
Reviewed by:	kwm
Approved by:	mat (mentor)
MFH:		2015Q2
2015-04-29 17:05:19 +00:00

121 lines
4.3 KiB
Makefile

# Created by: Ade Lovett <ade@FreeBSD.org>
# $FreeBSD$
# $MCom: ports/trunk/mail/evolution/Makefile 20048 2014-11-10 09:19:46Z gusi $
PORTNAME= evolution
PORTVERSION= 3.12.11
PORTREVISION= 2
CATEGORIES= mail gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
MAINTAINER= gnome@FreeBSD.org
COMMENT= Integrated mail, calendar and address book distributed suite
BUILD_DEPENDS= itstool:${PORTSDIR}/textproc/itstool \
highlight:${PORTSDIR}/textproc/highlight
LIB_DEPENDS= libnss3.so:${PORTSDIR}/security/nss \
libgcr-3.so:${PORTSDIR}/security/gcr \
libgtkspell3-3.so:${PORTSDIR}/textproc/gtkspell3 \
libgeocode-glib.so:${PORTSDIR}/net/geocode-glib \
libwebkitgtk-3.0.so:${PORTSDIR}/www/webkit-gtk3 \
libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 \
libnotify.so:${PORTSDIR}/devel/libnotify
RUN_DEPENDS= highlight:${PORTSDIR}/textproc/highlight \
gnome-keyring>=3.0.0:${PORTSDIR}/security/gnome-keyring
USES= desktop-file-utils bison gettext gmake libtool \
pathfix perl5 pkgconfig tar:xz
USE_GNOME= evolutiondataserver3 gnomedesktop3 gnomeprefix gtkhtml4 \
intlhack
GNU_CONFIGURE= yes
USE_GSTREAMER1= yes
INSTALLS_ICONS= yes
USE_LDCONFIG= yes
CONFIGURE_ARGS= --enable-nss=yes \
--with-sub-version=" FreeBSD GNOME Team Port"
# gtkimageview needs to get a gtk3 release first.
CONFIGURE_ARGS+=--disable-image-inline
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
GLIB_SCHEMAS= org.gnome.evolution.gschema.xml \
org.gnome.evolution.addressbook.gschema.xml \
org.gnome.evolution.calendar.gschema.xml \
org.gnome.evolution.importer.gschema.xml \
org.gnome.evolution.mail.gschema.xml \
org.gnome.evolution.shell.gschema.xml \
org.gnome.evolution.bogofilter.gschema.xml \
org.gnome.evolution.spamassassin.gschema.xml \
org.gnome.evolution.plugin.attachment-reminder.gschema.xml \
org.gnome.evolution.plugin.autocontacts.gschema.xml \
org.gnome.evolution.plugin.email-custom-header.gschema.xml \
org.gnome.evolution.plugin.external-editor.gschema.xml \
org.gnome.evolution.plugin.face-picture.gschema.xml \
org.gnome.evolution.plugin.itip.gschema.xml \
org.gnome.evolution.plugin.mail-notification.gschema.xml \
org.gnome.evolution.plugin.prefer-plain.gschema.xml \
org.gnome.evolution.plugin.publish-calendar.gschema.xml \
org.gnome.evolution.plugin.templates.gschema.xml
EVO_VERSION= 3.12
PLIST_SUB= VERSION=${EVO_VERSION} \
PORTVERSION=2.12
OPTIONS_DEFINE= LDAP WEATHER CANBERRA PST
OPTIONS_DEFAULT=LDAP WEATHER CANBERRA BOGOFILTER
OPTIONS_GROUP= SPAM
OPTIONS_GROUP_SPAM=SPAMASSASSIN BOGOFILTER
OPTIONS_SUB= yes
CANBERRA_DESC= Canberra theme audio plugin
WEATHER_DESC= Weather calendar backend
SPAM_DESC= Spam filter support
SPAMASSASSIN_DESC= SpamAssassin spam filtering
BOGOFILTER_DESC= Bogofilter spam filtering
PST_DESC= Outlook .pst importer
MAPS_DESC= Contact maps
LDAP_CONFIGURE_WITH= openldap
LDAP_USE= OPENLDAP=yes
WEATHER_LIB_DEPENDS= libgweather-3.so:${PORTSDIR}/net/libgweather
WEATHER_CONFIGURE_ENABLE= weather
SPAMASSASSIN_CONFIGURE_ENABLE= spamassassin
SPAMASSASSIN_BUILD_DEPENDS= spamassassin:${PORTSDIR}/mail/spamassassin
SPAMASSASSIN_RUN_DEPENDS= spamassassin:${PORTSDIR}/mail/spamassassin
BOGOFILTER_CONFIGURE_ENABLE= bogofilter
BOGOFILTER_BUILD_DEPENDS= bogofilter:${PORTSDIR}/mail/bogofilter
BOGOFILTER_RUN_DEPENDS= bogofilter:${PORTSDIR}/mail/bogofilter
CANBERRA_LIB_DEPENDS= libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3
CANBERRA_CONFIGURE_ENABLE= canberra
PST_CONFIGURE_ENABLE= pst-import
PST_BUILD_DEPENDS= libpst>=0.6.58_1:${PORTSDIR}/mail/libpst
PST_RUN_DEPENDS= libpst>=0.6.58_1:${PORTSDIR}/mail/libpst
CONFIGURE_ARGS+=--disable-contact-maps
#MAPS_CONFIGURE_ENABLE= contact-maps
#MAPS_LIB_DEPENDS= libchamplain-0.12.so:${PORTSDIR}/graphics/libchamplain \
# libclutter-gtk-1.0.so:${PORTSDIR}/graphics/clutter-gtk3
#MAPS_BUILD_DEPENDS= geoclue>=0:${PORTSDIR}/net/geoclue
.include <bsd.port.options.mk>
post-patch:
@${REINPLACE_CMD} -e '/^plugins_standard_always/s/audio-inline//' \
-e 's|-lkrb5 -lcrypto -lasn1 -lcom_err -lroken -lgssapi|${KRB5_LIB}|g' \
-e 's|-Wl,--no-undefined||g' \
-e 's|-Wmissing-include-dirs||g' \
${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|/usr|${LOCALBASE}|g' \
${WRKSRC}/modules/spamassassin/evolution-spamassassin.c \
${WRKSRC}/modules/bogofilter/evolution-bogofilter.c
# @${SH} ${FILESDIR}/fix-plugins.sh ${WRKSRC}
.include <bsd.port.mk>