There is a circular linking dependency with some evolution plugins.

Upstream is aware of it and should fix everything for evolution 2.30.

In the meantime, add a (nasty) hack so that we don't end up with
undefined symbols.
Reorder Makefile while here and tweak dependencies.

ok jasper@
This commit is contained in:
ajacoutot 2009-11-11 14:23:05 +00:00
parent b3fc517fde
commit c627b3eab5
4 changed files with 25 additions and 28 deletions

View File

@ -1,17 +1,21 @@
# $OpenBSD: Makefile,v 1.88 2009/10/19 20:31:23 jasper Exp $
# $OpenBSD: Makefile,v 1.89 2009/11/11 14:23:05 ajacoutot Exp $
COMMENT-main= integrated email and PIM software for GNOME
COMMENT-plugins= additionnal plugins for evolution
# NOTE: when major version changes, increment EVO_VERSION accordingly
# in mail/evolution-plugin-rss/Makefile (and bump).
GNOME_PROJECT= evolution
GNOME_VERSION= 2.28.1
# Only get the first x.y which is needed in the PLIST.
# NOTE: when major version changes, increment EVO_VERSION accordingly
# in mail/evolution-plugin-rss/Makefile (and bump).
R= ${GNOME_VERSION:C/^([0-9]+\.[0-9]+).*/\1/}
SUBST_VARS= R
# -plugins depends on the exact version of -main, so whenever -main is
# bumped, -plugins needs a bump too
PKGNAME-main= ${DISTNAME}
PKGNAME-plugins= evolution-plugins-${GNOME_VERSION}
PKGNAME-main= ${DISTNAME}p0
PKGNAME-plugins= evolution-plugins-${GNOME_VERSION}p0
CATEGORIES= mail
@ -76,7 +80,7 @@ RUN_DEPENDS-main= ${RUN_DEPENDS} \
::x11/gnome/icon-theme
LIB_DEPENDS-main= ${LIB_DEPENDS} \
pst::converters/libpst \
camel-1.2,camel-provider-1.2,ebackend-1.2,ebook-1.2,ecal-1.2,edataserver-1.2,edataserverui-1.2,egroupwise-1.2,gdata-1.2,gdata-google-1.2:evolution-data-server->=2.24.3:databases/evolution-data-server \
camel-1.2,camel-provider-1.2,ebackend-1.2,ebook-1.2,ecal-1.2,edataserver-1.2,edataserverui-1.2,egroupwise-1.2,gdata-1.2,gdata-google-1.2,exchange-storage-1.2.>=3::databases/evolution-data-server \
ldap.>=7::databases/openldap \
notify.>=2::devel/libnotify \
soup-2.4::devel/libsoup \
@ -116,11 +120,7 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib -Wl,-rpath,${TRUEPREFIX}/lib/evolution/${R}/components:${TRUEPREFIX}/lib/evolution/${R}:${TRUEPREFIX}/lib"
# Only get the first x.y which is needed in the PLIST.
R= ${GNOME_VERSION:C/^([0-9]+\.[0-9]+).*/\1/}
SUBST_VARS= R
# XXX ltasneededhack in bsd.gnome.mk from FreeBSD ports
# ltasneededhack in bsd.gnome.mk from FreeBSD ports
# (+patch-plugins_exchange-operations_Makefile_in)
LIBTOOL= ${WRKDIR}/bin/libtool
post-patch:
@ -129,12 +129,17 @@ post-patch:
${LOCALBASE}/bin/libtool > ${WRKDIR}/bin/libtool
chmod +x ${WRKDIR}/bin/libtool
pre-configure:
${SUBST_CMD} ${WRKSRC}/plugins/bogo-junk-plugin/bf-junk-filter.c \
${WRKSRC}/plugins/sa-junk-plugin/em-junk-filter.c
post-install:
find ${PREFIX}/share/evolution/${R}/default -perm 444 -exec chmod 644 {} \;
# XXX there is a circular linking dependency with some plugins
# https://bugzilla.gnome.org/show_bug.cgi?id=599336
mv ${PREFIX}/bin/evolution \
${PREFIX}/libexec/evolution/${R}/evolution
${SUBST_CMD} -c ${FILESDIR}/evolution.sh ${WRKBUILD}/evolution.sh
${INSTALL_SCRIPT} ${WRKBUILD}/evolution.sh ${PREFIX}/bin/evolution
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
#!/bin/sh
#
LD_PRELOAD=${TRUEPREFIX}/lib/evolution/${R}/components/libevolution-addressbook.so:/usr/local/lib/evolution/${R}/libevolution-mail-shared.so \
${TRUEPREFIX}/libexec/evolution/${R}/evolution "$@"

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-plugins_exchange-operations_Makefile_in,v 1.4 2009/10/19 20:31:23 jasper Exp $
XXX does not work, we get "Cannot load specified object".
--- plugins/exchange-operations/Makefile.in.orig Sun Oct 18 04:22:46 2009
+++ plugins/exchange-operations/Makefile.in Mon Oct 19 14:20:07 2009
@@ -496,6 +496,7 @@ liborg_gnome_exchange_operations_la_LIBADD = \
$(top_builddir)/calendar/gui/libevolution-calendar.la \
$(top_builddir)/mail/libevolution-mail.la \
$(top_builddir)/addressbook/gui/component/libevolution-addressbook.la \
+ -Wl,--no-as-needed,$(top_builddir)/addressbook/gui/component/.libs/libevolution-addressbook.so \
$(CAMEL_EXCHANGE_LIBS) \
$(EVOLUTION_MAIL_LIBS)

View File

@ -1,7 +1,7 @@
@comment $OpenBSD: PLIST-main,v 1.6 2009/10/19 20:31:23 jasper Exp $
@comment $OpenBSD: PLIST-main,v 1.7 2009/11/11 14:23:06 ajacoutot Exp $
@pkgpath mail/evolution
%%SHARED%%
@bin bin/evolution
bin/evolution
include/evolution-${R}/
include/evolution-${R}/addressbook/
include/evolution-${R}/addressbook/gui/
@ -485,6 +485,7 @@ lib/pkgconfig/evolution-shell.pc
libexec/evolution/
libexec/evolution/${R}/
libexec/evolution/${R}/csv2vcard
@bin libexec/evolution/${R}/evolution
libexec/evolution/${R}/evolution-addressbook-clean
@bin libexec/evolution/${R}/evolution-addressbook-export
@bin libexec/evolution/${R}/evolution-alarm-notify