It appears GNOME-2.20's evolution-data-server first checks for libsoup-2.4 and 2.2 only if 2.4 is found. When libsoup 2.4 SLOT is installed, it picks libsoup-2.4 and includes the headers of those. And that fails, as the code seems to be for 2.3.0 or something, not considering API and header moves that happened before 2.4.0 came out: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -DG_LOG_DOMAIN=\"libecalbackendhttp\" -I../../.. -I../../.. -I../../../calendar -I../../../calendar -I../../../calendar/libical/src -I../../../calendar/libical/src -I../../../calendar/libical/src/libical -I../../../calendar/libical/src/libical -DORBIT2=1 -pthread -I/usr/include/libxml2 -I/usr/include/libgnome-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/db4.3 -march=prescott -O2 -pipe -ggdb -Wall -Wmissing-prototypes -Wno-sign-compare -MT e-cal-backend-http-factory.lo -MD -MP -MF .deps/e-cal-backend-http-factory.Tpo -c e-cal-backend-http-factory.c -fPIC -DPIC -o .libs/e-cal-backend-http-factory.o e-cal-backend-http.c: In function 'retrieval_done': e-cal-backend-http.c:258: warning: implicit declaration of function 'soup_message_get_header' e-cal-backend-http.c:259: warning: assignment makes pointer from integer without a cast e-cal-backend-http.c:288: error: 'SoupMessage' has no member named 'response' e-cal-backend-http.c:289: error: 'SoupMessage' has no member named 'response' e-cal-backend-http.c:289: error: 'SoupMessage' has no member named 'response' e-cal-backend-http.c: In function 'begin_retrieval_cb': e-cal-backend-http.c:475: error: 'SoupUri' undeclared (first use in this function) e-cal-backend-http.c:475: error: (Each undeclared identifier is reported only once e-cal-backend-http.c:475: error: for each function it appears in.) e-cal-backend-http.c:475: error: 'suri' undeclared (first use in this function) e-cal-backend-http.c:515: warning: implicit declaration of function 'soup_message_add_header' e-cal-backend-http.c:520: error: 'SoupMessageCallbackFn' undeclared (first use in this function) e-cal-backend-http.c:520: error: expected ')' before 'retrieval_done' e-cal-backend-http.c:520: error: too few arguments to function 'soup_session_queue_message' make[4]: *** [e-cal-backend-http.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... mv -f .deps/e-cal-backend-http-factory.Tpo .deps/e-cal-backend-http-factory.Plo make[4]: Leaving directory `/home/sda8/tmp/portage/gnome-extra/evolution-data-server-1.12.3/work/evolution-data-server-1.12.3/calendar/backends/http' make[3]: *** [all-recursive] Error 1
I personally consider this an unmask blocker, not absolutely sure though. Matching GNOME versions works fine. At least libsoup-2.4 can't be unmasked separately before this is fixed - I initially planned to do that for earlier in-tree ~arch swfdec. We just need to patch configure.in (and configure preferably too if we don't call eautoreconf yet) to not check for libsoup 2.4 before 2.2
Fixed in e-d-s-1.12.3. I won't care about 1.12.2, it's still in the tree just because of arm lagging behind 4 months.