From 5e111798283277beec55388a8e24dc6629f5dd3e Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Mon, 3 Jan 2011 19:05:15 +0000 Subject: [PATCH] Fix krita compilation with exiv-0.21 (upstream patch) svn path=/nixpkgs/trunk/; revision=25370 --- pkgs/applications/office/koffice/default.nix | 1 + .../office/koffice/krita-exiv-0.21.diff | 81 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 pkgs/applications/office/koffice/krita-exiv-0.21.diff diff --git a/pkgs/applications/office/koffice/default.nix b/pkgs/applications/office/koffice/default.nix index 4679c231e16..784b6007035 100644 --- a/pkgs/applications/office/koffice/default.nix +++ b/pkgs/applications/office/koffice/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { sha256 = "11h4rxdrv5vakym5786vr4bysi4627m53qqvk1vhxf3rkawvcafj"; }) ./wpd.patch + ./krita-exiv-0.21.diff ]; buildInputs = [ cmake qt4 perl lcms exiv2 libxml2 libxslt boost glew diff --git a/pkgs/applications/office/koffice/krita-exiv-0.21.diff b/pkgs/applications/office/koffice/krita-exiv-0.21.diff new file mode 100644 index 00000000000..b8da1bd586c --- /dev/null +++ b/pkgs/applications/office/koffice/krita-exiv-0.21.diff @@ -0,0 +1,81 @@ +commit 7f6b2f2b9b2be1e4f257582a04b194c69f705bc7 +Author: Casper Boemann +Date: Sat Dec 4 10:44:02 2010 +0000 + + ------------------------------------------------------------------------ + r1203267 | rempt | 2010-12-03 14:20:03 +0100 (Fri, 03 Dec 2010) | 1 line + Changed paths: + M /trunk/koffice/krita/ui/kis_aboutdata.h + + correct url for animtim + + ------------------------------------------------------------------------ + r1203281 | uzak | 2010-12-03 14:43:32 +0100 (Fri, 03 Dec 2010) | 2 lines + Changed paths: + M /trunk/koffice/filters/kpresenter/powerpoint/pptstyle.cpp + + PPT: Fine tuned processing of the TextCFException structure for MS Office 2007. + + + ------------------------------------------------------------------------ + r1203296 | danders | 2010-12-03 15:44:01 +0100 (Fri, 03 Dec 2010) | 3 lines + Changed paths: + M /trunk/koffice/kplato/libs/kernel/kptaccount.cpp + + Fix data loss on xml load. + BUG: 258685 + + + ------------------------------------------------------------------------ + r1203344 | bero | 2010-12-03 18:08:24 +0100 (Fri, 03 Dec 2010) | 2 lines + Changed paths: + M /trunk/koffice/krita/ui/kisexiv2/kis_exif_io.cpp + + Fix build with exiv2 0.21 + + + + svn path=/branches/work/koffice-essen/; revision=1203491 + +diff krita/ui/kisexiv2/kis_exif_io.cpp krita/ui/kisexiv2/kis_exif_io.cpp +index 6eb7f30..c85da65 100644 +--- krita/ui/kisexiv2/kis_exif_io.cpp ++++ krita/ui/kisexiv2/kis_exif_io.cpp +@@ -406,7 +406,11 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp + v = kmdIntOrderedArrayToExifArray(entry.value()); + } else if (exivKey == "Exif.Image.Artist") { // load as dc:creator + KisMetaData::Value creator = entry.value().asArray()[0]; ++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20 + v = kmdValueToExivValue(creator, Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId())); ++#else ++ v = kmdValueToExivValue(creator, exifKey.defaultTypeId()); ++#endif + } else if (exivKey == "Exif.Photo.OECF") { + v = kmdOECFStructureToExifOECF(entry.value()); + } else if (exivKey == "Exif.Photo.DeviceSettingDescription") { +@@ -419,13 +423,25 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp + Q_ASSERT(entry.value().type() == KisMetaData::Value::LangArray); + QMap langArr = entry.value().asLangArray(); + if (langArr.contains("x-default")) { ++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20 + v = kmdValueToExivValue(langArr.value("x-default"), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId())); ++#else ++ v = kmdValueToExivValue(langArr.value("x-default"), exifKey.defaultTypeId()); ++#endif + } else if (langArr.size() > 0) { ++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20 + v = kmdValueToExivValue(langArr.begin().value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId())); ++#else ++ v = kmdValueToExivValue(langArr.begin().value(), exifKey.defaultTypeId()); ++#endif + } + } else { + dbgFile << exifKey.tag(); ++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20 + v = kmdValueToExivValue(entry.value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId())); ++#else ++ v = kmdValueToExivValue(entry.value(), exifKey.defaultTypeId()); ++#endif + } + if (v && v->typeId() != Exiv2::invalidTypeId) { + dbgFile << "Saving key" << exivKey; // << " of KMD value" << entry.value();