summaryrefslogtreecommitdiff
path: root/graphics/exiv2
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/exiv2')
-rw-r--r--graphics/exiv2/Makefile3
-rw-r--r--graphics/exiv2/distinfo3
-rw-r--r--graphics/exiv2/patches/patch-aa62
3 files changed, 66 insertions, 2 deletions
diff --git a/graphics/exiv2/Makefile b/graphics/exiv2/Makefile
index a0057bad8d0..17b0d74aabc 100644
--- a/graphics/exiv2/Makefile
+++ b/graphics/exiv2/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.17 2008/01/16 07:54:01 wiz Exp $
+# $NetBSD: Makefile,v 1.18 2008/06/07 23:01:28 gdt Exp $
#
DISTNAME= exiv2-0.16
+PKGREVISION= 1
CATEGORIES= graphics
MASTER_SITES= http://www.exiv2.org/
diff --git a/graphics/exiv2/distinfo b/graphics/exiv2/distinfo
index 9ed8e438ea6..7c46c3e4d23 100644
--- a/graphics/exiv2/distinfo
+++ b/graphics/exiv2/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.10 2008/01/16 07:54:01 wiz Exp $
+$NetBSD: distinfo,v 1.11 2008/06/07 23:01:28 gdt Exp $
SHA1 (exiv2-0.16.tar.gz) = fd5cdec6b60fd52a15c73c30760e099bbfa3cf50
RMD160 (exiv2-0.16.tar.gz) = b0a67bbf3e9367b58b75170899b5820afed42d33
Size (exiv2-0.16.tar.gz) = 1591822 bytes
+SHA1 (patch-aa) = edb516d5b65c097c5729e370269a6a6950d89d61
diff --git a/graphics/exiv2/patches/patch-aa b/graphics/exiv2/patches/patch-aa
new file mode 100644
index 00000000000..9811c990292
--- /dev/null
+++ b/graphics/exiv2/patches/patch-aa
@@ -0,0 +1,62 @@
+$NetBSD: patch-aa,v 1.1 2008/06/07 23:01:28 gdt Exp $
+
+From upstream SVN, svn diff -r 1388:1399.
+Fixes http://dev.robotbattle.com/bugs/view.php?id=0000546.
+
+Index: src/nikonmn.cpp
+===================================================================
+--- src/nikonmn.cpp (revision 1398)
++++ src/nikonmn.cpp (revision 1399)
+@@ -931,29 +931,31 @@
+ std::ostream& Nikon3MakerNote::print0x0084(std::ostream& os,
+ const Value& value)
+ {
+- if (value.count() == 4) {
+- long len1 = value.toLong(0);
+- long len2 = value.toLong(1);
+- Rational fno1 = value.toRational(2);
+- Rational fno2 = value.toRational(3);
+- os << len1;
+- if (len2 != len1) {
+- os << "-" << len2;
+- }
+- os << "mm ";
+- std::ostringstream oss;
+- oss.copyfmt(os);
+- os << "F" << std::setprecision(2)
+- << static_cast<float>(fno1.first) / fno1.second;
+- if (fno2 != fno1) {
+- os << "-" << std::setprecision(2)
+- << static_cast<float>(fno2.first) / fno2.second;
+- }
+- os.copyfmt(oss);
+- }
+- else {
++ if ( value.count() != 4
++ || value.toRational(0).second == 0
++ || value.toRational(1).second == 0) {
+ os << "(" << value << ")";
++ return os;
+ }
++ long len1 = value.toLong(0);
++ long len2 = value.toLong(1);
++
++ Rational fno1 = value.toRational(2);
++ Rational fno2 = value.toRational(3);
++ os << len1;
++ if (len2 != len1) {
++ os << "-" << len2;
++ }
++ os << "mm ";
++ std::ostringstream oss;
++ oss.copyfmt(os);
++ os << "F" << std::setprecision(2)
++ << static_cast<float>(fno1.first) / fno1.second;
++ if (fno2 != fno1) {
++ os << "-" << std::setprecision(2)
++ << static_cast<float>(fno2.first) / fno2.second;
++ }
++ os.copyfmt(oss);
+ return os;
+ }
+