Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 349150 - [PATCH] media-libs/gexiv2-0.2.1 incompatible with media-gfx/exiv2-0.21 due to API changes
Summary: [PATCH] media-libs/gexiv2-0.2.1 incompatible with media-gfx/exiv2-0.21 due to...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Benedikt Böhm (RETIRED)
URL: http://trac.yorba.org/ticket/2899
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-20 00:59 UTC by Alexandre Rostovtsev (RETIRED)
Modified: 2010-12-21 15:15 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
gexiv2-0.2.1-exiv2-0.21.patch (gexiv2-0.2.1-exiv2-0.21.patch,1.19 KB, patch)
2010-12-20 01:06 UTC, Alexandre Rostovtsev (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-12-20 00:59:22 UTC
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.
Comment 1 Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-12-20 01:06:02 UTC
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).
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2010-12-20 01:25:36 UTC
I have also submitted the patch upstream.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2010-12-21 15:15:17 UTC
(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").