Due to API changes in recently released media-gfx/exiv2-0.21 (see http://dev.exiv2.org/issues/show/0000721), gexiv2-0.2.1 (as well as upstream gexiv2 SVN trunk) fails to build: # emerge gexiv2 gexiv2/gexiv2-metadata-exif.cpp: In function 'const gchar* gexiv2_metadata_get_exif_tag_label(const gchar*)': gexiv2/gexiv2-metadata-exif.cpp:241:16: error: 'tagLabel' is not a member of 'Exiv2::ExifTags' gexiv2/gexiv2-metadata-exif.cpp: In function 'const gchar* gexiv2_metadata_get_exif_tag_description(const gchar*)': gexiv2/gexiv2-metadata-exif.cpp:255:16: error: 'tagDesc' is not a member of 'Exiv2::ExifTags' make: *** [x86_64-pc-linux-gnu/gexiv2-metadata-exif.o] Error 1 emake failed * ERROR: media-libs/gexiv2-0.2.1 failed: * compile failure Upstream is aware of the incompatibility with the new exiv2 API (see http://trac.yorba.org/ticket/2899), but as far as I can tell, so far has not addressed it.
Created attachment 257594 [details, diff] gexiv2-0.2.1-exiv2-0.21.patch Patch for exiv2-0.21 compatibility. Since the functions for reading tag labels and descriptions now return std::string instead of const char*, we need to g_intern_string them. This will not leak memory because, AFAICT, the number of tag labels and descriptions used by any one version of exiv2 is finite (see http://www.exiv2.org/metadata.html).
I have also submitted the patch upstream.
(In reply to comment #2) > I have also submitted the patch upstream. > thanks applied... ended up rewriting the whole ebuild as it was invalid: + 21 Dec 2010; Samuli Suominen <ssuominen@gentoo.org> gexiv2-0.2.1.ebuild, + +files/gexiv2-0.2.1-new-exiv2.patch: + Fix compability with exiv2 >= 0.21 API wrt #349150 by Alexandre Rostovtsev. + Fix install with multilib-strict. Punt useless .la files. Don't call econf + for custom ./configure script. Don't use gnome2.eclass anymore, it's only + bringing in unused USE flags (like "debug").