summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Briesenick <sbriesen@gentoo.org>2013-01-24 22:09:25 +0000
committerStefan Briesenick <sbriesen@gentoo.org>2013-01-24 22:09:25 +0000
commit06e9088ab29bd1203d184ec5751071eb33e5e7fc (patch)
treea4a2f6e19b4f0ebafd8d88da585db4bec7b9bc77 /media-gfx
parentStable for x86, wrt bug #453122 (diff)
downloadgentoo-2-06e9088ab29bd1203d184ec5751071eb33e5e7fc.tar.gz
gentoo-2-06e9088ab29bd1203d184ec5751071eb33e5e7fc.tar.bz2
gentoo-2-06e9088ab29bd1203d184ec5751071eb33e5e7fc.zip
revbump with patches from Bug #437432.
(Portage version: 2.2.0_alpha151/cvs/Linux x86_64, signed Manifest commit with key BB6C42C7)
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/exiv2/ChangeLog10
-rw-r--r--media-gfx/exiv2/exiv2-0.23-r1.ebuild116
-rw-r--r--media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch182
3 files changed, 306 insertions, 2 deletions
diff --git a/media-gfx/exiv2/ChangeLog b/media-gfx/exiv2/ChangeLog
index 0b0a39a187a9..ea8d0eb91861 100644
--- a/media-gfx/exiv2/ChangeLog
+++ b/media-gfx/exiv2/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-gfx/exiv2
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.102 2012/07/02 21:51:47 sbriesen Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.103 2013/01/24 22:09:25 sbriesen Exp $
+
+*exiv2-0.23-r1 (24 Jan 2013)
+
+ 24 Jan 2013; Stefan Briesenick <sbriesen@gentoo.org> +exiv2-0.23-r1.ebuild,
+ +files/exiv2-0.23-boost-fs-contrib.patch:
+ revbump with patches from Bug #437432.
02 Jul 2012; Stefan Briesenick <sbriesen@gentoo.org> exiv2-0.19.ebuild,
exiv2-0.21.1-r1.ebuild, exiv2-0.21.1-r2.ebuild, exiv2-0.23.ebuild:
diff --git a/media-gfx/exiv2/exiv2-0.23-r1.ebuild b/media-gfx/exiv2/exiv2-0.23-r1.ebuild
new file mode 100644
index 000000000000..8d5782c9da1a
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.23-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/exiv2-0.23-r1.ebuild,v 1.1 2013/01/24 22:09:25 sbriesen Exp $
+
+EAPI=4
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit eutils autotools-utils multilib toolchain-funcs python
+
+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 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_LINGUAS="de es fi fr pl ru sk"
+IUSE="contrib doc examples nls xmp zlib static-libs $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
+
+RDEPEND="
+ virtual/libiconv
+ nls? ( virtual/libintl )
+ xmp? ( dev-libs/expat )
+ zlib? ( sys-libs/zlib )
+"
+
+DEPEND="${RDEPEND}
+ contrib? ( >=dev-libs/boost-1.44 )
+ doc? (
+ app-doc/doxygen
+ dev-libs/libxslt
+ virtual/pkgconfig
+ media-gfx/graphviz
+ =dev-lang/python-2*
+ )
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+src_prepare() {
+ # convert docs to UTF-8
+ local i
+ for i in doc/cmd.txt; do
+ einfo "Converting "${i}" to UTF-8"
+ iconv -f LATIN1 -t UTF-8 "${i}" > "${i}~" && mv -f "${i}~" "${i}" || rm -f "${i}~"
+ done
+
+ if use doc; then
+ einfo "Updating doxygen config"
+ doxygen 2>&1 >/dev/null -u config/Doxyfile
+ python_convert_shebangs -r 2 doc/templates
+ fi
+
+ if use contrib; then
+ epatch "${FILESDIR}/${P}-boost-fs-contrib.patch"
+
+ # create build environment for contrib
+ ln -snf ../../src contrib/organize/exiv2
+ sed -i -e 's:/usr/local/include/.*:/usr/include:g' \
+ -e 's:/usr/local/lib/lib:-l:g' -e 's:-gcc..-mt-._..\.a::g' \
+ contrib/organize/boost.mk
+ fi
+
+ # set locale to safe value for the sed commands (bug #382731)
+ sed -i -r "s,(\s+)sed\s,\1LC_ALL="C" sed ,g" src/Makefile
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(use_enable xmp)
+ $(use_enable static-libs static)
+ )
+
+ # plain 'use_with' fails
+ use zlib || myeconfargs+=("${myconf} --without-zlib")
+
+ # Bug #78720. amd64/gcc-3.4/-fvisibility* fail.
+ if [ $(gcc-major-version) -lt 4 ]; then
+ use amd64 && myeconfargs+=("${myconf} --disable-visibility")
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ if use contrib; then
+ emake -C contrib/organize \
+ LDFLAGS="\$(BOOST_LIBS) -L../../src -lexiv2 ${LDFLAGS}" \
+ CPPFLAGS="${CPPFLAGS} -I\$(BOOST_INC_DIR) -I. -DEXV_HAVE_STDINT_H" \
+ || die "emake organize failed"
+ fi
+
+ if use doc; then
+ emake doc || die "emake doc failed"
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use contrib; then
+ emake DESTDIR="${D}" -C contrib/organize install || die "emake install organize failed"
+ fi
+
+ 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
+ docompress -x /usr/share/doc/${PF}/examples
+ doins samples/*.cpp
+ fi
+}
diff --git a/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
new file mode 100644
index 000000000000..f5ffc473e40a
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
@@ -0,0 +1,182 @@
+--- work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
++++ work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
+@@ -294,7 +294,7 @@
+ bool md5sum(const fs::path &path, md5digest &digest)
+ {
+ try {
+- Exiv2::FileIo io(path.file_string());
++ Exiv2::FileIo io(path.string());
+ if (io.open() != 0)
+ return false;
+ Exiv2::IoCloser closer(io);
+@@ -568,8 +568,8 @@
+
+ fs::path uniquify(const fs::path &dest)
+ {
+- std::string ext = dest.extension();
+- std::string fname = dest.stem();
++ std::string ext = dest.extension().string();
++ std::string fname = dest.stem().string();
+ fs::path parent = dest.parent_path();
+
+ unsigned number = 1;
+@@ -600,13 +600,13 @@
+ std::vector<std::string>::const_iterator x_iter = params.excludes.begin();
+ std::vector<std::string>::const_iterator x_end = params.excludes.end();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(directory.file_string(), *x_iter)) {
++ if(boost::contains(directory.string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding directory: ") + directory.file_string() +
++ info(std::string("excluding directory: ") + directory.string() +
+ " matched: " + *x_iter);
+ ++params.dir_ex_count;
+ return;
+@@ -621,7 +621,7 @@
+ process_directory(p_iter->path(), depth + 1, params);
+ else {
+ info(std::string("depth reached, skipping: ") +
+- p_iter->path().file_string());
++ p_iter->path().string());
+ }
+ }
+ else if( is_regular_file(*p_iter) ) {
+@@ -630,13 +630,13 @@
+ exclude = false;
+ x_iter = params.excludes.begin();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(p_iter->path().file_string(), *x_iter)) {
++ if(boost::contains(p_iter->path().string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding file: ") + p_iter->path().file_string() +
++ info(std::string("excluding file: ") + p_iter->path().string() +
+ " matched: " + *x_iter);
+ ++params.file_ex_count;
+ continue;
+@@ -648,45 +648,45 @@
+ if(!dest_subdir.empty())
+ dest_file = params.dest_dir / dest_subdir;
+ else if(params.ignore_unsorted) {
+- info(std::string("ignoring unsorted: ") + p_iter->path().file_string());
++ info(std::string("ignoring unsorted: ") + p_iter->path().string());
+ ++params.unsorted_ignored_count;
+ continue;
+ }
+ else {
+- info(std::string("unsorted file (missing metadata): ") + p_iter->path().file_string());
++ info(std::string("unsorted file (missing metadata): ") + p_iter->path().string());
+ dest_file = params.unsorted_dir;
+ ++params.unsorted_count;
+ }
+
+- dest_file /= p_iter->filename();
++ dest_file /= p_iter->path().filename();
+
+ if(fs::exists(dest_file)) {
+ if(params.ignore_dups) {
+- info(std::string("ignoring: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("ignoring: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ ++params.dups_ignored_count;
+ continue;
+ }
+ else {
+ if(params.force) {
+- info(std::string("force removing: ") + dest_file.file_string() + " for: "
+- + p_iter->path().file_string());
++ info(std::string("force removing: ") + dest_file.string() + " for: "
++ + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(dest_file);
+ }
+ else if(params.rename) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ else {
+- info(std::string("duplicate file: ") + p_iter->path().file_string() +
+- " of: " + dest_file.file_string());
+- dest_file = params.dups_dir / dest_subdir / p_iter->filename();
++ info(std::string("duplicate file: ") + p_iter->path().string() +
++ " of: " + dest_file.string());
++ dest_file = params.dups_dir / dest_subdir / p_iter->path().filename();
+ // Ugh, more dup possibilities
+ if(fs::exists(dest_file)) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ }
+@@ -698,8 +698,8 @@
+ fs::create_directories(dest_file.parent_path());
+
+ if(params.symlink) {
+- info(std::string("linking from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("linking from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // The target of a symlink must be either absolute (aka complete) or
+ // relative to the location of the link. Easiest solution is to make
+@@ -713,8 +713,8 @@
+ }
+ }
+ else {
+- info(std::string("copying from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("copying from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // Copy the file and restore its write time (needed for posix)
+ std::time_t time = fs::last_write_time(*p_iter);
+@@ -730,8 +730,8 @@
+ if(!ok) {
+ // Should probably find a more appropriate exception for this
+ throw std::runtime_error(std::string("File verification failed: '")
+- + p_iter->path().file_string() + "' differs from '" +
+- dest_file.file_string() + "'");
++ + p_iter->path().string() + "' differs from '" +
++ dest_file.string() + "'");
+ }
+ else {
+ info(std::string("verification passed"));
+@@ -740,7 +740,7 @@
+ }
+ }
+ if(params.move) {
+- info(std::string("removing: ") + p_iter->path().file_string());
++ info(std::string("removing: ") + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(*p_iter);
+ }
+@@ -752,14 +752,14 @@
+ ++params.ok_count;
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping file: " + p_iter->path().file_string()));
++ error(e, std::string("skipping file: " + p_iter->path().string()));
+ ++params.file_err_count;
+ }
+ }
+ }
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping directory: " + directory.file_string()));
++ error(e, std::string("skipping directory: " + directory.string()));
+ ++params.dir_err_count;
+ }
+ }