summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Briesenick <sbriesen@gentoo.org>2008-03-26 23:49:00 +0000
committerStefan Briesenick <sbriesen@gentoo.org>2008-03-26 23:49:00 +0000
commit511e29710478de5332d9ffb6b67e49beefeb0c2f (patch)
tree780289bc5ca1704e3674f7cd10476e884c14d17a /media-gfx/exiv2
parentx11-themes/qtcurve-qt4 version bump (diff)
downloadgentoo-2-511e29710478de5332d9ffb6b67e49beefeb0c2f.tar.gz
gentoo-2-511e29710478de5332d9ffb6b67e49beefeb0c2f.tar.bz2
gentoo-2-511e29710478de5332d9ffb6b67e49beefeb0c2f.zip
added gcc 4.3 patch (see bug #214814)
(Portage version: 2.1.4.4)
Diffstat (limited to 'media-gfx/exiv2')
-rw-r--r--media-gfx/exiv2/ChangeLog8
-rw-r--r--media-gfx/exiv2/exiv2-0.16-r1.ebuild78
-rw-r--r--media-gfx/exiv2/files/exiv2-0.16-gcc43.diff50
3 files changed, 135 insertions, 1 deletions
diff --git a/media-gfx/exiv2/ChangeLog b/media-gfx/exiv2/ChangeLog
index 896aff7e4114..3184029f66bc 100644
--- a/media-gfx/exiv2/ChangeLog
+++ b/media-gfx/exiv2/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-gfx/exiv2
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.43 2008/02/10 01:08:33 philantrop Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.44 2008/03/26 23:49:00 sbriesen Exp $
+
+*exiv2-0.16-r1 (26 Mar 2008)
+
+ 26 Mar 2008; Stefan Briesenick <sbriesen@gentoo.org>
+ +files/exiv2-0.16-gcc43.diff, +exiv2-0.16-r1.ebuild:
+ added gcc 4.3 patch (see bug #214814)
10 Feb 2008; Wulf C. Krueger <philantrop@gentoo.org> exiv2-0.15-r1.ebuild:
Marked stable on amd64.
diff --git a/media-gfx/exiv2/exiv2-0.16-r1.ebuild b/media-gfx/exiv2/exiv2-0.16-r1.ebuild
new file mode 100644
index 000000000000..893e07fda4f7
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.16-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/exiv2-0.16-r1.ebuild,v 1.1 2008/03/26 23:49:00 sbriesen Exp $
+
+inherit eutils
+
+DESCRIPTION="EXIF and IPTC metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+SRC_URI="http://www.exiv2.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
+
+IUSE="doc nls zlib xmp examples unicode"
+IUSE_LINGUAS="de es fi fr pl ru"
+
+for X in ${IUSE_LINGUAS}; do IUSE="${IUSE} linguas_${X}"; done
+
+RDEPEND="zlib? ( sys-libs/zlib )
+ xmp? ( dev-libs/expat )
+ nls? ( virtual/libintl )
+ virtual/libiconv"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ nls? ( sys-devel/gettext )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # gcc 4.3 patch (see bug #214814)
+ epatch "${FILESDIR}/${P}-gcc43.diff"
+
+ if use unicode; then
+ for i in doc/cmd.txt; do
+ echo ">>> Converting "${i}" to UTF-8"
+ iconv -f LATIN1 -t UTF-8 "${i}" > "${i}~" && mv -f "${i}~" "${i}" || rm -f "${i}~"
+ done
+ fi
+
+ if use doc; then
+ echo ">>> Updating doxygen config"
+ doxygen &>/dev/null -u config/Doxyfile
+ fi
+}
+
+src_compile() {
+ local myconf="$(use_enable nls) $(use_enable xmp)"
+ use zlib || myconf="${myconf} --without-zlib" # plain 'use_with' fails
+ econf ${myconf} || die "econf failed"
+ emake || die "emake failed"
+ if use doc; then
+ emake doc || die "emake doc failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README doc/{ChangeLog,cmd.txt}
+ use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
+ use doc && dohtml -r doc/html/.
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins samples/*.cpp
+ fi
+}
+
+pkg_postinst() {
+ ewarn
+ ewarn "PLEASE PLEASE take note of this:"
+ ewarn "Please make *sure* to run revdep-rebuild now"
+ ewarn "Certain things on your system may have linked against a"
+ ewarn "different version of exiv2 -- those things need to be"
+ ewarn "recompiled. Sorry for the inconvenience!"
+ ewarn
+}
diff --git a/media-gfx/exiv2/files/exiv2-0.16-gcc43.diff b/media-gfx/exiv2/files/exiv2-0.16-gcc43.diff
new file mode 100644
index 000000000000..2b8e251158a5
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.16-gcc43.diff
@@ -0,0 +1,50 @@
+--- a/src/basicio.cpp
++++ b/src/basicio.cpp
+@@ -428,7 +428,7 @@
+ // Minimum size for 1st block is 32kB
+ long size = std::max(32768 * (1 + need / 32768), size_);
+ byte* data = (byte*)std::malloc(size);
+- std::memcpy(data, data_, size_);
++ memcpy(data, data_, size_);
+ data_ = data;
+ sizeAlloced_ = size;
+ isMalloced_ = true;
+--- a/xmpsdk/src/XMPCore_Impl.hpp
++++ b/xmpsdk/src/XMPCore_Impl.hpp
+@@ -24,6 +24,7 @@
+ #include <map>
+
+ #include <cassert>
++#include <cstring>
+
+ #if XMP_MacBuild
+ #include <Multiprocessing.h>
+@@ -89,7 +90,7 @@
+ #define kHexDigits "0123456789ABCDEF"
+
+ #define XMP_LitMatch(s,l) (std::strcmp((s),(l)) == 0)
+-#define XMP_LitNMatch(s,l,n) (std::strncmp((s),(l),(n)) == 0)
++#define XMP_LitNMatch(s,l,n) (strncmp((s),(l),(n)) == 0)
+ // *** Use the above macros!
+
+ #define kTab ((char)0x09)
+@@ -369,7 +370,7 @@
+ IsPathPrefix ( XMP_StringPtr fullPath, XMP_StringPtr prefix )
+ {
+ bool isPrefix = false;
+- XMP_StringLen prefixLen = std::strlen(prefix);
++ XMP_StringLen prefixLen = strlen(prefix);
+ if ( XMP_LitNMatch ( prefix, fullPath, prefixLen ) ) {
+ char separator = fullPath[prefixLen];
+ if ( (separator == 0) || (separator == '/') ||
+--- a/xmpsdk/src/XMPMeta.cpp
++++ b/xmpsdk/src/XMPMeta.cpp
+@@ -20,6 +20,8 @@
+ #include "UnicodeInlines.incl_cpp"
+ #include "UnicodeConversions.hpp"
+
++#include <cstring>
++
+ #if XMP_DebugBuild
+ #include <iostream>
+ #endif