GNOME Bugzilla – Bug 751322
incorrect dependency specified in configure.ac for poppler
Last modified: 2016-02-02 17:01:45 UTC
According to configure, we require poppler 0.24 to build evince as of now. This though is not true,as it fails with: [ 107s] CREATED evince-pdfdocument.metainfo.xml [ 108s] ev-poppler.cc: In function 'void pdf_document_annotations_save_annotation(EvDocumentAnnotations*, EvAnnotation*, EvAnnotationsSaveMask)': [ 108s] ev-poppler.cc:3342:3: error: 'PopplerAnnotTextMarkup' was not declared in this scope [ 108s] PopplerAnnotTextMarkup *text_markup = POPPLER_ANNOT_TEXT_MARKUP (poppler_annot); [ 108s] ^ [ 108s] ev-poppler.cc:3342:27: error: 'text_markup' was not declared in this scope [ 108s] PopplerAnnotTextMarkup *text_markup = POPPLER_ANNOT_TEXT_MARKUP (poppler_annot); [ 108s] ^ [ 108s] ev-poppler.cc:3342:81: error: 'POPPLER_ANNOT_TEXT_MARKUP' was not declared in this scope [ 108s] PopplerAnnotTextMarkup *text_markup = POPPLER_ANNOT_TEXT_MARKUP (poppler_annot); [ 108s] ^ [ 108s] ev-poppler.cc:3355:69: error: 'poppler_annot_text_markup_get_quadrilaterals' was not declared in this scope [ 108s] quads = poppler_annot_text_markup_get_quadrilaterals (text_markup); [ 108s] ^ [ 108s] ev-poppler.cc:3356:67: error: 'poppler_annot_get_rectangle' was not declared in this scope [ 108s] poppler_annot_get_rectangle (POPPLER_ANNOT (text_markup), &rect); [ 108s] ^ [ 108s] ev-poppler.cc:3360:94: error: 'poppler_annot_text_markup_new_highlight' was not declared in this scope [ 108s] new_annot = poppler_annot_text_markup_new_highlight (pdf_document->document, &rect, quads); [ 108s] ^ [ 108s] ev-poppler.cc:3363:94: error: 'poppler_annot_text_markup_new_strikeout' was not declared in this scope [ 108s] new_annot = poppler_annot_text_markup_new_strikeout (pdf_document->document, &rect, quads); [ 108s] ^ [ 108s] ev-poppler.cc:3366:94: error: 'poppler_annot_text_markup_new_underline' was not declared in this scope [ 108s] new_annot = poppler_annot_text_markup_new_underline (pdf_document->document, &rect, quads); [ 108s] ^ Thoee symbols have only been present since poppler 0.26
Created attachment 305964 [details] [review] Bump poppler requirements to 0.32.0 Although trivial to fix, here is the patch bumping to 0.32.0 and get the benefits of all poppler improvements since 0.24.0.
After this one, we need to update jhbuild moduleset, and make sure it is ok before the next stable release.
Why 0.32 and not 0.33? The problem is that poppler was moved to sysdeps in jhbuild, and I'm sure distros don't ship 0.32 nor 0.33 yet. In other cases I try to be conservative bumping deps, and add conditional compilation, but for an important feature like highlight annots, I prefer to bump the requirements and make sure all our users in GNOME 3.18 will benefit from it.
Review of attachment 305964 [details] [review]: There some conditional compilation we can remove if we use a newer poppler. See AC_CHECK_FUNCS(poppler_annot_markup_set_popup_rectangle) in configure and the #ifdef HAVE_POPPLER_ANNOT_MARKUP_SET_POPUP_RECTANGLE in ev-poppler.cc
I think we missed the bus here :-) Maybe for 3.20 release cycle, we would need to move out poppler from sysdeps in jhbuild.
The Release Team (mclasen actually) is ok with bumping poppler to 0.33. 0.33 is in ubuntu stable (wily) and 0.34 is in f23. <gpoo> hi. in Evince we would like to bump the poppler version (to support annotations always rather than disable them at build time). Poppler currently is a system dependency. Are you ok with that? <mclasen> how far are you going to bump it ? <mclasen> if it is a stable version and not bleeding edge, I don't see a reason not to <gpoo> considering we are going to bump it, I would prefer to bump to the newest one (0.40), besides annotations it has many fixes in rendering and performance, and keep it there for a while. Otherwise, to the 0.32. <gpoo> poppler is very conservative with API changes and in general. <gpoo> and, yes, we would bump it to a stable version. <mclasen> for comparsion, fedora versions: f22: 0.30 f23: 0.34, rawhide: 0.40 <mclasen> so if you go all the way up to 0.40, you are leaving sysdeps territory <gpoo> debian stable has 0.26, so I guess we would leave sysdeps anyway <rishi> Do people really use Debian stable for GNOME development? <gpoo> IIRC, when we moved cairo out once from sysdeps, we considered it (sort of worst case) <mclasen> I think the current stable ubuntu release would be more relevant <gpoo> 0.33 is the current version in ubuntu stable <gpoo> (not lts) <gpoo> does 0.33 sound right, then? <mclasen> sounds ok to me <gpoo> ok
Created attachment 320208 [details] [review] Bump poppler requirements to 0.33.0 It is the newer poppler stable release. It has new API required by Evince to handle annotations (since 0.26.0 at least), and it has improvements that makes Evince work properly. 0.33.0 is old enough to keep poppler as sysdep in jhbuild.
Review of attachment 320208 [details] [review]: Pushed in master