GNOME Bugzilla – Bug 362153
Does not compile with evolution 2.8.x
Last modified: 2006-11-20 07:59:50 UTC
Please describe the problem: The configure.in file looks for evolution/evolution-data-server versions 2.2, 2.4, and 2.6. The current stable version is 2.8. Steps to reproduce: 1. Install evolution 2.8 2. Try to build evolution-sharp (run ./configure.in) Actual results: checking for ESHELL22... checking for ESHELL24... checking for ESHELL26... configure: error: You need to install evolution-shell Expected results: Evolution 2.8 should be supported Does this happen every time? Yes Other information: Ubuntu has fixed this with a patch
Where is the ubuntu patch? Earlier today I committed my current work to evolution-sharp CVS, however GAPI2 will not generate a proper API template. See http://bugzilla.ximian.com/show_bug.cgi?id=79623 More info on the Gentoo bug: http://bugs.gentoo.org/show_bug.cgi?id=143148
The ubuntu patch can be found at http://patches.ubuntu.com/e/evolution-sharp/evolution-sharp_0.11.1+cvs20060516-0ubuntu2.patch, but does not fix the API problem. It looks like the ximian bug report you're pointing to is the blocker at the moment.
Thanks. Their patch reuses the 1.6 API for e-d-s-1.8, which is incorrect.
Is it possible to hand-write the API specification instead of waiting for a fix for GAPI2? For Debian, this is the only real blocker for the Evolution 2.8 transition..
Maybe, want to give it a try? Another option, maybe more realistic, is to ignore that class in the API spec and write .custom code to provide the bindings instead. That said, I'm not really sure how such a complicated structure might be represented in C#.
To answer the question better: yes, it is possible to hand-write API specs in general. Assuming you can write that API in spec form, the next question is, can GAPI generate working code from it? The .custom route wouldn't involve you having to write the spec or having GAPI generate code from it.
Created attachment 76723 [details] [review] Fixes the build break and the functionality. Bypass gapi-parser and use hand-stitched APIs.
Created attachment 76765 [details] [review] Updated fix. Fix committed to head and a branch is created for Evolution-2.6 compatible evolution-sharp. Head will not work properly for evolution-2.6.
configure.in doesn't perform any checks to ensure that evolution is newer than 2.6 -- should it? The configure.in code which checks for evolution-shell is commented out. Do we no longer depend on evolution-shell? Exactly which component of evolution do we require which makes us only work with newer than 2.6? The .pc file still references EVO_SHELL_LIBDIR Thanks for doing all the hard work and sorry for the stupid questions! :)
Evolution# 0.12 will work only with evolution 2.8. I will have to change the configure.in to make sure it bails out on anything less than that. Yes, its been in my list for quite sometime to comment out Evolution-shell stuffs. Thanks for pointing out, Daniel. Yes, .pc got to be modified. ;-) No probs.. questions are always welcome. :-)
I'm still interested in exactly which part of evolution-2.8 we depend on. Or, when you say we require evo-2.8, do you really mean that we require e-d-s-1.8?
Sorry for the confusion - Yes, we require e-d-s-1.8 and not evolution-2.8.
Thanks for the clarification. I just committed to CVS: added the new files, removed the old 1.2/1.4/1.6 compatibility, and removed evolibdir from evolution-sharp.pc.in. configure now bails out unless e-d-s is 1.8. You might want to review that and maybe consider a 0.12.1 release. We already have a bug about failure to compile with e-d-s-1.6 (bug #376832)
Thanks dude - a very good example of absent-mindedness ;-) Yes, will be releasing a 0.12.1 soon. Thanks again.