diff options
author | Stefan Briesenick <sbriesen@gentoo.org> | 2013-01-24 22:09:25 +0000 |
---|---|---|
committer | Stefan Briesenick <sbriesen@gentoo.org> | 2013-01-24 22:09:25 +0000 |
commit | 06e9088ab29bd1203d184ec5751071eb33e5e7fc (patch) | |
tree | a4a2f6e19b4f0ebafd8d88da585db4bec7b9bc77 /media-gfx | |
parent | Stable for x86, wrt bug #453122 (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | media-gfx/exiv2/exiv2-0.23-r1.ebuild | 116 | ||||
-rw-r--r-- | media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch | 182 |
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; + } + } |