Package: lunar-applet
Version: 2.0-2
Severity: important

lunar-applet appears to FTBFS when built against new evolution API
(seems like it's specific to evo/e-d-s >= 2.32):

gcc -I. -g -O2 -g -O2 -fno-strict-aliasing -I.
-Wl,-Bsymbolic-functions -Wl,--as-needed -o lunar-applet
lunar_applet-lunar.o lunar_applet-calendar-client.o
lunar_applet-calendar-sources.o -pthread -pthread  -llunar-1
/usr/lib/libgnomeui-2.so -lSM -lICE /usr/lib/libgnomevfs-2.so
-lecal-1.2 -lical -licalss -licalvcal -ledataserverui-1.2 -lebook-1.2
-lcamel-1.2 -ledataserver-1.2 /usr/lib/libsqlite3.so -lnss3 -lnssutil3
-lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl
/usr/lib/libxml2.so -lsoup-2.4 -lpanel-applet-2 /usr/lib/libgconf-2.so
/usr/lib/libbonoboui-2.so /usr/lib/libgnomecanvas-2.so
/usr/lib/libgnome-2.so /usr/lib/libpopt.so /usr/lib/libart_lgpl_2.so
/usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so
/usr/lib/libatk-1.0.so /usr/lib/libgio-2.0.so
/usr/lib/libpangoft2-1.0.so /usr/lib/libpangocairo-1.0.so
-lgdk_pixbuf-2.0 -lm /usr/lib/libcairo.so /usr/lib/libpango-1.0.so
/usr/lib/libfreetype.so -lz -lfontconfig /usr/lib/libbonobo-2.so
/usr/lib/libbonobo-activation.so /usr/lib/libORBit-2.so
/usr/lib/libgmodule-2.0.so /usr/lib/libgobject-2.0.so
/usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so
lunar_applet-calendar-client.o: In function `get_source_color':
/build/buildd/lunar-applet-2.0/src/calendar-client.c:675: undefined
reference to `e_source_get_color'
collect2: ld returned 1 exit status
make[3]: *** [lunar-applet] Error 1

This can be easily fixed with the attached patch, which can be applied
regardless of evolution and e-d-s version, since it uses an alternate
function to e_source_get_color that has been available since before
evolution 2.

This was found on a no-change rebuilt for natty against new evolution
API. As a reference, the full build log for amd64 was here:
http://launchpadlibrarian.net/62929195/buildlog_ubuntu-natty-amd64.lunar-applet_2.0-2build2_FAILEDTOBUILD.txt.gz
, though this applies for all arches.

Regards,

Mathieu Trudel-Lapierre <mathieu...@gmail.com>
Freenode: cyphermox, Jabber: mathieu...@gmail.com
4096R/EE018C93 1967 8F7D 03A1 8F38 732E  FF82 C126 33E1 EE01 8C93
From: Mathieu Trudel-Lapierre <mathieu...@ubuntu.com>
Subject: Replace the use of deprecated e_source_get_color().
Bug-Ubuntu: http://launchpad.net/bugs/708721
Forwarded: yes, http://code.google.com/p/lunar-applet/issues/detail?id=9

The e_source_get_color() call causes a FTBFS with evolution > 2.32, because
it has been deprecated and then removed from the API. A simpler method for
retrieving the hex color spec already existed and already returns NULL if there
is no color set, so replacing most of the work done in get_source_color to
just directly return a copy of what e_source_peak_color_spec returns makes
sense.

g_strdup kept to avoid unnecessary changes elsewhere in lunar-applet code. It
will return NULL if e_source_peak_color_spec() returns NULL.

Index: lunar-applet/src/calendar-client.c
===================================================================
--- lunar-applet.orig/src/calendar-client.c	2011-01-27 10:37:04.711822754 -0500
+++ lunar-applet/src/calendar-client.c	2011-01-27 10:42:00.467822754 -0500
@@ -672,11 +672,8 @@
   g_return_val_if_fail (E_IS_CAL (esource), NULL);
 
   source = e_cal_get_source (esource);
-  if (e_source_get_color (source, &color)) {
-    return g_strdup_printf ("%06x", color);
-  }
-  
-  return NULL;
+
+  return g_strdup (e_source_peek_color_spec (source));
 }
 
 static inline int

Reply via email to