diff options
author | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2011-01-15 19:42:09 +0000 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2011-01-15 19:42:09 +0000 |
commit | 869e4339606d649a90be59e0cfd4efc17e93c5f1 (patch) | |
tree | 7032f7ab98289ea98fa1fab7977aea66ad04b258 /kde-base | |
parent | Delete older ebuild. (diff) | |
download | gentoo-2-869e4339606d649a90be59e0cfd4efc17e93c5f1.tar.gz gentoo-2-869e4339606d649a90be59e0cfd4efc17e93c5f1.tar.bz2 gentoo-2-869e4339606d649a90be59e0cfd4efc17e93c5f1.zip |
Fix building with >=media-gfx/exiv2-0.21.
(Portage version: 2.2.0_alpha15_p2/cvs/Linux x86_64)
Diffstat (limited to 'kde-base')
-rw-r--r-- | kde-base/libkexiv2/ChangeLog | 6 | ||||
-rw-r--r-- | kde-base/libkexiv2/files/libkexiv2-4.4.5-exiv2-0.21.patch | 249 | ||||
-rw-r--r-- | kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild | 6 |
3 files changed, 258 insertions, 3 deletions
diff --git a/kde-base/libkexiv2/ChangeLog b/kde-base/libkexiv2/ChangeLog index d9e03c64b5d7..b123fa3925a5 100644 --- a/kde-base/libkexiv2/ChangeLog +++ b/kde-base/libkexiv2/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for kde-base/libkexiv2 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/libkexiv2/ChangeLog,v 1.68 2011/01/10 11:53:45 tampakrap Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/libkexiv2/ChangeLog,v 1.69 2011/01/15 19:42:09 arfrever Exp $ + + 15 Jan 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + libkexiv2-4.4.5-r1.ebuild, +files/libkexiv2-4.4.5-exiv2-0.21.patch: + Fix building with >=media-gfx/exiv2-0.21. *libkexiv2-4.5.5 (10 Jan 2011) diff --git a/kde-base/libkexiv2/files/libkexiv2-4.4.5-exiv2-0.21.patch b/kde-base/libkexiv2/files/libkexiv2-4.4.5-exiv2-0.21.patch new file mode 100644 index 000000000000..63d61eedeb4e --- /dev/null +++ b/kde-base/libkexiv2/files/libkexiv2-4.4.5-exiv2-0.21.patch @@ -0,0 +1,249 @@ +--- libs/libkexiv2/libkexiv2/kexiv2exif.cpp ++++ libs/libkexiv2/libkexiv2/kexiv2exif.cpp +@@ -287,7 +287,11 @@ + { + std::string exifkey(exifTagName); + Exiv2::ExifKey ek(exifkey); ++#if (EXIV2_TEST_VERSION(0,21,0)) ++ return QString::fromLocal8Bit( ek.tagLabel().c_str() ); ++#else + return QString::fromLocal8Bit( Exiv2::ExifTags::tagTitle(ek.tag(), ek.ifdId()) ); ++#endif + } + catch (Exiv2::Error& e) + { +@@ -303,7 +307,11 @@ + { + std::string exifkey(exifTagName); + Exiv2::ExifKey ek(exifkey); ++#if (EXIV2_TEST_VERSION(0,21,0)) ++ return QString::fromLocal8Bit( ek.tagDesc().c_str() ); ++#else + return QString::fromLocal8Bit( Exiv2::ExifTags::tagDesc(ek.tag(), ek.ifdId()) ); ++#endif + } + catch (Exiv2::Error& e) + { +@@ -874,12 +882,45 @@ + try + { + QList<const Exiv2::TagInfo*> tags; ++ TagsMap tagsMap; ++ ++#if (EXIV2_TEST_VERSION(0,21,0)) ++ const Exiv2::GroupInfo* gi = Exiv2::ExifTags::groupList(); ++ while (gi->tagList_ != 0) ++ { ++ if (QString(gi->ifdName_) != QString("Makernote")) ++ { ++ Exiv2::TagListFct tl = gi->tagList_; ++ const Exiv2::TagInfo* ti = tl(); ++ ++ while (ti->tag_ != 0xFFFF) ++ { ++ tags << ti; ++ ++ti; ++ } ++ } ++ ++gi; ++ } ++ ++ for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) ++ { ++ do ++ { ++ const Exiv2::TagInfo* ti = *it; ++ QString key = QLatin1String(Exiv2::ExifKey(*ti).key().c_str()); ++ QStringList values; ++ values << ti->name_ << ti->title_ << ti->desc_; ++ tagsMap.insert(key, values); ++ ++(*it); ++ } ++ while((*it)->tag_ != 0xffff); ++ } ++#else + tags << Exiv2::ExifTags::ifdTagList() + << Exiv2::ExifTags::exifTagList() + << Exiv2::ExifTags::iopTagList() + << Exiv2::ExifTags::gpsTagList(); + +- TagsMap tagsMap; + for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) + { + do +@@ -892,6 +933,7 @@ + } + while((*it)->tag_ != 0xffff); + } ++#endif + return tagsMap; + } + catch( Exiv2::Error &e ) +@@ -904,10 +946,48 @@ + + KExiv2::TagsMap KExiv2::getMakernoteTagsList() const + { +-#if (EXIV2_TEST_VERSION(0,18,1)) + try + { + QList<const Exiv2::TagInfo*> tags; ++ TagsMap tagsMap; ++ ++#if (EXIV2_TEST_VERSION(0,21,0)) ++ ++ const Exiv2::GroupInfo* gi = Exiv2::ExifTags::groupList(); ++ ++ while (gi->tagList_ != 0) ++ { ++ if (QString(gi->ifdName_) == QString("Makernote")) ++ { ++ Exiv2::TagListFct tl = gi->tagList_; ++ const Exiv2::TagInfo* ti = tl(); ++ ++ while (ti->tag_ != 0xFFFF) ++ { ++ tags << ti; ++ ++ti; ++ } ++ } ++ ++gi; ++ } ++ ++ for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) ++ { ++ do ++ { ++ const Exiv2::TagInfo* ti = *it; ++ QString key = QLatin1String(Exiv2::ExifKey(*ti).key().c_str()); ++ QStringList values; ++ values << ti->name_ << ti->title_ << ti->desc_; ++ tagsMap.insert(key, values); ++ ++(*it); ++ } ++ while((*it)->tag_ != 0xffff); ++ } ++ ++#else ++ ++#if (EXIV2_TEST_VERSION(0,18,1)) + tags + // Canon Makernotes. + << Exiv2::CanonMakerNote::tagList() +@@ -956,7 +1036,8 @@ + // Fuji Makernotes. + << Exiv2::FujiMakerNote::tagList(); + +- TagsMap tagsMap; ++#endif // (EXIV2_TEST_VERSION(0,18,1)) ++ + for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) + { + do +@@ -969,13 +1050,15 @@ + } + while((*it)->tag_ != 0xffff); + } ++ ++#endif // (EXIV2_TEST_VERSION(0,21,0)) ++ + return tagsMap; + } + catch( Exiv2::Error &e ) + { + d->printExiv2ExceptionError("Cannot get Makernote Tags list using Exiv2 ", e); + } +-#endif + + return TagsMap(); + } +--- libs/libkexiv2/libkexiv2/kexiv2_p.h ++++ libs/libkexiv2/libkexiv2/kexiv2_p.h +@@ -26,7 +26,7 @@ + + #include "kexiv2.h" + +- // C++ includes. ++ // C++ includes + + #include <cstdlib> + #include <cstdio> +@@ -37,7 +37,7 @@ + #include <iomanip> + #include <string> + +-// Qt includes. ++// Qt includes + + #include <QBuffer> + #include <QFile> +@@ -49,7 +49,7 @@ + #include <QDataStream> + #include <QSharedData> + +-// KDE includes. ++// KDE includes + + #include <ktemporaryfile.h> + #include <kencodingdetector.h> +@@ -57,7 +57,10 @@ + #include <kdeversion.h> + #include <kdebug.h> + +-// Exiv2 includes. ++// Exiv2 includes ------------------------------------------------------- ++ ++// NOTE: All Exiv2 header must be stay there to not expose external source code to Exiv2 API ++// and reduce Exiv2 dependency to client code. + + // The pragmas are required to be able to catch exceptions thrown by libexiv2: + // See http://gcc.gnu.org/wiki/Visibility, the section about c++ exceptions. +@@ -74,19 +77,7 @@ + #include <exiv2/properties.hpp> + #include <exiv2/types.hpp> + #include <exiv2/exif.hpp> +-#include <exiv2/canonmn.hpp> +-#include <exiv2/sigmamn.hpp> +-#include <exiv2/sonymn.hpp> +-#include <exiv2/minoltamn.hpp> +-#include <exiv2/nikonmn.hpp> +-#include <exiv2/olympusmn.hpp> +-#include <exiv2/panasonicmn.hpp> +-#include <exiv2/pentaxmn.hpp> +-#include <exiv2/fujimn.hpp> +-//#include <exiv2/preview.hpp> +-#ifdef __GNUC__ +-#pragma GCC visibility pop +-#endif ++#include <exiv2/xmpsidecar.hpp> + + // Check if Exiv2 support XMP + +@@ -107,6 +98,28 @@ + # define EXIV2_TEST_VERSION(major,minor,patch) (false) + #endif + ++#if (EXIV2_TEST_VERSION(0,21,0)) ++ ++// With exiv2 > 0.20.0, all makernote header files have been removed to increase binary compatibility. ++// See Exiv2 bugzilla entry http://dev.exiv2.org/issues/719 ++// and wiki topic http://dev.exiv2.org/boards/3/topics/583 ++#else ++#include <exiv2/canonmn.hpp> ++#include <exiv2/sigmamn.hpp> ++#include <exiv2/sonymn.hpp> ++#include <exiv2/minoltamn.hpp> ++#include <exiv2/nikonmn.hpp> ++#include <exiv2/olympusmn.hpp> ++#include <exiv2/panasonicmn.hpp> ++#include <exiv2/pentaxmn.hpp> ++#include <exiv2/fujimn.hpp> ++#endif ++ ++#ifdef __GNUC__ ++#pragma GCC visibility pop ++#endif ++ ++// End of Exiv2 headers ------------------------------------------------------ + #ifndef _XMP_SUPPORT_ + + // Dummy redifinition of XmpData class to compile fine diff --git a/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild b/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild index a5dc380368bd..a749a2b09089 100644 --- a/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild +++ b/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild,v 1.3 2010/11/09 01:59:02 jmbsvicetto Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/libkexiv2/libkexiv2-4.4.5-r1.ebuild,v 1.4 2011/01/15 19:42:09 arfrever Exp $ EAPI="3" @@ -21,3 +21,5 @@ DEPEND=" virtual/jpeg " RDEPEND="${DEPEND}" + +PATCHES=("${FILESDIR}/${P}-exiv2-0.21.patch") |