public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2016-07-06 10:32 Michael Palimaka
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Palimaka @ 2016-07-06 10:32 UTC (permalink / raw
  To: gentoo-commits

commit:     725674a32b62aac3abfed25b31d1ab85d7516e55
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  6 10:30:55 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed Jul  6 10:31:50 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=725674a3

media-gfx/exiv2: remove old

Package-Manager: portage-2.3.0

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.24-r1.ebuild               | 136 ---------------
 media-gfx/exiv2/exiv2-0.25-r1.ebuild               | 125 --------------
 .../exiv2/files/exiv2-0.23-boost-fs-contrib.patch  | 182 ---------------------
 .../exiv2/files/exiv2-0.24-CVE-2014-9449.patch     |  27 ---
 media-gfx/exiv2/files/exiv2-0.24-python3.patch     |  27 ---
 media-gfx/exiv2/metadata.xml                       |   1 -
 7 files changed, 499 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 5cd1ff1..8fdb578 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.24.tar.gz 4635028 SHA256 f4a443e6c7fb9d9f5e787732f76969a64c72c4c04af69b10ed57f949c2dfef8e SHA512 e2d5d076c09a36d88472485c9d9d99b5a50aea1ab59b1e5c9301b1ce9fe2b2af02acae2662c9ff56b4c749a224688387ba58334d31b74f04f3d2d3d3c0e387e9 WHIRLPOOL b5b7eb544975d8e14739b39fc294279b58369944172684c0f881348ebf47ef0f9ccd18e8bc41113d9da3a72f8d6c048641f547a7071a7ca6d93d1d30ea2d7aed
 DIST exiv2-0.25.tar.gz 5434325 SHA256 c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 SHA512 08d4e655ffdde715e0214f4bef01d55aba9b8ba517456a60e254a0f8541c20479e407545db28ca90a69dee8def6941fdd88f9a557fb382ebebe49e363aca8e8e WHIRLPOOL f9e7a6947dac5870e0574253b8c1cb1e7d31a916a9e1c4417c73168046c0b4bed90b9c77253444604163bcf6dca204dab92a52cb03bdcb0f85c807327623f8ac

diff --git a/media-gfx/exiv2/exiv2-0.24-r1.ebuild b/media-gfx/exiv2/exiv2-0.24-r1.ebuild
deleted file mode 100644
index 723e7dc..0000000
--- a/media-gfx/exiv2/exiv2-0.24-r1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-AUTOTOOLS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python{2_7,3_3,3_4} )
-
-inherit eutils multilib toolchain-funcs python-any-r1 autotools-multilib
-
-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/13"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-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-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-	zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
-	contrib? ( >=dev-libs/boost-1.44 )
-	doc? (
-		app-doc/doxygen
-		dev-libs/libxslt
-		virtual/pkgconfig
-		media-gfx/graphviz
-		${PYTHON_DEPS}
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-PATCHES=( "${FILESDIR}/${P}-CVE-2014-9449.patch" )
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-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
-	fi
-
-	if use contrib; then
-		# create build environment for contrib
-		ln -snf ../../src contrib/organize/exiv2
-		sed -i -e 's:/usr/local/include/.*:'"${EPREFIX}"'/usr/include:g' \
-			-e 's:/usr/local/lib/lib:-l:g' -e 's:-gcc..-mt-._..\.a::g' \
-			contrib/organize/boost.mk || die
-	fi
-
-	epatch "${FILESDIR}/${PN}-0.24-python3.patch"
-
-	# 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 || die
-
-	autotools-multilib_src_prepare
-}
-
-multilib_src_configure() {
-	local myeconfargs=(
-		$(use_enable nls)
-		$(use_enable xmp)
-		$(use_enable static-libs static)
-	)
-
-	# plain 'use_with' fails
-	use zlib || myeconfargs+=( --without-zlib )
-
-	# Bug #78720. amd64/gcc-3.4/-fvisibility* fail.
-	if [[ ${ABI} == amd64 && $(gcc-major-version) -lt 4 ]]; then
-		myeconfargs+=( --disable-visibility )
-	fi
-
-	autotools-utils_src_configure
-}
-
-multilib_src_compile() {
-	# Needed for Solaris because /bin/sh is not a bash, bug #245647
-	sed -i -e "s:/bin/sh:${EPREFIX}/bin/sh:" src/Makefile || die "sed failed"
-	emake
-
-	if multilib_is_native_abi; then
-		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"
-		fi
-
-		if use doc; then
-			emake samples
-			emake doc
-		fi
-	fi
-}
-
-multilib_src_install() {
-	autotools-utils_src_install
-
-	if multilib_is_native_abi; then
-		if use contrib; then
-			emake DESTDIR="${D}" -C contrib/organize install
-		fi
-
-		use doc && dohtml -r doc/html/.
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	prune_libtool_files --all
-
-	use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
-	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/exiv2-0.25-r1.ebuild b/media-gfx/exiv2/exiv2-0.25-r1.ebuild
deleted file mode 100644
index bc2577b..0000000
--- a/media-gfx/exiv2/exiv2-0.25-r1.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-PYTHON_COMPAT=( python{2_7,3_3,3_4} )
-
-inherit eutils cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP 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/14"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE_LINGUAS="bs de es fi fr gl ms pl pt ru sk sv ug uk vi"
-IUSE="doc examples nls png webready xmp $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
-
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
-	doc? (
-		app-doc/doxygen
-		dev-libs/libxslt
-		virtual/pkgconfig
-		media-gfx/graphviz
-		${PYTHON_DEPS}
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.25-fix-docs.patch"
-	"${FILESDIR}/${PN}-0.25-fix-install-dirs.patch"
-	"${FILESDIR}/${PN}-0.25-tools-optional.patch"
-	"${FILESDIR}/${PN}-0.25-fix-without-zlib.patch"
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	rm -r msvc* build || die "Failed to remove msvc dirs"
-
-	if [[ ${PV} != *9999 ]] ; then
-		if [[ -d po ]] ; then
-			pushd po > /dev/null || die
-			for lang in *.po; do
-				if ! has ${lang%.po} ${LINGUAS} ; then
-					rm -rf ${lang} || die
-				fi
-			done
-			popd > /dev/null || die
-		else
-			die "Failed to prepare LINGUAS - po directory moved?"
-		fi
-	fi
-
-	# 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}.tmp" || die
-		mv -f "${i}.tmp" "${i}" || die
-	done
-
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_ENABLE_BUILD_PO=YES
-		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_LIBXMP=NO
-		$(multilib_is_native_abi || \
-			echo -DEXIV2_ENABLE_TOOLS=NO)
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-	prune_libtool_files --all
-
-	use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
-	use doc && dodoc -r "${S}"/doc/html
-
-	if use examples; then
-		docinto examples
-		dodoc 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
deleted file mode 100644
index f5ffc47..0000000
--- a/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
+++ /dev/null
@@ -1,182 +0,0 @@
---- 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;
-     }
- }

diff --git a/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch b/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch
deleted file mode 100644
index cf1b46f..0000000
--- a/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 exiv2-0.24/src/riffvideo.cpp
---- exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449	2013-12-01 06:13:42.000000000 -0600
-+++ exiv2-0.24/src/riffvideo.cpp	2015-01-05 11:21:42.306728309 -0600
-@@ -856,7 +856,7 @@ namespace Exiv2 {
- 
-     void RiffVideo::infoTagsHandler()
-     {
--        const long bufMinSize = 100;
-+        const long bufMinSize = 10000;
-         DataBuf buf(bufMinSize);
-         buf.pData_[4] = '\0';
-         io_->seek(-12, BasicIo::cur);
-@@ -879,10 +879,14 @@ namespace Exiv2 {
-             if(infoSize >= 0) {
-                 size -= infoSize;
-                 io_->read(buf.pData_, infoSize);
-+                if(infoSize < 4)
-+                    buf.pData_[infoSize] = '\0';
-             }
- 
-             if(tv)
-                 xmpData_[exvGettext(tv->label_)] = buf.pData_;
-+            else
-+                continue;
-         }
-         io_->seek(cur_pos + size_external, BasicIo::beg);
-     } // RiffVideo::infoTagsHandler

diff --git a/media-gfx/exiv2/files/exiv2-0.24-python3.patch b/media-gfx/exiv2/files/exiv2-0.24-python3.patch
deleted file mode 100644
index 405a7d3..0000000
--- a/media-gfx/exiv2/files/exiv2-0.24-python3.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ub -r exiv2-0.23.org/doc/templates/gen.py exiv2-0.23/doc/templates/gen.py
---- exiv2-0.23.org/doc/templates/gen.py	2005-05-28 19:35:08.000000000 +0400
-+++ exiv2-0.23/doc/templates/gen.py	2013-12-21 03:03:54.000000000 +0400
-@@ -7,9 +7,9 @@
- # ----------------------------------------------------------------------
- # functions
- def usage():
--   print """Usage: gen.py file.in [...]
-+   print("""Usage: gen.py file.in [...]
-    Substitute placeholders in input files with content
--   """
-+   """)
- 
- def gen_html(file):
-    """Replace variables in the file with their content"""
-@@ -49,9 +49,9 @@
- vars.sort()
- 
- # Substitute variables in all input files
--print "Substituting variables", vars
-+print("Substituting variables {0}".format(vars))
- for file in input:
--   print "Processing", file, "..."
-+   print("Processing {0}...".format(file))
-    text = gen_html(file)
-    file = file.replace(".in", "")
-    open(file, 'w').write(text)

diff --git a/media-gfx/exiv2/metadata.xml b/media-gfx/exiv2/metadata.xml
index 3d5537f..934a5a6 100644
--- a/media-gfx/exiv2/metadata.xml
+++ b/media-gfx/exiv2/metadata.xml
@@ -14,7 +14,6 @@
 		write EXIF, IPTC and XMP image metadata.
 	</longdescription>
 	<use>
-		<flag name="contrib">Build additional contrib components</flag>
 		<flag name="webready">Support reading metadata over the internet</flag>
 	</use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2017-10-13  8:48 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2017-10-13  8:48 UTC (permalink / raw
  To: gentoo-commits

commit:     77be078f05083c774eb0194c89ae2830a9d7931a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 13 08:47:24 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 13 08:47:45 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77be078f

media-gfx/exiv2: Drop 0.26

Package-Manager: Portage-2.3.11, Repoman-2.3.3

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.26.ebuild                  | 133 ---------------------
 .../exiv2/files/exiv2-0.26-CVE-2017-9239.patch     |  22 ----
 media-gfx/exiv2/files/exiv2-0.26-cmake1.patch      |  22 ----
 media-gfx/exiv2/files/exiv2-0.26-cmake2.patch      |  65 ----------
 media-gfx/exiv2/files/exiv2-0.26-cmake3.patch      |  53 --------
 media-gfx/exiv2/files/exiv2-0.26-cmake4.patch      |  24 ----
 media-gfx/exiv2/files/exiv2-0.26-cmake5.patch      |  33 -----
 media-gfx/exiv2/files/exiv2-0.26-cmake6.patch      |  27 -----
 media-gfx/exiv2/files/exiv2-0.26-cmake7.patch      |  38 ------
 media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch    |  70 -----------
 .../exiv2/files/exiv2-0.26-tools-optional.patch    |  27 -----
 12 files changed, 515 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 1cfa3b2b873..d2ca2261e26 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,3 +1,2 @@
 DIST exiv2-0.25.tar.gz 5434325 SHA256 c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 SHA512 08d4e655ffdde715e0214f4bef01d55aba9b8ba517456a60e254a0f8541c20479e407545db28ca90a69dee8def6941fdd88f9a557fb382ebebe49e363aca8e8e WHIRLPOOL f9e7a6947dac5870e0574253b8c1cb1e7d31a916a9e1c4417c73168046c0b4bed90b9c77253444604163bcf6dca204dab92a52cb03bdcb0f85c807327623f8ac
-DIST exiv2-0.26-trunk.tar.gz 5699163 SHA256 0c625cbeb494aa1b9221280a5b053b54d0c9720d48fa9120cef7c6f93efd4dc3 SHA512 d9f354f8458d7803140b442b2a8de3c8904b1e20916cf62d7176f51524e6ff7def26d3b6fa016abc49f8140295eea624151c54dbae0676a61529c2cf33335b0c WHIRLPOOL 0d36063ee659d0a798957e9a2478337f5e8061b467df8fb86b194830ac6ec751a75e1492ad7cbf4ed31c836b9c320f037af3708920b28b07c8970840e255d711
 DIST exiv2-0.26_p20171013.tar.gz 25801252 SHA256 137178f0dfc2734b174ba71b8b18d5852fcd5c6f7835eeb1b58f42b93eed7317 SHA512 4e8b10b8593a80615f5deb9fed3420f118338f1161b99c0b86456686fe8d511bb5df956ee25ed5edf990b34bab9efda64be5c80f6efbd78e6e497cb85e2a3ad5 WHIRLPOOL e32b9d98fa5be77bbf50bf275a95db8e9d15b0d40d762bdf512cb8d02f009fc452921df194121cd32d9780de1c83afd0da5cd75ef653a9ba1459f18884f71ffe

diff --git a/media-gfx/exiv2/exiv2-0.26.ebuild b/media-gfx/exiv2/exiv2-0.26.ebuild
deleted file mode 100644
index c63f2a26e98..00000000000
--- a/media-gfx/exiv2/exiv2-0.26.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="http://www.exiv2.org/"
-SRC_URI="http://www.exiv2.org/builds/${P}-trunk.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/26"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE_LINGUAS="bs de es fi fr gl ms pl pt ru sk sv ug uk vi"
-IUSE="doc examples nls png webready xmp $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
-
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
-	doc? (
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-		${PYTHON_DEPS}
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-PATCHES=(
-	"${FILESDIR}"/${P}-cmake{1,2,3,4,5,6,7}.patch
-	"${FILESDIR}"/${P}-CVE-2017-9239.patch
-	# TODO: Take to upstream
-	"${FILESDIR}"/${P}-fix-docs.patch
-	"${FILESDIR}"/${P}-tools-optional.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	# FIXME @upstream: MacOS cruft is breaking the buildsystem, so don't let it in...
-	tar -C "${WORKDIR}" --exclude=.* -xpf "${DISTDIR}/${A}" --gz 2> /dev/null ||
-		elog "${my_tar}: tar extract command failed at least partially - continuing"
-	mv "${PN}-trunk" "${S}" || die "Failed to create source dir ${S}"
-}
-
-src_prepare() {
-	if [[ ${PV} != *9999 ]] ; then
-		if [[ -d po ]] ; then
-			pushd po > /dev/null || die
-			local lang
-			for lang in *.po; do
-				if [[ -e ${lang} ]] && ! has ${lang/.po/} ${LINGUAS} ; then
-					case ${lang} in
-						CMakeLists.txt | \
-						${PN}.pot)      ;;
-						*) rm -r ${lang} || die ;;
-					esac
-				fi
-			done
-			popd > /dev/null || die
-		else
-			die "Failed to prepare LINGUAS - po directory moved?"
-		fi
-	fi
-
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_ENABLE_BUILD_PO=YES
-		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_LIBXMP=NO
-		$(multilib_is_native_abi || \
-			echo -DEXIV2_ENABLE_TOOLS=NO)
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-	use doc && HTML_DOCS=( "${S}"/doc/html/. )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.26-CVE-2017-9239.patch b/media-gfx/exiv2/files/exiv2-0.26-CVE-2017-9239.patch
deleted file mode 100644
index 2a3e20c9fac..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-CVE-2017-9239.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 2f8681e120d277e418941c4361c83b5028f67fd8 Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Sat, 27 May 2017 10:18:17 +0100
-Subject: [PATCH] #1296 Fix submitted.
-
----
- src/tiffcomposite.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/tiffcomposite.cpp b/src/tiffcomposite.cpp
-index c6b860d8..0c9b9c4a 100644
---- a/src/tiffcomposite.cpp
-+++ b/src/tiffcomposite.cpp
-@@ -1611,6 +1611,8 @@ namespace Exiv2 {
-     uint32_t TiffImageEntry::doWriteImage(IoWrapper& ioWrapper,
-                                           ByteOrder  /*byteOrder*/) const
-     {
-+        if ( !pValue() ) throw Error(21); // #1296
-+        
-         uint32_t len = pValue()->sizeDataArea();
-         if (len > 0) {
- #ifdef DEBUG

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake1.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake1.patch
deleted file mode 100644
index 672017e404b..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake1.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From d5ae1a7502cc3a19f2ca45f5f17f1ee8fc6ad979 Mon Sep 17 00:00:00 2001
-From: Timo Gurr <timo.gurr@gmail.com>
-Date: Tue, 30 May 2017 20:25:28 +0200
-Subject: [PATCH] Use CMAKE_INSTALL_LOCALEDIR
-
----
- config/CMakeChecks.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index 77922930..b3a888f2 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -98,7 +98,7 @@ IF( EXIV2_ENABLE_NLS )
-     #FIND_PACKAGE(Intl REQUIRED)
-     #INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-     IF( NOT LOCALEDIR )
--        SET( LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale" )
-+        SET( LOCALEDIR "${CMAKE_INSTALL_LOCALEDIR}" )
-         IF( WIN32 )
-             STRING( REPLACE "/" "\\\\" LOCALEDIR ${LOCALEDIR} )
-         ENDIF( WIN32 )

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake2.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake2.patch
deleted file mode 100644
index 76a19442486..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake2.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 3af0d1a6b2c12b7f62a293d19bdf235db75d6b07 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 3 Jun 2017 17:18:24 +0200
-Subject: [PATCH] cmake: fix gettext support
-
-Building exiv2 with uclibc and gettext fails currently as detected
-by the buildroot autobuilders:
-http://autobuild.buildroot.net/results/def/defcdd3dd57b031c31bb16c0075f079a482bf52d/build-end.log
----
- config/CMakeChecks.txt | 12 ++++++++++--
- src/CMakeLists.txt     |  6 +++---
- 2 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index b3a888f2..f7621a92 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -95,8 +95,16 @@ ELSE( EXIV2_ENABLE_SHARED )
- ENDIF( EXIV2_ENABLE_SHARED )
- 
- IF( EXIV2_ENABLE_NLS )
--    #FIND_PACKAGE(Intl REQUIRED)
--    #INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-+    FIND_PACKAGE(Intl)
-+    if(Intl_FOUND)
-+        INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-+        find_library(LIBINTL_LIBRARY NAMES intl libintl)
-+        if(libintl_FOUND)
-+            SET(LIBINTL_LIBRARIES ${LIBINTL_LIBRARY})
-+        else(libintl_FOUND)
-+            SET(LIBINTL_LIBRARIES)
-+        endif()
-+    endif()
-     IF( NOT LOCALEDIR )
-         SET( LOCALEDIR "${CMAKE_INSTALL_LOCALEDIR}" )
-         IF( WIN32 )
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index aecd6215..e2904c6f 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -316,13 +316,13 @@ msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME})
- # ******************************************************************************
- # exiv2 application
- ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
--TARGET_LINK_LIBRARIES( exiv2 exiv2lib )
-+TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
- INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
- 
- # ******************************************************************************
- # connection test application
- ADD_EXECUTABLE( conntest ${CONNTEST} )
--TARGET_LINK_LIBRARIES( conntest ${PRIVATE_VAR}  exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES})
-+TARGET_LINK_LIBRARIES( conntest ${PRIVATE_VAR}  exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES} ${LIBINTL_LIBRARIES} )
- 
- # ******************************************************************************
- # exifprint application
-@@ -332,7 +332,7 @@ TARGET_LINK_LIBRARIES( conntest ${PRIVATE_VAR}  exiv2lib ${CURL_LIBRARIES} ${SSH
- # ******************************************************************************
- # remotetest application
- ADD_EXECUTABLE( remotetest ${REMOTETEST} )
--TARGET_LINK_LIBRARIES( remotetest exiv2lib )
-+TARGET_LINK_LIBRARIES( remotetest exiv2lib ${LIBINTL_LIBRARIES} )
- 
- # ******************************************************************************
- # Headers

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake3.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake3.patch
deleted file mode 100644
index 7a78d1c8bd8..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake3.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 8af901ce05aeeaa4f5033da99670091f857d5931 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 3 Jun 2017 18:25:05 +0200
-Subject: [PATCH] cmake: always depend on threads, not only in the xmp case
-
----
- CMakeLists.txt         | 1 -
- config/CMakeChecks.txt | 2 ++
- src/CMakeLists.txt     | 2 ++
- 3 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7034bb67..64604c6f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -120,7 +120,6 @@ IF( EXIV2_ENABLE_XMP )
-     IF (NOT MINGW)
-         set(THREADS_PREFER_PTHREAD_FLAG ON)
-     ENDIF()
--    find_package(Threads REQUIRED)
- ENDIF( EXIV2_ENABLE_XMP )
- 
- INCLUDE( config/CMakeChecks.txt )
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index f7621a92..0dfe96b7 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -51,6 +51,8 @@ INCLUDE_DIRECTORIES( ${CMAKE_INCLUDE_PATH} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_C
- LINK_DIRECTORIES( ${CMAKE_LIBRARY_PATH} )
- SET( CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH} )
- 
-+find_package(Threads REQUIRED)
-+
- IF( EXIV2_ENABLE_PNG )
-     FIND_PACKAGE( ZLIB REQUIRED )
-     INCLUDE_DIRECTORIES( ${ZLIB_INCLUDE_DIR} )
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index e2904c6f..dcfb37e1 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -268,10 +268,12 @@ else()
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${EXPAT_LIBRARIES} )
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${CURL_LIBRARIES} )
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${SSH_LIBRARIES} )
-+        TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${CMAKE_THREAD_LIBS_INIT} )
-     else()
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${EXPAT_LIBRARIES} )
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${CURL_LIBRARIES} )
-         TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${SSH_LIBRARIES} )
-+        TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${CMAKE_THREAD_LIBS_INIT} )
-     endif()
- endif()
- 

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake4.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake4.patch
deleted file mode 100644
index 3824a574000..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake4.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 23ac3eeced6a4de0d34ae162ac7784ab9b7e4310 Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Sat, 3 Jun 2017 20:58:08 +0100
-Subject: [PATCH] #7 Fix for libintl
-
----
- config/CMakeChecks.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index 0dfe96b7..8c88aa27 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -103,8 +103,8 @@ IF( EXIV2_ENABLE_NLS )
-         find_library(LIBINTL_LIBRARY NAMES intl libintl)
-         if(libintl_FOUND)
-             SET(LIBINTL_LIBRARIES ${LIBINTL_LIBRARY})
--        else(libintl_FOUND)
--            SET(LIBINTL_LIBRARIES)
-+        else()
-+            SET(LIBINTL_LIBRARIES -lintl)
-         endif()
-     endif()
-     IF( NOT LOCALEDIR )

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake5.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake5.patch
deleted file mode 100644
index 0df4a19689f..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake5.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4e86c1d61c4b8ab2cbbb31db0031b8e1d1872231 Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Sun, 4 Jun 2017 07:41:03 +0100
-Subject: [PATCH] Fix https://github.com/Exiv2/exiv2/pull/6 for
- Linux/Cygwin/MacOSX
-
----
- config/CMakeChecks.txt | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index 8c88aa27..e6100c0f 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -98,13 +98,16 @@ ENDIF( EXIV2_ENABLE_SHARED )
- 
- IF( EXIV2_ENABLE_NLS )
-     FIND_PACKAGE(Intl)
--    if(Intl_FOUND)
-+    if(Intl_FOUND AND NOT MSVC)
-         INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-         find_library(LIBINTL_LIBRARY NAMES intl libintl)
-         if(libintl_FOUND)
-             SET(LIBINTL_LIBRARIES ${LIBINTL_LIBRARY})
-         else()
--            SET(LIBINTL_LIBRARIES -lintl)
-+            SET(LIBINTL_LIBRARIES)
-+            if ( APPLE OR CYGWIN )
-+            	SET(LIBINTL_LIBRARIES -lintl)
-+            endif()
-         endif()
-     endif()
-     IF( NOT LOCALEDIR )

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake6.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake6.patch
deleted file mode 100644
index 105b5889fea..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake6.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 88cf58613ffde4c907011bea82f61daae6006c3c Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Sun, 4 Jun 2017 09:07:14 +0100
-Subject: [PATCH] #8 Adding INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-
----
- config/CMakeChecks.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index e6100c0f..b90d4fde 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -102,11 +102,12 @@ IF( EXIV2_ENABLE_NLS )
-         INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-         find_library(LIBINTL_LIBRARY NAMES intl libintl)
-         if(libintl_FOUND)
-+            INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
-             SET(LIBINTL_LIBRARIES ${LIBINTL_LIBRARY})
-         else()
-             SET(LIBINTL_LIBRARIES)
-             if ( APPLE OR CYGWIN )
--            	SET(LIBINTL_LIBRARIES -lintl)
-+                SET(LIBINTL_LIBRARIES -lintl)
-             endif()
-         endif()
-     endif()

diff --git a/media-gfx/exiv2/files/exiv2-0.26-cmake7.patch b/media-gfx/exiv2/files/exiv2-0.26-cmake7.patch
deleted file mode 100644
index 0eff32a80d5..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-cmake7.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 15e0b9052eacd3438c8b39bf3fdda5da69ec068a Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sun, 4 Jun 2017 10:13:14 +0200
-Subject: [PATCH] cmake: simplify libintl check
-
-According to https://cmake.org/cmake/help/v3.4/module/FindIntl.html
-the FindIntl module already checks for libintl.so.
----
- config/CMakeChecks.txt | 15 ++++-----------
- 1 file changed, 4 insertions(+), 11 deletions(-)
-
-diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt
-index b90d4fde..0cd28ec7 100644
---- a/config/CMakeChecks.txt
-+++ b/config/CMakeChecks.txt
-@@ -98,18 +98,11 @@ ENDIF( EXIV2_ENABLE_SHARED )
- 
- IF( EXIV2_ENABLE_NLS )
-     FIND_PACKAGE(Intl)
--    if(Intl_FOUND AND NOT MSVC)
-+    if(Intl_FOUND)
-         INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
--        find_library(LIBINTL_LIBRARY NAMES intl libintl)
--        if(libintl_FOUND)
--            INCLUDE_DIRECTORIES(${Intl_INCLUDE_DIRS})
--            SET(LIBINTL_LIBRARIES ${LIBINTL_LIBRARY})
--        else()
--            SET(LIBINTL_LIBRARIES)
--            if ( APPLE OR CYGWIN )
--                SET(LIBINTL_LIBRARIES -lintl)
--            endif()
--        endif()
-+        SET(LIBINTL_LIBRARIES ${Intl_LIBRARIES})
-+    else()
-+        SET(LIBINTL_LIBRARIES)
-     endif()
-     IF( NOT LOCALEDIR )
-         SET( LOCALEDIR "${CMAKE_INSTALL_LOCALEDIR}" )

diff --git a/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch b/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
deleted file mode 100644
index a88867173df..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
---- a/CMakeLists.txt	2015-07-19 16:04:35.363628707 +0200
-+++ b/CMakeLists.txt	2015-07-19 16:28:31.051680136 +0200
-@@ -216,9 +216,7 @@
- ADD_SUBDIRECTORY( xmpsdk )
- ADD_SUBDIRECTORY( src )
- 
--IF( EXIV2_ENABLE_BUILD_SAMPLES )
--    ADD_SUBDIRECTORY( samples )
--ENDIF( EXIV2_ENABLE_BUILD_SAMPLES )
-+ADD_SUBDIRECTORY( samples )
- 
- IF( EXIV2_ENABLE_BUILD_PO )
-     ADD_SUBDIRECTORY( po )
---- a/samples/CMakeLists.txt	2015-07-19 16:04:35.360628744 +0200
-+++ b/samples/CMakeLists.txt	2015-07-19 16:30:46.415987850 +0200
-@@ -21,6 +21,10 @@
- include_directories("${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src")
- 
--SET( SAMPLES addmoddel.cpp
-+SET( SAMPLES taglist.cpp )
-+
-+IF( EXIV2_ENABLE_BUILD_SAMPLES )
-+    SET( SAMPLES ${SAMPLES}
-+             addmoddel.cpp
-              convert-test.cpp
-              easyaccess-test.cpp
-              exifcomment.cpp
-@@ -38,7 +42,6 @@
-              mmap-test.cpp
-              prevtest.cpp
-              stringto-test.cpp
--             taglist.cpp
-              tiff-test.cpp
-              werror-test.cpp
-              write-test.cpp
-@@ -47,6 +50,7 @@
-              xmpparser-test.cpp
-              xmpsample.cpp
-    )
-+ENDIF()
- 
- FOREACH(entry ${SAMPLES})
-     STRING( REPLACE ".cpp" "" target ${entry})
-@@ -63,6 +67,7 @@
-     SET( MC_SRC            ${MC_SRC}       ../src/getopt_win32.c )
- ENDIF( MSVC )
- 
-+IF( EXIV2_ENABLE_BUILD_SAMPLES )
- SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp )
- ADD_EXECUTABLE( metacopy ${MC_SRC} )
- TARGET_LINK_LIBRARIES( metacopy exiv2lib )
-@@ -79,6 +84,7 @@
- # ******************************************************************************
- # Man page
- INSTALL( FILES exiv2samples.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
-+ENDIF()
- 
- # That's all Folks!
- ##
---- a/doc/templates/Makefile	2015-07-19 16:50:50.589933604 +0200
-+++ b/doc/templates/Makefile	2015-07-19 16:51:07.686719864 +0200
-@@ -143,7 +143,7 @@
-          xmp_mwg-rs \
-          xmp_mwg-kw
- 
--TAGLIST = ../../bin/taglist
-+TAGLIST = ../../src/bin/taglist
- 
- # **********************************************************************
- # ======================================================================

diff --git a/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch b/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
deleted file mode 100644
index 045e9dc58f0..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/CMakeLists.txt	2017-06-07 00:14:25.374608170 +0200
-+++ b/CMakeLists.txt	2017-06-07 00:17:00.680483299 +0200
-@@ -60,6 +60,7 @@
-     OPTION( EXIV2_ENABLE_SSH           "USE Libssh for SshIo"                              ON  )
-     SET ( EXIV2_ENABLE_DYNAMIC_RUNTIME OFF )
- ENDIF()
-+OPTION( EXIV2_ENABLE_TOOLS         "Build exiv2 executable"                                ON  )
- 
- # set include path for FindXXX.cmake files
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/config/")
---- a/src/CMakeLists.txt	2017-06-07 00:14:25.368608098 +0200
-+++ b/src/CMakeLists.txt	2017-06-07 00:16:06.710831682 +0200
-@@ -317,9 +317,11 @@
- 
- # ******************************************************************************
- # exiv2 application
--ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
--TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
--INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
-+IF(EXIV2_ENABLE_TOOLS)
-+    ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
-+    TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
-+    INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
-+ENDIF( EXIV2_ENABLE_TOOLS )
- 
- # ******************************************************************************
- # connection test application


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2017-10-14  7:57 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2017-10-14  7:57 UTC (permalink / raw
  To: gentoo-commits

commit:     3d87a84e9efadd125720c7caf8b5045948353547
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 14 07:55:27 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Oct 14 07:55:27 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d87a84e

media-gfx/exiv2: Fix !multilib_is_native_abi build

Gentoo-bug: 634178
Package-Manager: Portage-2.3.11, Repoman-2.3.3

 media-gfx/exiv2/exiv2-0.26_p20171013.ebuild        |  2 +
 .../exiv2/files/exiv2-0.26_p20171013-cmake.patch   | 47 ++++++++++++++++++++++
 2 files changed, 49 insertions(+)

diff --git a/media-gfx/exiv2/exiv2-0.26_p20171013.ebuild b/media-gfx/exiv2/exiv2-0.26_p20171013.ebuild
index 92035195fe4..9aa6302ffd0 100644
--- a/media-gfx/exiv2/exiv2-0.26_p20171013.ebuild
+++ b/media-gfx/exiv2/exiv2-0.26_p20171013.ebuild
@@ -41,6 +41,8 @@ DEPEND="${RDEPEND}
 
 DOCS=( README.md doc/ChangeLog doc/cmd.txt )
 
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
 pkg_setup() {
 	use doc && python-any-r1_pkg_setup
 }

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20171013-cmake.patch b/media-gfx/exiv2/files/exiv2-0.26_p20171013-cmake.patch
new file mode 100644
index 00000000000..c10f125415b
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26_p20171013-cmake.patch
@@ -0,0 +1,47 @@
+From 57883ee664260f5a1b382575e7477ad34c86ce7d Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Fri, 13 Oct 2017 18:54:11 +0200
+Subject: [PATCH] Fix build with EXIV2_BUILD_EXIV2_COMMAND=OFF
+
+---
+ src/CMakeLists.txt | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index fe49a0a6..f75cbf1b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -291,21 +291,28 @@ if(EXIV2_BUILD_EXIV2_COMMAND)
+     if ( BUILD_SHARED_LIBS )
+         target_compile_definitions(exiv2 PRIVATE EXV_HAVE_DLL )
+     endif()
++    # modify source lists to suit environment
++
++    # TODO This should not be needed here! we need to fix the previous TODO
++    target_include_directories(exiv2 PRIVATE ${CMAKE_SOURCE_DIR}/include/)
++
++    if(NOT EXV_HAVE_TIMEGM )
++        target_sources(exiv2    PRIVATE localtime.c)
++    endif()
++
++    if (MSVC)
++        target_sources(exiv2    PRIVATE getopt_win32.c)
++    endif()
+     install(TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ 
+-# TODO This should not be needed here! we need to fix the previous TODO
+-target_include_directories(exiv2 PRIVATE ${CMAKE_SOURCE_DIR}/include/)
+-
+ # modify source lists to suit environment
+ if(NOT EXV_HAVE_TIMEGM )
+     target_sources(exiv2lib PRIVATE localtime.c)
+-    target_sources(exiv2    PRIVATE localtime.c)
+ endif()
+ 
+ if (MSVC)
+     target_sources(exiv2lib PRIVATE getopt_win32.c)
+-    target_sources(exiv2    PRIVATE getopt_win32.c)
+ endif()
+ 
+ # ******************************************************************************


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2017-10-18  0:35 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2017-10-18  0:35 UTC (permalink / raw
  To: gentoo-commits

commit:     7905c64ebd0e68b9267f6965508b145591b325f5
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 18 00:03:35 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 00:28:39 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7905c64e

media-gfx/exiv2: Add 0.26_p20171018 snapshot from 0.26 branch

Since many commits haven't been backported yet, this is actually
a tarball made of my fork, until this is decided upstream.

Not pretty but better than keeping the current snapshot in tree.

Gentoo-bug: 634308
Package-Manager: Portage-2.3.11, Repoman-2.3.3

 media-gfx/exiv2/Manifest                           |   1 +
 media-gfx/exiv2/exiv2-0.26_p20171018.ebuild        | 128 +++++++++++++++++++++
 media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch    |  83 +++++++++++++
 .../exiv2/files/exiv2-0.26-tools-optional.patch    |  28 +++++
 4 files changed, 240 insertions(+)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index d2ca2261e26..4c27da12d82 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1,3 @@
 DIST exiv2-0.25.tar.gz 5434325 SHA256 c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 SHA512 08d4e655ffdde715e0214f4bef01d55aba9b8ba517456a60e254a0f8541c20479e407545db28ca90a69dee8def6941fdd88f9a557fb382ebebe49e363aca8e8e WHIRLPOOL f9e7a6947dac5870e0574253b8c1cb1e7d31a916a9e1c4417c73168046c0b4bed90b9c77253444604163bcf6dca204dab92a52cb03bdcb0f85c807327623f8ac
 DIST exiv2-0.26_p20171013.tar.gz 25801252 SHA256 137178f0dfc2734b174ba71b8b18d5852fcd5c6f7835eeb1b58f42b93eed7317 SHA512 4e8b10b8593a80615f5deb9fed3420f118338f1161b99c0b86456686fe8d511bb5df956ee25ed5edf990b34bab9efda64be5c80f6efbd78e6e497cb85e2a3ad5 WHIRLPOOL e32b9d98fa5be77bbf50bf275a95db8e9d15b0d40d762bdf512cb8d02f009fc452921df194121cd32d9780de1c83afd0da5cd75ef653a9ba1459f18884f71ffe
+DIST exiv2-0.26_p20171018.tar.gz 28370645 SHA256 7dea665ff7e58a7a858b1aa624d75f27f8b8b154cce645ef970344982c9de449 SHA512 fb4c867a5879ab46f31a1a8a7f8d24395620d6ff2a1088bc9d8d589ca110fad063e19266f4e2b75ad7bebc5b87141ed95db8e214220670a4d11092dfe654558c WHIRLPOOL b2c5060fbbb177479ffd8fbf68957d2329c0383da673b3555f602e574ee90672f55dd6105dcb25e47c9efde97dd4721d05596b22ab9f954bf9e502ffac0ee45c

diff --git a/media-gfx/exiv2/exiv2-0.26_p20171018.ebuild b/media-gfx/exiv2/exiv2-0.26_p20171018.ebuild
new file mode 100644
index 00000000000..aa1eeec5560
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.26_p20171018.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+LINGUAS="bs de es fi fr gl ms pl pt ru sk sv ug uk vi"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+if [[ ${PV} = *9999 ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	EGIT_BRANCH="0.26"
+	GIT_ECLASS=git-r3
+else
+	COMMIT=0a9962f5879335e4eb539ce419fce45a41de2770
+	SRC_URI="https://github.com/a17r/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+fi
+inherit cmake-multilib python-any-r1 vcs-snapshot
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+
+LICENSE="GPL-2"
+SLOT="0/26"
+IUSE="doc examples nls png webready xmp $(printf 'linguas_%s ' ${LINGUAS})"
+
+RDEPEND="
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+	webready? (
+		net-libs/libssh[${MULTILIB_USEDEP}]
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+	doc? (
+		${PYTHON_DEPS}
+		app-doc/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+PATCHES=(
+	# TODO: Take to upstream
+	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
+	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
+)
+
+pkg_setup() {
+	use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	if [[ ${PV} != *9999 ]] ; then
+		if [[ -d po ]] ; then
+			pushd po > /dev/null || die
+			local lang
+			for lang in *.po; do
+				if [[ -e ${lang} ]] && ! has ${lang/.po/} ${LINGUAS} ; then
+					case ${lang} in
+						CMakeLists.txt | \
+						${PN}.pot)      ;;
+						*) rm -r ${lang} || die ;;
+					esac
+				fi
+			done
+			popd > /dev/null || die
+		else
+			die "Failed to prepare LINGUAS - po directory moved?"
+		fi
+	fi
+
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	if use doc; then
+		einfo "Updating doxygen config"
+		doxygen &>/dev/null -u config/Doxyfile || die
+	fi
+
+	cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
+		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_SSH=$(usex webready)
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		-DEXIV2_ENABLE_LIBXMP=NO
+		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
+	)
+
+	cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+	cmake-utils_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && emake -j1 doc
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+	use doc && HTML_DOCS=( "${S}"/doc/html/. )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch b/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
new file mode 100644
index 00000000000..05ea18d6eb0
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
@@ -0,0 +1,83 @@
+--- a/CMakeLists.txt	2015-07-19 16:04:35.363628707 +0200
++++ b/CMakeLists.txt	2015-07-19 16:28:31.051680136 +0200
+@@ -216,9 +216,7 @@
+ ADD_SUBDIRECTORY( xmpsdk )
+ ADD_SUBDIRECTORY( src )
+ 
+-IF( EXIV2_ENABLE_BUILD_SAMPLES )
+-    ADD_SUBDIRECTORY( samples )
+-ENDIF( EXIV2_ENABLE_BUILD_SAMPLES )
++ADD_SUBDIRECTORY( samples )
+ 
+ IF( EXIV2_ENABLE_BUILD_PO )
+     ADD_SUBDIRECTORY( po )
+--- a/samples/CMakeLists.txt	2015-07-19 16:04:35.360628744 +0200
++++ b/samples/CMakeLists.txt	2015-07-19 16:30:46.415987850 +0200
+@@ -21,6 +21,10 @@
+ include_directories("${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src")
+ 
+-SET( SAMPLES addmoddel.cpp
++SET( SAMPLES taglist.cpp )
++
++IF( EXIV2_ENABLE_BUILD_SAMPLES )
++    SET( SAMPLES ${SAMPLES}
++             addmoddel.cpp
+              convert-test.cpp
+              easyaccess-test.cpp
+              exifcomment.cpp
+@@ -38,7 +42,6 @@
+              mmap-test.cpp
+              prevtest.cpp
+              stringto-test.cpp
+-             taglist.cpp
+              tiff-test.cpp
+              werror-test.cpp
+              write-test.cpp
+@@ -47,6 +50,7 @@
+              xmpparser-test.cpp
+              xmpsample.cpp
+    )
++ENDIF()
+ 
+ FOREACH(entry ${SAMPLES})
+     STRING( REPLACE ".cpp" "" target ${entry})
+@@ -63,6 +67,7 @@
+     SET( MC_SRC            ${MC_SRC}       ../src/getopt_win32.c )
+ ENDIF( MSVC )
+ 
++IF( EXIV2_ENABLE_BUILD_SAMPLES )
+ SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp )
+ ADD_EXECUTABLE( metacopy ${MC_SRC} )
+ TARGET_LINK_LIBRARIES( metacopy exiv2lib )
+@@ -79,6 +84,7 @@
+ # ******************************************************************************
+ # Man page
+ INSTALL( FILES exiv2samples.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
++ENDIF()
+ 
+ # That's all Folks!
+ ##
+--- a/doc/templates/Makefile	2015-07-19 16:50:50.589933604 +0200
++++ b/doc/templates/Makefile	2015-07-19 16:51:07.686719864 +0200
+@@ -143,7 +143,7 @@
+          xmp_mwg-rs \
+          xmp_mwg-kw
+ 
+-TAGLIST = ../../bin/taglist
++TAGLIST = ../../src/bin/taglist
+ 
+ # **********************************************************************
+ # ======================================================================
+diff --git a/doc/cmake_doc.sh b/doc/cmake_doc.sh
+index 44dd6760..5910a86d 100755
+--- a/doc/cmake_doc.sh
++++ b/doc/cmake_doc.sh
+@@ -16,7 +16,7 @@ if [ $# == 1 ]; then
+         mv src/exv_conf.h.keep src/exv_conf.h
+     fi
+     mkdir -p  src/bin/
+-    cp    -f  "${CMAKE_BINARY_DIR}/bin/taglist" src/bin/
++    cp    -f  "${CMAKE_BINARY_DIR}/samples/taglist" src/bin/
+     make doc
+ fi
+ 

diff --git a/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch b/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
new file mode 100644
index 00000000000..36920cd0dc4
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
@@ -0,0 +1,28 @@
+--- a/CMakeLists.txt	2017-06-07 00:14:25.374608170 +0200
++++ b/CMakeLists.txt	2017-06-07 00:17:00.680483299 +0200
+@@ -60,6 +60,7 @@
+     OPTION( EXIV2_ENABLE_SSH           "USE Libssh for SshIo"                              ON  )
+     SET ( EXIV2_ENABLE_DYNAMIC_RUNTIME OFF )
+ ENDIF()
++OPTION( EXIV2_ENABLE_TOOLS         "Build exiv2 executable"                                ON  )
+ 
+ # set include path for FindXXX.cmake files
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/config/")
+--- a/src/CMakeLists.txt	2017-06-07 00:14:25.368608098 +0200
++++ b/src/CMakeLists.txt	2017-06-07 00:16:06.710831682 +0200
+@@ -317,10 +317,12 @@
+ 
+ # ******************************************************************************
+ # exiv2 application
+-ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
++IF(EXIV2_ENABLE_TOOLS)
++    ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
+ target_compile_definitions(exiv2 PRIVATE EXV_LOCALEDIR="${CMAKE_INSTALL_LOCALEDIR}" )
+-TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
+-INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++    TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
++    INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++ENDIF( EXIV2_ENABLE_TOOLS )
+ 
+ # ******************************************************************************
+ # connection test application


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2017-12-05 16:15 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2017-12-05 16:15 UTC (permalink / raw
  To: gentoo-commits

commit:     4c6eada07c811dc3bd34ce06907d3a5cd8cafe54
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  5 16:10:05 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec  5 16:15:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c6eada0

media-gfx/exiv2: Fix crash with Pentax/Nikon exif data

Bug: https://bugs.gentoo.org/626214
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-gfx/exiv2/Manifest                           |   2 +-
 media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild     | 129 +++++++++++++++++++++
 .../exiv2/files/exiv2-0.26-pentaxnikon-crash.patch |  52 +++++++++
 3 files changed, 182 insertions(+), 1 deletion(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 44859a8fee7..a9b1bd775e2 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1 @@
-DIST exiv2-0.26_p20171104.tar.gz 28368697 SHA256 f7a46c0b1d3d3c30518202e62dbe086029f584a064bbb531a0ab11270a454007 SHA512 6f6a884d7978e54dceb9ce45248cd0425ff469887c85ef52b0e38cb755970f69fce96b4b5317c8e8070b833f72ca214696042aac71292a6f9c3440f6a369d474 WHIRLPOOL 7baf5fcde327b2e1decde48f44b616f98fab7c65d22ee5e94e0b356fad4d7950c116db17a94b3c91954ac1565c3fe2853b83262c0a4597744dea708b304dce09
+DIST exiv2-0.26_p20171104.tar.gz 28368697 BLAKE2B 50013cf0bf30a2a476b02d5db4027fca268a4b38733762eb4c08e5f3bdfaf737038e9a62f7ef471fecb10250d8ae686ef683f9b0ea4ccc5d109440ba534371e4 SHA512 6f6a884d7978e54dceb9ce45248cd0425ff469887c85ef52b0e38cb755970f69fce96b4b5317c8e8070b833f72ca214696042aac71292a6f9c3440f6a369d474

diff --git a/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild b/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild
new file mode 100644
index 00000000000..f7eb67dc5bf
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+LINGUAS="bs de es fi fr gl ms pl pt ru sk sv ug uk vi"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+if [[ ${PV} = *9999 ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	EGIT_BRANCH="0.26"
+	GIT_ECLASS=git-r3
+else
+	COMMIT=900d2417dbeb46e14cbf65fc2798ed1d043ab76d
+	SRC_URI="https://github.com/Exiv2/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+fi
+inherit cmake-multilib python-any-r1 vcs-snapshot
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+
+LICENSE="GPL-2"
+SLOT="0/26"
+IUSE="doc examples nls png webready xmp $(printf 'linguas_%s ' ${LINGUAS})"
+
+RDEPEND="
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+	webready? (
+		net-libs/libssh[${MULTILIB_USEDEP}]
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+	doc? (
+		${PYTHON_DEPS}
+		app-doc/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+PATCHES=(
+	# TODO: Take to upstream
+	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
+	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
+	"${FILESDIR}"/${PN}-0.26-pentaxnikon-crash.patch
+)
+
+pkg_setup() {
+	use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	if [[ ${PV} != *9999 ]] ; then
+		if [[ -d po ]] ; then
+			pushd po > /dev/null || die
+			local lang
+			for lang in *.po; do
+				if [[ -e ${lang} ]] && ! has ${lang/.po/} ${LINGUAS} ; then
+					case ${lang} in
+						CMakeLists.txt | \
+						${PN}.pot)      ;;
+						*) rm -r ${lang} || die ;;
+					esac
+				fi
+			done
+			popd > /dev/null || die
+		else
+			die "Failed to prepare LINGUAS - po directory moved?"
+		fi
+	fi
+
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	if use doc; then
+		einfo "Updating doxygen config"
+		doxygen &>/dev/null -u config/Doxyfile || die
+	fi
+
+	cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
+		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_SSH=$(usex webready)
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		-DEXIV2_ENABLE_LIBXMP=NO
+		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
+	)
+
+	cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+	cmake-utils_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && emake -j1 doc
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+	use doc && HTML_DOCS=( "${S}"/doc/html/. )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch b/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch
new file mode 100644
index 00000000000..a66af8d5dc9
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch
@@ -0,0 +1,52 @@
+From 2dc166b04ca6152d01bff6627a332e89ddef24d1 Mon Sep 17 00:00:00 2001
+From: clanmills <robin@clanmills.com>
+Date: Tue, 12 Sep 2017 09:14:42 +0100
+Subject: [PATCH 1/2] Fix http://dev.exiv2.org/issues/1305
+
+---
+ src/pentaxmn.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/pentaxmn.cpp b/src/pentaxmn.cpp
+index 4fc38be0..b22cb43b 100644
+--- a/src/pentaxmn.cpp
++++ b/src/pentaxmn.cpp
+@@ -1167,6 +1167,8 @@ namespace Exiv2 {
+ 
+     std::ostream& PentaxMakerNote::printShutterCount(std::ostream& os, const Value& value, const ExifData* metadata)
+     {
++        if ( ! metadata ) return os << "undefined" ;
++
+         ExifData::const_iterator dateIt = metadata->findKey(
+                 ExifKey("Exif.PentaxDng.Date"));
+         if (dateIt == metadata->end()) {
+-- 
+2.13.6
+
+
+From 3bc0b91bcecefdad531129b1a934be1251021c95 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C4=81ris=20Narti=C5=A1s?= <mn@sungis.lv>
+Date: Mon, 18 Sep 2017 23:37:40 +0300
+Subject: [PATCH 2/2] Fix crash on undefined metadata on some Nikon images.
+ Identical to commit:5405d61623e82896e498c5c8342dd6f42e689115
+
+---
+ src/nikonmn.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/nikonmn.cpp b/src/nikonmn.cpp
+index 571ab806..34bf601c 100644
+--- a/src/nikonmn.cpp
++++ b/src/nikonmn.cpp
+@@ -299,6 +299,8 @@ namespace Exiv2 {
+                                                const Value& value,
+                                                const ExifData* exifData)
+     {
++        if ( ! exifData ) return os << "undefined" ;
++
+         if ( value.count() >= 9 ) {
+             ByteOrder bo = getKeyString("Exif.MakerNote.ByteOrder",exifData) == "MM" ? bigEndian : littleEndian;
+             byte      p[4];
+-- 
+2.13.6
+


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2018-04-25 17:54 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2018-04-25 17:54 UTC (permalink / raw
  To: gentoo-commits

commit:     1dc8557a38b42c16b34728619c94d0c89476251a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 25 17:40:31 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr 25 17:53:27 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dc8557a

media-gfx/exiv2: Add 0.26_p20180319 snapshot

Fixing CVE-2017-17669, CVE-2017-17725, CVE-2017-18005, CVE-2018-4868

Bug: https://bugs.gentoo.org/626214
Bug: https://bugs.gentoo.org/643554
Bug: https://bugs.gentoo.org/647808
Bug: https://bugs.gentoo.org/640978
Package-Manager: Portage-2.3.31, Repoman-2.3.9

 media-gfx/exiv2/Manifest                           |   1 +
 media-gfx/exiv2/exiv2-0.26_p20180319.ebuild        | 136 ++++++
 .../exiv2-0.26_p20180319-CVE-2017-18005.patch      | 484 +++++++++++++++++++++
 .../files/exiv2-0.26_p20180319-CVE-2018-4868.patch |  39 ++
 4 files changed, 660 insertions(+)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index a9b1bd775e2..ff807541c73 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1,2 @@
 DIST exiv2-0.26_p20171104.tar.gz 28368697 BLAKE2B 50013cf0bf30a2a476b02d5db4027fca268a4b38733762eb4c08e5f3bdfaf737038e9a62f7ef471fecb10250d8ae686ef683f9b0ea4ccc5d109440ba534371e4 SHA512 6f6a884d7978e54dceb9ce45248cd0425ff469887c85ef52b0e38cb755970f69fce96b4b5317c8e8070b833f72ca214696042aac71292a6f9c3440f6a369d474
+DIST exiv2-0.26_p20180319.tar.gz 28383543 BLAKE2B 753a2ebdb2033490c0f66cb1fb2574f02125f17813f6cbaf5eca66e053af9a2cdbc1266f0a033f0706ec22b31acd6e87271e426a335a58ee947757b52d283489 SHA512 852ce2cffcc0a2d902a939933127fdf5fa0b50020e1faf3ab0a375b129b9f61c7b97b76d4f39e376e7288d7cc045867bd1a96ae15dd0b7c0bcd1ba15259628e1

diff --git a/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild b/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
new file mode 100644
index 00000000000..9ba53069a66
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+if [[ ${PV} = *9999 ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	EGIT_BRANCH="0.26"
+	GIT_ECLASS=git-r3
+else
+	COMMIT=876b1314ab892cbfa6672b6b94adbeb90db4211f
+	SRC_URI="https://github.com/Exiv2/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+fi
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+
+LICENSE="GPL-2"
+SLOT="0/26"
+IUSE="doc examples nls png webready xmp"
+
+RDEPEND="
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+	webready? (
+		net-libs/libssh[${MULTILIB_USEDEP}]
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+	app-text/dos2unix
+	doc? (
+		${PYTHON_DEPS}
+		app-doc/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+S="${WORKDIR}/${PN^}-${PN}-${COMMIT:0:7}"
+
+PATCHES=(
+	# master, pending backports for 0.26
+	"${FILESDIR}"/${P}-CVE-2018-4868.patch
+	"${FILESDIR}"/${P}-CVE-2017-18005.patch
+	# TODO: Take to upstream
+	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
+	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
+)
+
+pkg_setup() {
+	use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	if [[ ${PV} != *9999 ]] ; then
+		if [[ -d po ]] ; then
+			pushd po > /dev/null || die
+			local lang
+			for lang in *.po; do
+				if [[ -e ${lang} ]] \
+						&& ! has ${lang/.po/} ${LINGUAS-${lang/.po/}} ; then
+					case ${lang} in
+						CMakeLists.txt | \
+						${PN}.pot)      ;;
+						*) rm -r ${lang} || die ;;
+					esac
+				fi
+			done
+			popd > /dev/null || die
+		else
+			die "Failed to prepare LINGUAS - po directory moved?"
+		fi
+	fi
+
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	if use doc; then
+		einfo "Updating doxygen config"
+		doxygen &>/dev/null -u config/Doxyfile || die
+	fi
+
+	dos2unix samples/exiv2json.cpp || die # workaround for CVE-2017-18005 patch
+
+	cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
+		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_SSH=$(usex webready)
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		-DEXIV2_ENABLE_LIBXMP=NO
+		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
+	)
+
+	cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+	cmake-utils_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && emake -j1 doc
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+	use doc && HTML_DOCS=( "${S}"/doc/html/. )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch
new file mode 100644
index 00000000000..d74ca59e3c0
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch
@@ -0,0 +1,484 @@
+From 8e31dd8c14fdc83f387f35dda7b1b70fbdbd70db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
+Date: Tue, 19 Dec 2017 19:52:41 +0100
+Subject: [PATCH 3/8] Only print items (Params::prValue) when size > 0
+
+---
+ src/actions.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index 9f850097..3963cb67 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -713,8 +713,9 @@ namespace Action {
+                       << std::setfill(' ') << std::right
+                       << md.size();
+         }
+-        if (Params::instance().printItems_ & Params::prValue) {
+-            if (!first) std::cout << "  ";
++        if (Params::instance().printItems_ & Params::prValue && md.size() > 0) {
++            if (!first)
++                std::cout << "  ";
+             first = false;
+             if (   Params::instance().binary_
+                 && (   md.typeId() == Exiv2::undefined
+-- 
+2.17.0
+
+
+From 463485e5c1cc716108880f75b9c573715bf402b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
+Date: Tue, 19 Dec 2017 19:54:17 +0100
+Subject: [PATCH 4/8] Move condition in if statement to discard work earlier
+
+---
+ src/actions.cpp | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index 3963cb67..f51cb488 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -717,11 +717,10 @@ namespace Action {
+             if (!first)
+                 std::cout << "  ";
+             first = false;
+-            if (   Params::instance().binary_
+-                && (   md.typeId() == Exiv2::undefined
++            if (md.size() > 128 && Params::instance().binary_ && (
++                       md.typeId() == Exiv2::undefined
+                     || md.typeId() == Exiv2::unsignedByte
+-                    || md.typeId() == Exiv2::signedByte)
+-                && md.size() > 128) {
++                    || md.typeId() == Exiv2::signedByte)) {
+                 std::cout << _("(Binary value suppressed)") << std::endl;
+                 return true;
+             }
+-- 
+2.17.0
+
+
+From 7fe7501c01e5d1eec16a736062dd0c34d6408833 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
+Date: Tue, 19 Dec 2017 19:55:50 +0100
+Subject: [PATCH 5/8] Apply clang-format to Print::printMetadatum
+
+---
+ src/actions.cpp | 110 ++++++++++++++++++++++++------------------------
+ 1 file changed, 55 insertions(+), 55 deletions(-)
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index f51cb488..b31d6ec6 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -636,91 +636,90 @@ namespace Action {
+ 
+     bool Print::printMetadatum(const Exiv2::Metadatum& md, const Exiv2::Image* pImage)
+     {
+-        if (!grepTag(md.key())) return false;
+-        if (!keyTag (md.key())) return false;
++        if (!grepTag(md.key()))
++            return false;
++        if (!keyTag(md.key()))
++            return false;
+ 
+-        if (   Params::instance().unknown_
+-            && md.tagName().substr(0, 2) == "0x") {
++        if (Params::instance().unknown_ && md.tagName().substr(0, 2) == "0x") {
+             return false;
+         }
++
+         bool const manyFiles = Params::instance().files_.size() > 1;
+         if (manyFiles) {
+-            std::cout << std::setfill(' ') << std::left << std::setw(20)
+-                      << path_ << "  ";
++            std::cout << std::setfill(' ') << std::left << std::setw(20) << path_ << "  ";
+         }
++
+         bool first = true;
+         if (Params::instance().printItems_ & Params::prTag) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << "0x" << std::setw(4) << std::setfill('0')
+-                      << std::right << std::hex
+-                      << md.tag();
++            std::cout << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << md.tag();
+         }
+         if (Params::instance().printItems_ & Params::prSet) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << "set" ;
++            std::cout << "set";
+         }
+         if (Params::instance().printItems_ & Params::prGroup) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::setw(12) << std::setfill(' ') << std::left
+-                      << md.groupName();
++            std::cout << std::setw(12) << std::setfill(' ') << std::left << md.groupName();
+         }
+         if (Params::instance().printItems_ & Params::prKey) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::setfill(' ') << std::left << std::setw(44)
+-                      << md.key();
++            std::cout << std::setfill(' ') << std::left << std::setw(44) << md.key();
+         }
+         if (Params::instance().printItems_ & Params::prName) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::setw(27) << std::setfill(' ') << std::left
+-                      << md.tagName();
++            std::cout << std::setw(27) << std::setfill(' ') << std::left << md.tagName();
+         }
+         if (Params::instance().printItems_ & Params::prLabel) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::setw(30) << std::setfill(' ') << std::left
+-                      << md.tagLabel();
++            std::cout << std::setw(30) << std::setfill(' ') << std::left << md.tagLabel();
+         }
+         if (Params::instance().printItems_ & Params::prType) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+             std::cout << std::setw(9) << std::setfill(' ') << std::left;
+             const char* tn = md.typeName();
+             if (tn) {
+                 std::cout << tn;
+-            }
+-            else {
++            } else {
+                 std::ostringstream os;
+                 os << "0x" << std::setw(4) << std::setfill('0') << std::hex << md.typeId();
+                 std::cout << os.str();
+             }
+         }
+         if (Params::instance().printItems_ & Params::prCount) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::dec << std::setw(3)
+-                      << std::setfill(' ') << std::right
+-                      << md.count();
++            std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.count();
+         }
+         if (Params::instance().printItems_ & Params::prSize) {
+-            if (!first) std::cout << " ";
++            if (!first)
++                std::cout << " ";
+             first = false;
+-            std::cout << std::dec << std::setw(3)
+-                      << std::setfill(' ') << std::right
+-                      << md.size();
++            std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.size();
+         }
+         if (Params::instance().printItems_ & Params::prValue && md.size() > 0) {
+             if (!first)
+                 std::cout << "  ";
+             first = false;
+-            if (md.size() > 128 && Params::instance().binary_ && (
+-                       md.typeId() == Exiv2::undefined
+-                    || md.typeId() == Exiv2::unsignedByte
+-                    || md.typeId() == Exiv2::signedByte)) {
++            if (md.size() > 128 && Params::instance().binary_ &&
++                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
++                 md.typeId() == Exiv2::signedByte)) {
+                 std::cout << _("(Binary value suppressed)") << std::endl;
+                 return true;
+             }
+@@ -738,22 +737,22 @@ namespace Action {
+             }
+             if (!done) {
+                 // #1114 - show negative values for SByte
+-                if (md.typeId() != Exiv2::signedByte){
++                if (md.typeId() != Exiv2::signedByte) {
+                     std::cout << std::dec << md.value();
+                 } else {
+                     int value = md.value().toLong();
+-                    std::cout << std::dec << (value<128?value:value-256);
++                    std::cout << std::dec << (value < 128 ? value : value - 256);
+                 }
+             }
+         }
+         if (Params::instance().printItems_ & Params::prTrans) {
+-            if (!first) std::cout << "  ";
++            if (!first)
++                std::cout << "  ";
+             first = false;
+-            if (   Params::instance().binary_
+-                && (   md.typeId() == Exiv2::undefined
+-                    || md.typeId() == Exiv2::unsignedByte
+-                    || md.typeId() == Exiv2::signedByte)
+-                && md.size() > 128) {
++            if (Params::instance().binary_ &&
++                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
++                 md.typeId() == Exiv2::signedByte) &&
++                md.size() > 128) {
+                 std::cout << _("(Binary value suppressed)") << std::endl;
+                 return true;
+             }
+@@ -765,16 +764,17 @@ namespace Action {
+                     done = true;
+                 }
+             }
+-            if (!done) std::cout << std::dec << md.print(&pImage->exifData());
++            if (!done)
++                std::cout << std::dec << md.print(&pImage->exifData());
+         }
+         if (Params::instance().printItems_ & Params::prHex) {
+-            if (!first) std::cout << std::endl;
++            if (!first)
++                std::cout << std::endl;
+             first = false;
+-            if (   Params::instance().binary_
+-                && (   md.typeId() == Exiv2::undefined
+-                    || md.typeId() == Exiv2::unsignedByte
+-                    || md.typeId() == Exiv2::signedByte)
+-                && md.size() > 128) {
++            if (Params::instance().binary_ &&
++                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
++                 md.typeId() == Exiv2::signedByte) &&
++                md.size() > 128) {
+                 std::cout << _("(Binary value suppressed)") << std::endl;
+                 return true;
+             }
+@@ -784,7 +784,7 @@ namespace Action {
+         }
+         std::cout << std::endl;
+         return true;
+-    } // Print::printMetadatum
++    }  // Print::printMetadatum
+ 
+     int Print::printComment()
+     {
+-- 
+2.17.0
+
+
+From 78ddc7a92afaaf58b78d5c49b5c2ad7b60a4e25f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
+Date: Thu, 21 Dec 2017 16:39:43 +0100
+Subject: [PATCH 6/8] Do not deference value when it does not exist (Thanks
+ D4N)
+
+---
+ samples/exiv2json.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/samples/exiv2json.cpp b/samples/exiv2json.cpp
+index 505268d9..a81268f0 100644
+--- a/samples/exiv2json.cpp
++++ b/samples/exiv2json.cpp
+@@ -148,6 +148,11 @@ bool isArray(std::string& value)
+ template <class T>
+ void push(Jzon::Node& node,const std::string& key,T i)
+ {
++#define ABORT_IF_I_EMTPY          \
++    if (i->value().size() == 0) { \
++        return;                   \
++    }
++
+     std::string value = i->value().toString();
+ 
+     switch ( i->typeId() ) {
+@@ -179,6 +184,7 @@ void push(Jzon::Node& node,const std::string& key,T i)
+ 
+         case Exiv2::unsignedRational:
+         case Exiv2::signedRational: {
++             ABORT_IF_I_EMTPY
+              Jzon::Array     arr;
+              Exiv2::Rational rat = i->value().toRational();
+              arr.Add(rat.first );
+@@ -187,6 +193,7 @@ void push(Jzon::Node& node,const std::string& key,T i)
+         } break;
+ 
+         case Exiv2::langAlt: {
++             ABORT_IF_I_EMTPY
+              Jzon::Object l ;
+              const Exiv2::LangAltValue& langs = dynamic_cast<const Exiv2::LangAltValue&>(i->value());
+              for ( Exiv2::LangAltValue::ValueType::const_iterator lang = langs.value_.begin()
+-- 
+2.17.0
+
+
+From 871e6e3ced1cdec7e43bf8cb94e269a7f5c09d92 Mon Sep 17 00:00:00 2001
+From: Robin Mills <robin@clanmills.com>
+Date: Thu, 15 Mar 2018 10:43:18 +0000
+Subject: [PATCH 8/8] Fix for getopt(), #199. Use src/getopt_win32 code instead
+ of libc/getopt()
+
+---
+ config/config.mk.in |  2 +-
+ src/CMakeLists.txt  |  6 ++----
+ src/Makefile        | 13 +++++--------
+ src/getopt_win32.c  |  9 +++++++++
+ src/getopt_win32.h  |  7 +++++++
+ src/utils.cpp       |  9 +++------
+ 6 files changed, 27 insertions(+), 19 deletions(-)
+
+diff --git a/config/config.mk.in b/config/config.mk.in
+index 8d920647..4754c722 100644
+--- a/config/config.mk.in
++++ b/config/config.mk.in
+@@ -165,7 +165,7 @@ endif
+ # **********************************************************************
+ # Compilation shortcuts
+ COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
+-COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
++COMPILE.c  = $(CC) $(CFLAGS) -c
+ # LINK.cc does not need $(LIBS), libtool's dark magic takes care of that
+ # when linking a binary with a libtool library.
+ LINK.cc = $(CXX) $(LDFLAGS)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d4dc6375..dceee236 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -218,10 +218,8 @@ IF(NOT HAVE_TIMEGM )
+     SET( PATHTEST_SRC     ${PATHTEST_SRC} localtime.c    )
+ ENDIF( NOT HAVE_TIMEGM )
+ 
+-IF( MSVC )
+-    SET( EXIV2_SRC        ${EXIV2_SRC}    getopt_win32.c )
+-    SET( LIBEXIV2_SRC     ${LIBEXIV2_SRC} getopt_win32.c )
+-ENDIF( MSVC )
++SET( EXIV2_SRC        ${EXIV2_SRC}    getopt_win32.c )
++SET( LIBEXIV2_SRC     ${LIBEXIV2_SRC} getopt_win32.c )
+ 
+ ##
+ # msvn tuning
+diff --git a/src/Makefile b/src/Makefile
+index 8a8366fe..d046e331 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -131,8 +131,7 @@ CCSRC += asfvideo.cpp      \
+ 	 utilsvideo.cpp
+ endif
+ 
+-# Add library C source files to this list
+-EXIVCSRC  =
++# C source files
+ ifndef HAVE_TIMEGM
+ CSRC =   localtime.c
+ endif
+@@ -141,9 +140,7 @@ endif
+ EXIV2MAIN = exiv2.cpp
+ EXIV2SRC  = actions.cpp \
+             utils.cpp
+-
+-# C source files for the Exiv2 application
+-EXIVCSRC  =
++EXIVCSRC  = getopt_win32.c
+ 
+ # ******************************************************************************
+ # Library
+@@ -176,7 +173,7 @@ OBJ    = $(CCOBJ) $(COBJ)
+ LOBJ   = $(CCLOBJ) $(CLOBJ)
+ 
+ EXIV2OBJ  = $(EXIV2MAIN:.cpp=.o) $(EXIV2SRC:.cpp=.o)
+-EXIV2COBJ = $(EXIVCSRC:.c=.o)
++EXIVCOBJ  = $(EXIVCSRC:.c=.o)
+ EXIV2EXE  = $(EXIV2MAIN:.cpp=$(EXEEXT))
+ 
+ ifdef DEP_TRACKING
+@@ -251,9 +248,9 @@ lib: $(OBJ)
+ $(BINARY): %: %.o lib
+ 	@$(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(LIBRARY) $@.o -rpath $(libdir)
+ 
+-$(EXIV2EXE): lib $(EXIV2OBJ) $(EXIV2COBJ)
++$(EXIV2EXE): lib $(EXIV2OBJ) $(EXIVCOBJ)
+ 	mkdir -pv ../bin 2>&1 > /dev/null
+-	@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIV2COBJ) -rpath $(libdir)
++	@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIVCOBJ) -rpath $(libdir)
+ 
+ install-header:
+ 	$(INSTALL_DIRS) $(DESTDIR)$(incdir)
+diff --git a/src/getopt_win32.c b/src/getopt_win32.c
+index fca29924..18dfcfbf 100644
+--- a/src/getopt_win32.c
++++ b/src/getopt_win32.c
+@@ -194,6 +194,10 @@ permute_args(panonopt_start, panonopt_end, opt_end, nargv)
+ 	}
+ }
+ 
++#ifdef __GETOPT_DEFINE_ARGV__
++char * const *__argv;
++#endif
++
+ /*
+  * getopt_internal --
+  *	Parse argc/argv argument vector.  Called by user level routines.
+@@ -205,6 +209,11 @@ getopt_internal(nargc, nargv, options)
+ 	char * const *nargv;
+ 	const char *options;
+ {
++
++#ifdef __GETOPT_DEFINE_ARGV__
++    __argv=nargv;
++#endif
++
+ 	char *oli;				/* option letter list index */
+ 	int optchar;
+ 
+diff --git a/src/getopt_win32.h b/src/getopt_win32.h
+index 6b6f643b..cd5760a3 100644
+--- a/src/getopt_win32.h
++++ b/src/getopt_win32.h
+@@ -38,6 +38,13 @@
+ extern "C" {
+ #endif
+ 
++#if !defined(_WIN32) &&  !defined(__CYGWIN__) && !defined(__MINGW__) && !defined(_MSC_VER)
++// the symbol __argv (and __argc and __progname and __env) are defined in Windows environments
++// for *ix environments, __argv is declared here, defined: getopt_win32.c, init'd: getopt_internal()
++#define __GETOPT_DEFINE_ARGV__
++extern char * const *__argv;
++#endif
++
+ extern int   opterr;      /* if error message should be printed */
+ extern int   optind;      /* index into parent argv vector */
+ extern int   optopt;      /* character checked for validity */
+diff --git a/src/utils.cpp b/src/utils.cpp
+index a3d36497..2a092330 100644
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -32,18 +32,15 @@ EXIV2_RCSID("@(#) $Id$")
+ #include "config.h"
+ 
+ #include "utils.hpp"
+-
+-// + standard includes
+-#if defined(_MSC_VER) || defined(__MINGW__)
+-# include "getopt_win32.h"
+-#endif
++#include "getopt_win32.h"
+ 
+ #if defined(_MSC_VER)
+ # define S_ISREG(m)      (((m) & S_IFMT) == S_IFREG)
+ #endif
+ 
++// + standard includes
+ #ifdef EXV_HAVE_UNISTD_H
+-# include <unistd.h>                     // for getopt(), stat()
++# include <unistd.h>                     // for stat()
+ #endif
+ 
+ #include <sys/types.h>
+-- 
+2.17.0
+

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch
new file mode 100644
index 00000000000..a594a2bfad1
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch
@@ -0,0 +1,39 @@
+From ce4f575e106697c0e513091e95a7cd12ed6a488b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@cgc-instruments.com>
+Date: Tue, 9 Jan 2018 21:18:36 +0100
+Subject: [PATCH 1/8] Add check for DataBuf.size_ in Jp2Image::readMetadata()
+
+When parsing a subBox that is a ColorHeader, a length is extracted
+from the input file and fed directly into DataBuf() (which calls
+malloc). A crafted input file can provide arbitrarily (up to
+max(uint32_t)-8) large values and result in excessive memory
+allocation.
+
+This commit adds a check for the new size of DataBuf so that it is not
+larger than the remaining size of the file.
+
+This fixes #202 aka CVE-2018-4868
+---
+ src/jp2image.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/jp2image.cpp b/src/jp2image.cpp
+index a308bfd9..3cebc2a8 100644
+--- a/src/jp2image.cpp
++++ b/src/jp2image.cpp
+@@ -272,7 +272,12 @@ namespace Exiv2
+ #endif
+ 
+                             const long pad = 3 ; // 3 padding bytes 2 0 0
+-                            DataBuf data(Safe::add(subBox.length, static_cast<uint32_t>(8)));
++			    const size_t data_length = Safe::add(subBox.length, static_cast<uint32_t>(8));
++			    // data_length makes no sense if it is larger than the rest of the file
++			    if (data_length > io_->size() - io_->tell()) {
++				throw Error(58);
++			    }
++                            DataBuf data(data_length);
+                             io_->read(data.pData_,data.size_);
+                             const long    iccLength = getULong(data.pData_+pad, bigEndian);
+                             // subtracting pad from data.size_ is safe:
+-- 
+2.17.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2018-04-26  3:32 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2018-04-26  3:32 UTC (permalink / raw
  To: gentoo-commits

commit:     a9b712f00d17e800631aca324320eda0b8dfb96f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 26 03:25:19 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 26 03:29:35 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9b712f0

media-gfx/exiv2: Drop old

Package-Manager: Portage-2.3.31, Repoman-2.3.9

 media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild     | 129 ---------------------
 .../exiv2/files/exiv2-0.26-pentaxnikon-crash.patch |  52 ---------
 2 files changed, 181 deletions(-)

diff --git a/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild b/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild
deleted file mode 100644
index 7553fc67ec9..00000000000
--- a/media-gfx/exiv2/exiv2-0.26_p20171104-r1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	EGIT_BRANCH="0.26"
-	GIT_ECLASS=git-r3
-else
-	COMMIT=900d2417dbeb46e14cbf65fc2798ed1d043ab76d
-	SRC_URI="https://github.com/Exiv2/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-fi
-inherit cmake-multilib python-any-r1 vcs-snapshot
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="http://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/26"
-IUSE="doc examples nls png webready xmp"
-
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-PATCHES=(
-	# TODO: Take to upstream
-	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
-	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
-	"${FILESDIR}"/${PN}-0.26-pentaxnikon-crash.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	if [[ ${PV} != *9999 ]] ; then
-		if [[ -d po ]] ; then
-			pushd po > /dev/null || die
-			local lang
-			for lang in *.po; do
-				if [[ -e ${lang} ]] \
-						&& ! has ${lang/.po/} ${LINGUAS-${lang/.po/}} ; then
-					case ${lang} in
-						CMakeLists.txt | \
-						${PN}.pot)      ;;
-						*) rm -r ${lang} || die ;;
-					esac
-				fi
-			done
-			popd > /dev/null || die
-		else
-			die "Failed to prepare LINGUAS - po directory moved?"
-		fi
-	fi
-
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_LIBXMP=NO
-		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-	use doc && HTML_DOCS=( "${S}"/doc/html/. )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch b/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch
deleted file mode 100644
index a66af8d5dc9..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-pentaxnikon-crash.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 2dc166b04ca6152d01bff6627a332e89ddef24d1 Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Tue, 12 Sep 2017 09:14:42 +0100
-Subject: [PATCH 1/2] Fix http://dev.exiv2.org/issues/1305
-
----
- src/pentaxmn.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/pentaxmn.cpp b/src/pentaxmn.cpp
-index 4fc38be0..b22cb43b 100644
---- a/src/pentaxmn.cpp
-+++ b/src/pentaxmn.cpp
-@@ -1167,6 +1167,8 @@ namespace Exiv2 {
- 
-     std::ostream& PentaxMakerNote::printShutterCount(std::ostream& os, const Value& value, const ExifData* metadata)
-     {
-+        if ( ! metadata ) return os << "undefined" ;
-+
-         ExifData::const_iterator dateIt = metadata->findKey(
-                 ExifKey("Exif.PentaxDng.Date"));
-         if (dateIt == metadata->end()) {
--- 
-2.13.6
-
-
-From 3bc0b91bcecefdad531129b1a934be1251021c95 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?M=C4=81ris=20Narti=C5=A1s?= <mn@sungis.lv>
-Date: Mon, 18 Sep 2017 23:37:40 +0300
-Subject: [PATCH 2/2] Fix crash on undefined metadata on some Nikon images.
- Identical to commit:5405d61623e82896e498c5c8342dd6f42e689115
-
----
- src/nikonmn.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/nikonmn.cpp b/src/nikonmn.cpp
-index 571ab806..34bf601c 100644
---- a/src/nikonmn.cpp
-+++ b/src/nikonmn.cpp
-@@ -299,6 +299,8 @@ namespace Exiv2 {
-                                                const Value& value,
-                                                const ExifData* exifData)
-     {
-+        if ( ! exifData ) return os << "undefined" ;
-+
-         if ( value.count() >= 9 ) {
-             ByteOrder bo = getKeyString("Exif.MakerNote.ByteOrder",exifData) == "MM" ? bigEndian : littleEndian;
-             byte      p[4];
--- 
-2.13.6
-


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2018-10-29 10:14 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2018-10-29 10:14 UTC (permalink / raw
  To: gentoo-commits

commit:     8c24aae658082194548daf5a845dc996fab7f9f0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 29 10:06:45 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 29 10:14:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c24aae6

media-gfx/exiv2: Security cleanup

Bug: https://bugs.gentoo.org/658236
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.26_p20180319.ebuild        | 136 ------
 .../exiv2-0.26_p20180319-CVE-2017-18005.patch      | 484 ---------------------
 .../files/exiv2-0.26_p20180319-CVE-2018-4868.patch |  39 --
 .../files/exiv2-0.26_p20180319-clang-fix.patch     |  47 --
 5 files changed, 707 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 1cdcc30af60..017a87d6e8b 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.26_p20180319.tar.gz 28383543 BLAKE2B 753a2ebdb2033490c0f66cb1fb2574f02125f17813f6cbaf5eca66e053af9a2cdbc1266f0a033f0706ec22b31acd6e87271e426a335a58ee947757b52d283489 SHA512 852ce2cffcc0a2d902a939933127fdf5fa0b50020e1faf3ab0a375b129b9f61c7b97b76d4f39e376e7288d7cc045867bd1a96ae15dd0b7c0bcd1ba15259628e1
 DIST exiv2-0.26_p20180811d.tar.xz 1722216 BLAKE2B 9e1c8307eb923c340894c82c37e9f6c31d82ff1b1de3c79d4ec9b0ec9428ad1d05f945e9a4e440028335857e7fc32d50cdc5245842d743e017037bd641b654db SHA512 5453650888440028acb139a02b387eab0232551c97256ce88dd626fa4cc8800ec02ad66e093c314bbfdc60726995b6c8482572d1ffaec73a265209c98c901780

diff --git a/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild b/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
deleted file mode 100644
index eb2572dfcf3..00000000000
--- a/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	EGIT_BRANCH="0.26"
-	GIT_ECLASS=git-r3
-else
-	COMMIT=876b1314ab892cbfa6672b6b94adbeb90db4211f
-	SRC_URI="https://github.com/Exiv2/${PN}/tarball/${COMMIT} -> ${P}.tar.gz"
-	KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-fi
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="http://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/26"
-IUSE="doc examples nls png webready xmp"
-
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-S="${WORKDIR}/${PN^}-${PN}-${COMMIT:0:7}"
-
-PATCHES=(
-	# 0.26 branch
-	"${FILESDIR}"/${P}-CVE-2018-4868.patch
-	"${FILESDIR}"/${P}-CVE-2017-18005.patch
-	"${FILESDIR}"/${P}-clang-fix.patch
-	# TODO: Take to upstream
-	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
-	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	if [[ ${PV} != *9999 ]] ; then
-		if [[ -d po ]] ; then
-			pushd po > /dev/null || die
-			local lang
-			for lang in *.po; do
-				if [[ -e ${lang} ]] \
-						&& ! has ${lang/.po/} ${LINGUAS-${lang/.po/}} ; then
-					case ${lang} in
-						CMakeLists.txt | \
-						${PN}.pot)      ;;
-						*) rm -r ${lang} || die ;;
-					esac
-				fi
-			done
-			popd > /dev/null || die
-		else
-			die "Failed to prepare LINGUAS - po directory moved?"
-		fi
-	fi
-
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
-	edos2unix samples/exiv2json.cpp # workaround for CVE-2017-18005 patch
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_LIBXMP=NO
-		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-	use doc && HTML_DOCS=( "${S}"/doc/html/. )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch
deleted file mode 100644
index d74ca59e3c0..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2017-18005.patch
+++ /dev/null
@@ -1,484 +0,0 @@
-From 8e31dd8c14fdc83f387f35dda7b1b70fbdbd70db Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
-Date: Tue, 19 Dec 2017 19:52:41 +0100
-Subject: [PATCH 3/8] Only print items (Params::prValue) when size > 0
-
----
- src/actions.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/actions.cpp b/src/actions.cpp
-index 9f850097..3963cb67 100644
---- a/src/actions.cpp
-+++ b/src/actions.cpp
-@@ -713,8 +713,9 @@ namespace Action {
-                       << std::setfill(' ') << std::right
-                       << md.size();
-         }
--        if (Params::instance().printItems_ & Params::prValue) {
--            if (!first) std::cout << "  ";
-+        if (Params::instance().printItems_ & Params::prValue && md.size() > 0) {
-+            if (!first)
-+                std::cout << "  ";
-             first = false;
-             if (   Params::instance().binary_
-                 && (   md.typeId() == Exiv2::undefined
--- 
-2.17.0
-
-
-From 463485e5c1cc716108880f75b9c573715bf402b1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
-Date: Tue, 19 Dec 2017 19:54:17 +0100
-Subject: [PATCH 4/8] Move condition in if statement to discard work earlier
-
----
- src/actions.cpp | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/actions.cpp b/src/actions.cpp
-index 3963cb67..f51cb488 100644
---- a/src/actions.cpp
-+++ b/src/actions.cpp
-@@ -717,11 +717,10 @@ namespace Action {
-             if (!first)
-                 std::cout << "  ";
-             first = false;
--            if (   Params::instance().binary_
--                && (   md.typeId() == Exiv2::undefined
-+            if (md.size() > 128 && Params::instance().binary_ && (
-+                       md.typeId() == Exiv2::undefined
-                     || md.typeId() == Exiv2::unsignedByte
--                    || md.typeId() == Exiv2::signedByte)
--                && md.size() > 128) {
-+                    || md.typeId() == Exiv2::signedByte)) {
-                 std::cout << _("(Binary value suppressed)") << std::endl;
-                 return true;
-             }
--- 
-2.17.0
-
-
-From 7fe7501c01e5d1eec16a736062dd0c34d6408833 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
-Date: Tue, 19 Dec 2017 19:55:50 +0100
-Subject: [PATCH 5/8] Apply clang-format to Print::printMetadatum
-
----
- src/actions.cpp | 110 ++++++++++++++++++++++++------------------------
- 1 file changed, 55 insertions(+), 55 deletions(-)
-
-diff --git a/src/actions.cpp b/src/actions.cpp
-index f51cb488..b31d6ec6 100644
---- a/src/actions.cpp
-+++ b/src/actions.cpp
-@@ -636,91 +636,90 @@ namespace Action {
- 
-     bool Print::printMetadatum(const Exiv2::Metadatum& md, const Exiv2::Image* pImage)
-     {
--        if (!grepTag(md.key())) return false;
--        if (!keyTag (md.key())) return false;
-+        if (!grepTag(md.key()))
-+            return false;
-+        if (!keyTag(md.key()))
-+            return false;
- 
--        if (   Params::instance().unknown_
--            && md.tagName().substr(0, 2) == "0x") {
-+        if (Params::instance().unknown_ && md.tagName().substr(0, 2) == "0x") {
-             return false;
-         }
-+
-         bool const manyFiles = Params::instance().files_.size() > 1;
-         if (manyFiles) {
--            std::cout << std::setfill(' ') << std::left << std::setw(20)
--                      << path_ << "  ";
-+            std::cout << std::setfill(' ') << std::left << std::setw(20) << path_ << "  ";
-         }
-+
-         bool first = true;
-         if (Params::instance().printItems_ & Params::prTag) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << "0x" << std::setw(4) << std::setfill('0')
--                      << std::right << std::hex
--                      << md.tag();
-+            std::cout << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << md.tag();
-         }
-         if (Params::instance().printItems_ & Params::prSet) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << "set" ;
-+            std::cout << "set";
-         }
-         if (Params::instance().printItems_ & Params::prGroup) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::setw(12) << std::setfill(' ') << std::left
--                      << md.groupName();
-+            std::cout << std::setw(12) << std::setfill(' ') << std::left << md.groupName();
-         }
-         if (Params::instance().printItems_ & Params::prKey) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::setfill(' ') << std::left << std::setw(44)
--                      << md.key();
-+            std::cout << std::setfill(' ') << std::left << std::setw(44) << md.key();
-         }
-         if (Params::instance().printItems_ & Params::prName) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::setw(27) << std::setfill(' ') << std::left
--                      << md.tagName();
-+            std::cout << std::setw(27) << std::setfill(' ') << std::left << md.tagName();
-         }
-         if (Params::instance().printItems_ & Params::prLabel) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::setw(30) << std::setfill(' ') << std::left
--                      << md.tagLabel();
-+            std::cout << std::setw(30) << std::setfill(' ') << std::left << md.tagLabel();
-         }
-         if (Params::instance().printItems_ & Params::prType) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
-             std::cout << std::setw(9) << std::setfill(' ') << std::left;
-             const char* tn = md.typeName();
-             if (tn) {
-                 std::cout << tn;
--            }
--            else {
-+            } else {
-                 std::ostringstream os;
-                 os << "0x" << std::setw(4) << std::setfill('0') << std::hex << md.typeId();
-                 std::cout << os.str();
-             }
-         }
-         if (Params::instance().printItems_ & Params::prCount) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::dec << std::setw(3)
--                      << std::setfill(' ') << std::right
--                      << md.count();
-+            std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.count();
-         }
-         if (Params::instance().printItems_ & Params::prSize) {
--            if (!first) std::cout << " ";
-+            if (!first)
-+                std::cout << " ";
-             first = false;
--            std::cout << std::dec << std::setw(3)
--                      << std::setfill(' ') << std::right
--                      << md.size();
-+            std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.size();
-         }
-         if (Params::instance().printItems_ & Params::prValue && md.size() > 0) {
-             if (!first)
-                 std::cout << "  ";
-             first = false;
--            if (md.size() > 128 && Params::instance().binary_ && (
--                       md.typeId() == Exiv2::undefined
--                    || md.typeId() == Exiv2::unsignedByte
--                    || md.typeId() == Exiv2::signedByte)) {
-+            if (md.size() > 128 && Params::instance().binary_ &&
-+                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
-+                 md.typeId() == Exiv2::signedByte)) {
-                 std::cout << _("(Binary value suppressed)") << std::endl;
-                 return true;
-             }
-@@ -738,22 +737,22 @@ namespace Action {
-             }
-             if (!done) {
-                 // #1114 - show negative values for SByte
--                if (md.typeId() != Exiv2::signedByte){
-+                if (md.typeId() != Exiv2::signedByte) {
-                     std::cout << std::dec << md.value();
-                 } else {
-                     int value = md.value().toLong();
--                    std::cout << std::dec << (value<128?value:value-256);
-+                    std::cout << std::dec << (value < 128 ? value : value - 256);
-                 }
-             }
-         }
-         if (Params::instance().printItems_ & Params::prTrans) {
--            if (!first) std::cout << "  ";
-+            if (!first)
-+                std::cout << "  ";
-             first = false;
--            if (   Params::instance().binary_
--                && (   md.typeId() == Exiv2::undefined
--                    || md.typeId() == Exiv2::unsignedByte
--                    || md.typeId() == Exiv2::signedByte)
--                && md.size() > 128) {
-+            if (Params::instance().binary_ &&
-+                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
-+                 md.typeId() == Exiv2::signedByte) &&
-+                md.size() > 128) {
-                 std::cout << _("(Binary value suppressed)") << std::endl;
-                 return true;
-             }
-@@ -765,16 +764,17 @@ namespace Action {
-                     done = true;
-                 }
-             }
--            if (!done) std::cout << std::dec << md.print(&pImage->exifData());
-+            if (!done)
-+                std::cout << std::dec << md.print(&pImage->exifData());
-         }
-         if (Params::instance().printItems_ & Params::prHex) {
--            if (!first) std::cout << std::endl;
-+            if (!first)
-+                std::cout << std::endl;
-             first = false;
--            if (   Params::instance().binary_
--                && (   md.typeId() == Exiv2::undefined
--                    || md.typeId() == Exiv2::unsignedByte
--                    || md.typeId() == Exiv2::signedByte)
--                && md.size() > 128) {
-+            if (Params::instance().binary_ &&
-+                (md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte ||
-+                 md.typeId() == Exiv2::signedByte) &&
-+                md.size() > 128) {
-                 std::cout << _("(Binary value suppressed)") << std::endl;
-                 return true;
-             }
-@@ -784,7 +784,7 @@ namespace Action {
-         }
-         std::cout << std::endl;
-         return true;
--    } // Print::printMetadatum
-+    }  // Print::printMetadatum
- 
-     int Print::printComment()
-     {
--- 
-2.17.0
-
-
-From 78ddc7a92afaaf58b78d5c49b5c2ad7b60a4e25f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
-Date: Thu, 21 Dec 2017 16:39:43 +0100
-Subject: [PATCH 6/8] Do not deference value when it does not exist (Thanks
- D4N)
-
----
- samples/exiv2json.cpp | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/samples/exiv2json.cpp b/samples/exiv2json.cpp
-index 505268d9..a81268f0 100644
---- a/samples/exiv2json.cpp
-+++ b/samples/exiv2json.cpp
-@@ -148,6 +148,11 @@ bool isArray(std::string& value)
- template <class T>
- void push(Jzon::Node& node,const std::string& key,T i)
- {
-+#define ABORT_IF_I_EMTPY          \
-+    if (i->value().size() == 0) { \
-+        return;                   \
-+    }
-+
-     std::string value = i->value().toString();
- 
-     switch ( i->typeId() ) {
-@@ -179,6 +184,7 @@ void push(Jzon::Node& node,const std::string& key,T i)
- 
-         case Exiv2::unsignedRational:
-         case Exiv2::signedRational: {
-+             ABORT_IF_I_EMTPY
-              Jzon::Array     arr;
-              Exiv2::Rational rat = i->value().toRational();
-              arr.Add(rat.first );
-@@ -187,6 +193,7 @@ void push(Jzon::Node& node,const std::string& key,T i)
-         } break;
- 
-         case Exiv2::langAlt: {
-+             ABORT_IF_I_EMTPY
-              Jzon::Object l ;
-              const Exiv2::LangAltValue& langs = dynamic_cast<const Exiv2::LangAltValue&>(i->value());
-              for ( Exiv2::LangAltValue::ValueType::const_iterator lang = langs.value_.begin()
--- 
-2.17.0
-
-
-From 871e6e3ced1cdec7e43bf8cb94e269a7f5c09d92 Mon Sep 17 00:00:00 2001
-From: Robin Mills <robin@clanmills.com>
-Date: Thu, 15 Mar 2018 10:43:18 +0000
-Subject: [PATCH 8/8] Fix for getopt(), #199. Use src/getopt_win32 code instead
- of libc/getopt()
-
----
- config/config.mk.in |  2 +-
- src/CMakeLists.txt  |  6 ++----
- src/Makefile        | 13 +++++--------
- src/getopt_win32.c  |  9 +++++++++
- src/getopt_win32.h  |  7 +++++++
- src/utils.cpp       |  9 +++------
- 6 files changed, 27 insertions(+), 19 deletions(-)
-
-diff --git a/config/config.mk.in b/config/config.mk.in
-index 8d920647..4754c722 100644
---- a/config/config.mk.in
-+++ b/config/config.mk.in
-@@ -165,7 +165,7 @@ endif
- # **********************************************************************
- # Compilation shortcuts
- COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
--COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
-+COMPILE.c  = $(CC) $(CFLAGS) -c
- # LINK.cc does not need $(LIBS), libtool's dark magic takes care of that
- # when linking a binary with a libtool library.
- LINK.cc = $(CXX) $(LDFLAGS)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index d4dc6375..dceee236 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -218,10 +218,8 @@ IF(NOT HAVE_TIMEGM )
-     SET( PATHTEST_SRC     ${PATHTEST_SRC} localtime.c    )
- ENDIF( NOT HAVE_TIMEGM )
- 
--IF( MSVC )
--    SET( EXIV2_SRC        ${EXIV2_SRC}    getopt_win32.c )
--    SET( LIBEXIV2_SRC     ${LIBEXIV2_SRC} getopt_win32.c )
--ENDIF( MSVC )
-+SET( EXIV2_SRC        ${EXIV2_SRC}    getopt_win32.c )
-+SET( LIBEXIV2_SRC     ${LIBEXIV2_SRC} getopt_win32.c )
- 
- ##
- # msvn tuning
-diff --git a/src/Makefile b/src/Makefile
-index 8a8366fe..d046e331 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -131,8 +131,7 @@ CCSRC += asfvideo.cpp      \
- 	 utilsvideo.cpp
- endif
- 
--# Add library C source files to this list
--EXIVCSRC  =
-+# C source files
- ifndef HAVE_TIMEGM
- CSRC =   localtime.c
- endif
-@@ -141,9 +140,7 @@ endif
- EXIV2MAIN = exiv2.cpp
- EXIV2SRC  = actions.cpp \
-             utils.cpp
--
--# C source files for the Exiv2 application
--EXIVCSRC  =
-+EXIVCSRC  = getopt_win32.c
- 
- # ******************************************************************************
- # Library
-@@ -176,7 +173,7 @@ OBJ    = $(CCOBJ) $(COBJ)
- LOBJ   = $(CCLOBJ) $(CLOBJ)
- 
- EXIV2OBJ  = $(EXIV2MAIN:.cpp=.o) $(EXIV2SRC:.cpp=.o)
--EXIV2COBJ = $(EXIVCSRC:.c=.o)
-+EXIVCOBJ  = $(EXIVCSRC:.c=.o)
- EXIV2EXE  = $(EXIV2MAIN:.cpp=$(EXEEXT))
- 
- ifdef DEP_TRACKING
-@@ -251,9 +248,9 @@ lib: $(OBJ)
- $(BINARY): %: %.o lib
- 	@$(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(LIBRARY) $@.o -rpath $(libdir)
- 
--$(EXIV2EXE): lib $(EXIV2OBJ) $(EXIV2COBJ)
-+$(EXIV2EXE): lib $(EXIV2OBJ) $(EXIVCOBJ)
- 	mkdir -pv ../bin 2>&1 > /dev/null
--	@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIV2COBJ) -rpath $(libdir)
-+	@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIVCOBJ) -rpath $(libdir)
- 
- install-header:
- 	$(INSTALL_DIRS) $(DESTDIR)$(incdir)
-diff --git a/src/getopt_win32.c b/src/getopt_win32.c
-index fca29924..18dfcfbf 100644
---- a/src/getopt_win32.c
-+++ b/src/getopt_win32.c
-@@ -194,6 +194,10 @@ permute_args(panonopt_start, panonopt_end, opt_end, nargv)
- 	}
- }
- 
-+#ifdef __GETOPT_DEFINE_ARGV__
-+char * const *__argv;
-+#endif
-+
- /*
-  * getopt_internal --
-  *	Parse argc/argv argument vector.  Called by user level routines.
-@@ -205,6 +209,11 @@ getopt_internal(nargc, nargv, options)
- 	char * const *nargv;
- 	const char *options;
- {
-+
-+#ifdef __GETOPT_DEFINE_ARGV__
-+    __argv=nargv;
-+#endif
-+
- 	char *oli;				/* option letter list index */
- 	int optchar;
- 
-diff --git a/src/getopt_win32.h b/src/getopt_win32.h
-index 6b6f643b..cd5760a3 100644
---- a/src/getopt_win32.h
-+++ b/src/getopt_win32.h
-@@ -38,6 +38,13 @@
- extern "C" {
- #endif
- 
-+#if !defined(_WIN32) &&  !defined(__CYGWIN__) && !defined(__MINGW__) && !defined(_MSC_VER)
-+// the symbol __argv (and __argc and __progname and __env) are defined in Windows environments
-+// for *ix environments, __argv is declared here, defined: getopt_win32.c, init'd: getopt_internal()
-+#define __GETOPT_DEFINE_ARGV__
-+extern char * const *__argv;
-+#endif
-+
- extern int   opterr;      /* if error message should be printed */
- extern int   optind;      /* index into parent argv vector */
- extern int   optopt;      /* character checked for validity */
-diff --git a/src/utils.cpp b/src/utils.cpp
-index a3d36497..2a092330 100644
---- a/src/utils.cpp
-+++ b/src/utils.cpp
-@@ -32,18 +32,15 @@ EXIV2_RCSID("@(#) $Id$")
- #include "config.h"
- 
- #include "utils.hpp"
--
--// + standard includes
--#if defined(_MSC_VER) || defined(__MINGW__)
--# include "getopt_win32.h"
--#endif
-+#include "getopt_win32.h"
- 
- #if defined(_MSC_VER)
- # define S_ISREG(m)      (((m) & S_IFMT) == S_IFREG)
- #endif
- 
-+// + standard includes
- #ifdef EXV_HAVE_UNISTD_H
--# include <unistd.h>                     // for getopt(), stat()
-+# include <unistd.h>                     // for stat()
- #endif
- 
- #include <sys/types.h>
--- 
-2.17.0
-

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch b/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch
deleted file mode 100644
index a594a2bfad1..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26_p20180319-CVE-2018-4868.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ce4f575e106697c0e513091e95a7cd12ed6a488b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@cgc-instruments.com>
-Date: Tue, 9 Jan 2018 21:18:36 +0100
-Subject: [PATCH 1/8] Add check for DataBuf.size_ in Jp2Image::readMetadata()
-
-When parsing a subBox that is a ColorHeader, a length is extracted
-from the input file and fed directly into DataBuf() (which calls
-malloc). A crafted input file can provide arbitrarily (up to
-max(uint32_t)-8) large values and result in excessive memory
-allocation.
-
-This commit adds a check for the new size of DataBuf so that it is not
-larger than the remaining size of the file.
-
-This fixes #202 aka CVE-2018-4868
----
- src/jp2image.cpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/jp2image.cpp b/src/jp2image.cpp
-index a308bfd9..3cebc2a8 100644
---- a/src/jp2image.cpp
-+++ b/src/jp2image.cpp
-@@ -272,7 +272,12 @@ namespace Exiv2
- #endif
- 
-                             const long pad = 3 ; // 3 padding bytes 2 0 0
--                            DataBuf data(Safe::add(subBox.length, static_cast<uint32_t>(8)));
-+			    const size_t data_length = Safe::add(subBox.length, static_cast<uint32_t>(8));
-+			    // data_length makes no sense if it is larger than the rest of the file
-+			    if (data_length > io_->size() - io_->tell()) {
-+				throw Error(58);
-+			    }
-+                            DataBuf data(data_length);
-                             io_->read(data.pData_,data.size_);
-                             const long    iccLength = getULong(data.pData_+pad, bigEndian);
-                             // subtracting pad from data.size_ is safe:
--- 
-2.17.0

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch b/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch
deleted file mode 100644
index a80543a5ecd..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 176ba44cc31064183fdfbce55a7dd7e6b5e2a962 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@cgc-instruments.com>
-Date: Fri, 8 Jun 2018 23:46:04 +0200
-Subject: [PATCH] Fix C & C++ flag adding in CMakeLists.txt
-
----
- CMakeLists.txt | 22 ++++++++++++----------
- 1 file changed, 12 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2e179bf5..98a172ed 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,21 +74,23 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/config/")
- 
- if( MINGW OR UNIX )
-     if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
--        ADD_DEFINITIONS(-Wall
--                    -Wcast-align
--                    -Wpointer-arith
--                    -Wformat-security
--                    -Wmissing-format-attribute
--                    -Woverloaded-virtual
--                    -W
--                   )
-+        string(CONCAT WARNING_FLAGS " -Wall"
-+          " -Wcast-align"
-+          " -Wpointer-arith"
-+          " -Wformat-security"
-+          " -Wmissing-format-attribute"
-+          " -Woverloaded-virtual"
-+          " -W"
-+          )
-+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
-+        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
-     ENDIF()
- 
-     message(STATUS "Compiler info: ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) ; version: ${CMAKE_CXX_COMPILER_VERSION}")
-     IF ( CYGWIN OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0))
--        ADD_DEFINITIONS( -std=gnu++98 ) # to support snprintf
-+        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++98" ) # to support snprintf
-     ELSE()
--        ADD_DEFINITIONS( -std=c++98 )
-+        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98" )
-     ENDIF()
- 
- ENDIF( MINGW OR UNIX )
\ No newline at end of file


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2019-01-18 12:40 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2019-01-18 12:40 UTC (permalink / raw
  To: gentoo-commits

commit:     6193a852d7a16148e5cdbc2f69f618834df5925d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 18 12:33:47 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 18 12:39:49 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6193a852

media-gfx/exiv2: Fix USE doc

Closes: https://bugs.gentoo.org/675740
Package-Manager: Portage-2.3.56, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/exiv2-0.27.0-r2.ebuild       | 17 ++++++-----------
 media-gfx/exiv2/files/exiv2-0.27.0-doc.patch | 28 ++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/media-gfx/exiv2/exiv2-0.27.0-r2.ebuild b/media-gfx/exiv2/exiv2-0.27.0-r2.ebuild
index 4b30b442529..80de16822e2 100644
--- a/media-gfx/exiv2/exiv2-0.27.0-r2.ebuild
+++ b/media-gfx/exiv2/exiv2-0.27.0-r2.ebuild
@@ -47,10 +47,9 @@ DOCS=( README.md doc/ChangeLog doc/cmd.txt )
 S="${S}-Source"
 
 PATCHES=(
-	# pending upstream
-	"${FILESDIR}"/${P}-png-broken-icc-profile.patch
-	# bug 675240
-	"${FILESDIR}"/${P}-fix-pkgconfig.patch
+	"${FILESDIR}"/${P}-png-broken-icc-profile.patch # pending upstream
+	"${FILESDIR}"/${P}-fix-pkgconfig.patch # bug 675240
+	"${FILESDIR}"/${P}-doc.patch # bug 675740
 )
 
 pkg_setup() {
@@ -63,11 +62,6 @@ src_prepare() {
 	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
 	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
 
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
 	cmake-utils_src_prepare
 }
 
@@ -82,6 +76,8 @@ multilib_src_configure() {
 		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
 		-DEXIV2_ENABLE_XMP=$(usex xmp)
 		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+		-DCMAKE_INSTALL_DOCDIR=${EPREFIX}/usr/share/doc/${PF}/html
 	)
 
 	cmake-utils_src_configure
@@ -91,13 +87,12 @@ multilib_src_compile() {
 	cmake-utils_src_compile
 
 	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
+		use doc && eninja doc
 	fi
 }
 
 multilib_src_install_all() {
 	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-	use doc && HTML_DOCS=( "${S}"/doc/html/. )
 
 	einstalldocs
 	find "${D}" -name '*.la' -delete || die

diff --git a/media-gfx/exiv2/files/exiv2-0.27.0-doc.patch b/media-gfx/exiv2/files/exiv2-0.27.0-doc.patch
new file mode 100644
index 00000000000..a57da03199c
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.0-doc.patch
@@ -0,0 +1,28 @@
+From f8f63a8b4033549d47384c6e2b1972ae1a2775fc Mon Sep 17 00:00:00 2001
+From: Andreas Schneider <asn@cryptomilk.org>
+Date: Wed, 2 Jan 2019 10:28:57 +0100
+Subject: [PATCH] cmake: Use correct installation dir for generated docs
+
+Fixes #623
+
+Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
+---
+ cmake/generateDoc.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/generateDoc.cmake b/cmake/generateDoc.cmake
+index a3aea727..16823946 100644
+--- a/cmake/generateDoc.cmake
++++ b/cmake/generateDoc.cmake
+@@ -21,7 +21,7 @@ macro(generate_documentation DOX_CONFIG_FILE)
+     set(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config")
+     add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG})
+ 
+-    install(DIRECTORY "${PROJECT_BINARY_DIR}/doc/html/" DESTINATION "share/doc/lib${PROJECT_NAME}")
++    install(DIRECTORY "${PROJECT_BINARY_DIR}/doc/html/" DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ 
+     set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES doc)
+ endmacro()
+-- 
+2.20.1
+


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2019-03-11  6:14 Michael Palimaka
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Palimaka @ 2019-03-11  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     d6652e1db55b96b632f0cdbf5988b4ce213146bd
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 11 06:13:48 2019 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 06:14:00 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6652e1d

media-gfx/exiv2: remove vulnerable 0.26_p20180811-r3

Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Michael Palimaka <kensington <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.26_p20180811-r3.ebuild     | 123 ---------------------
 media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch    |  83 --------------
 .../exiv2/files/exiv2-0.26-tools-optional.patch    |  28 -----
 4 files changed, 235 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index b8b4960b6b2..364b5bf76aa 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.26_p20180811d.tar.xz 1722216 BLAKE2B 9e1c8307eb923c340894c82c37e9f6c31d82ff1b1de3c79d4ec9b0ec9428ad1d05f945e9a4e440028335857e7fc32d50cdc5245842d743e017037bd641b654db SHA512 5453650888440028acb139a02b387eab0232551c97256ce88dd626fa4cc8800ec02ad66e093c314bbfdc60726995b6c8482572d1ffaec73a265209c98c901780
 DIST exiv2-0.27.0a-Source.tar.gz 27168207 BLAKE2B 3f5c4fbe4f41c1114c0a54433c810ed0fb28ae3fbe8258eb7a02da716b833d62a94725f839accf22600c420ace5cdbead599440d335ff694a4f123820613ecd9 SHA512 9873d6815c2a87b7cdc49e8863f72c713fe1054f2f46d2c9aaa7ca2cd42096a36c2970e6a396af9000faba32fa9ff054b9d2c5e22f3e2624669440e553239f9c

diff --git a/media-gfx/exiv2/exiv2-0.26_p20180811-r3.ebuild b/media-gfx/exiv2/exiv2-0.26_p20180811-r3.ebuild
deleted file mode 100644
index bce9baadb49..00000000000
--- a/media-gfx/exiv2/exiv2-0.26_p20180811-r3.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="http://www.exiv2.org/"
-SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}d.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/26"
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE="doc examples nls png webready xmp"
-
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README doc/ChangeLog doc/cmd.txt )
-
-PATCHES=(
-	# TODO: Take to upstream
-	"${FILESDIR}"/${PN}-0.26-fix-docs.patch
-	"${FILESDIR}"/${PN}-0.26-tools-optional.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	if [[ ${PV} != *9999 ]] ; then
-		if [[ -d po ]] ; then
-			pushd po > /dev/null || die
-			local lang
-			for lang in *.po; do
-				if [[ -e ${lang} ]] \
-						&& ! has ${lang/.po/} ${LINGUAS-${lang/.po/}} ; then
-					case ${lang} in
-						CMakeLists.txt | \
-						${PN}.pot)      ;;
-						*) rm -r ${lang} || die ;;
-					esac
-				fi
-			done
-			popd > /dev/null || die
-		else
-			die "Failed to prepare LINGUAS - po directory moved?"
-		fi
-	fi
-
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	if use doc; then
-		einfo "Updating doxygen config"
-		doxygen &>/dev/null -u config/Doxyfile || die
-	fi
-
-	edos2unix samples/exiv2json.cpp # workaround for CVE-2017-18005 patch
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_ENABLE_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_LIBXMP=NO
-		$(multilib_is_native_abi || echo -DEXIV2_ENABLE_TOOLS=NO)
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && emake -j1 doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-	use doc && HTML_DOCS=( "${S}"/doc/html/. )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch b/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
deleted file mode 100644
index 05ea18d6eb0..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
+++ /dev/null
@@ -1,83 +0,0 @@
---- a/CMakeLists.txt	2015-07-19 16:04:35.363628707 +0200
-+++ b/CMakeLists.txt	2015-07-19 16:28:31.051680136 +0200
-@@ -216,9 +216,7 @@
- ADD_SUBDIRECTORY( xmpsdk )
- ADD_SUBDIRECTORY( src )
- 
--IF( EXIV2_ENABLE_BUILD_SAMPLES )
--    ADD_SUBDIRECTORY( samples )
--ENDIF( EXIV2_ENABLE_BUILD_SAMPLES )
-+ADD_SUBDIRECTORY( samples )
- 
- IF( EXIV2_ENABLE_BUILD_PO )
-     ADD_SUBDIRECTORY( po )
---- a/samples/CMakeLists.txt	2015-07-19 16:04:35.360628744 +0200
-+++ b/samples/CMakeLists.txt	2015-07-19 16:30:46.415987850 +0200
-@@ -21,6 +21,10 @@
- include_directories("${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src")
- 
--SET( SAMPLES addmoddel.cpp
-+SET( SAMPLES taglist.cpp )
-+
-+IF( EXIV2_ENABLE_BUILD_SAMPLES )
-+    SET( SAMPLES ${SAMPLES}
-+             addmoddel.cpp
-              convert-test.cpp
-              easyaccess-test.cpp
-              exifcomment.cpp
-@@ -38,7 +42,6 @@
-              mmap-test.cpp
-              prevtest.cpp
-              stringto-test.cpp
--             taglist.cpp
-              tiff-test.cpp
-              werror-test.cpp
-              write-test.cpp
-@@ -47,6 +50,7 @@
-              xmpparser-test.cpp
-              xmpsample.cpp
-    )
-+ENDIF()
- 
- FOREACH(entry ${SAMPLES})
-     STRING( REPLACE ".cpp" "" target ${entry})
-@@ -63,6 +67,7 @@
-     SET( MC_SRC            ${MC_SRC}       ../src/getopt_win32.c )
- ENDIF( MSVC )
- 
-+IF( EXIV2_ENABLE_BUILD_SAMPLES )
- SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp )
- ADD_EXECUTABLE( metacopy ${MC_SRC} )
- TARGET_LINK_LIBRARIES( metacopy exiv2lib )
-@@ -79,6 +84,7 @@
- # ******************************************************************************
- # Man page
- INSTALL( FILES exiv2samples.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
-+ENDIF()
- 
- # That's all Folks!
- ##
---- a/doc/templates/Makefile	2015-07-19 16:50:50.589933604 +0200
-+++ b/doc/templates/Makefile	2015-07-19 16:51:07.686719864 +0200
-@@ -143,7 +143,7 @@
-          xmp_mwg-rs \
-          xmp_mwg-kw
- 
--TAGLIST = ../../bin/taglist
-+TAGLIST = ../../src/bin/taglist
- 
- # **********************************************************************
- # ======================================================================
-diff --git a/doc/cmake_doc.sh b/doc/cmake_doc.sh
-index 44dd6760..5910a86d 100755
---- a/doc/cmake_doc.sh
-+++ b/doc/cmake_doc.sh
-@@ -16,7 +16,7 @@ if [ $# == 1 ]; then
-         mv src/exv_conf.h.keep src/exv_conf.h
-     fi
-     mkdir -p  src/bin/
--    cp    -f  "${CMAKE_BINARY_DIR}/bin/taglist" src/bin/
-+    cp    -f  "${CMAKE_BINARY_DIR}/samples/taglist" src/bin/
-     make doc
- fi
- 

diff --git a/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch b/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
deleted file mode 100644
index 686b37ff8b6..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/CMakeLists.txt	2017-06-07 00:14:25.374608170 +0200
-+++ b/CMakeLists.txt	2017-06-07 00:17:00.680483299 +0200
-@@ -60,6 +60,7 @@
-     OPTION( EXIV2_ENABLE_SSH           "USE Libssh for SshIo"                              ON  )
-     SET ( EXIV2_ENABLE_DYNAMIC_RUNTIME OFF )
- ENDIF()
-+OPTION( EXIV2_ENABLE_TOOLS         "Build exiv2 executable"                                ON  )
- 
- # set include path for FindXXX.cmake files
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/config/")
---- a/src/CMakeLists.txt	2017-06-07 00:14:25.368608098 +0200
-+++ b/src/CMakeLists.txt	2017-06-07 00:16:06.710831682 +0200
-@@ -317,10 +317,12 @@
- 
- # ******************************************************************************
- # exiv2 application
--ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
-+IF(EXIV2_ENABLE_TOOLS)
-+    ADD_EXECUTABLE( exiv2 ${EXIV2_SRC}  ${EXIV2_HDR} )
- target_compile_definitions(exiv2 PRIVATE EXV_LOCALEDIR="${CMAKE_INSTALL_LOCALEDIR}" )
--TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
--INSTALL( TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+    TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} )
-+    INSTALL( TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ENDIF( EXIV2_ENABLE_TOOLS )
- 
- # ******************************************************************************
- # connection test application


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2019-06-23 20:58 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2019-06-23 20:58 UTC (permalink / raw
  To: gentoo-commits

commit:     6853625c9ea324021f861e92b2aa94349ecc9240
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 20:53:41 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 23 20:57:29 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6853625c

media-gfx/exiv2: Fix cmake module, link targets, use libssh-config

Package-Manager: Portage-2.3.67, Repoman-2.3.15
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/exiv2-0.27.1-r1.ebuild             | 108 +++++++++++++++++++
 .../exiv2/files/exiv2-0.27.1-private-libs.patch    |  59 ++++++++++
 .../exiv2-0.27.1-restore-0.25-behaviour.patch      | 119 +++++++++++++++++++++
 .../exiv2-0.27.1-system-cmakemoduledir1.patch      |  41 +++++++
 .../exiv2-0.27.1-system-cmakemoduledir2.patch      |  28 +++++
 .../files/exiv2-0.27.1-system-libssh-config.patch  |  93 ++++++++++++++++
 6 files changed, 448 insertions(+)

diff --git a/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild b/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild
new file mode 100644
index 00000000000..8ffcb2c29e9
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999 ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	inherit git-r3
+else
+	SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+fi
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="https://www.exiv2.org/"
+
+LICENSE="GPL-2"
+SLOT="0/27"
+IUSE="doc examples nls +png webready +xmp"
+
+BDEPEND="
+	doc? (
+		${PYTHON_DEPS}
+		app-doc/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	nls? ( sys-devel/gettext )
+"
+DEPEND="
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+	webready? (
+		net-libs/libssh[${MULTILIB_USEDEP}]
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+
+S="${S}-Source"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-system-cmakemoduledir{1,2}.patch
+	"${FILESDIR}"/${P}-private-libs.patch
+	"${FILESDIR}"/${P}-restore-0.25-behaviour.patch
+	"${FILESDIR}"/${P}-system-libssh-config.patch
+)
+
+pkg_setup() {
+	use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	cmake-utils_src_prepare
+
+	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_BUILD_SAMPLES=NO
+		-DEXIV2_BUILD_PO=$(usex nls)
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_SSH=$(usex webready)
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+	)
+
+	cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+	cmake-utils_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && eninja doc
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch b/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch
new file mode 100644
index 00000000000..c99a19098ae
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch
@@ -0,0 +1,59 @@
+From f05d100579effd7459fd0715b26239d4cd2c9bcc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
+Date: Sat, 4 May 2019 16:14:15 +0200
+Subject: [PATCH] CURL lib and include directories private for exiv2lib
+
+(cherry picked from commit 5d64a0b11c5a45dd9d58c56e946301f3f98942a7)
+---
+ samples/CMakeLists.txt | 14 ++++++++++++++
+ src/CMakeLists.txt     | 10 +++++-----
+ 2 files changed, 19 insertions(+), 5 deletions(-)
+
+diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
+index a82403e3b..c3f4722df 100644
+--- a/samples/CMakeLists.txt
++++ b/samples/CMakeLists.txt
+@@ -96,6 +96,20 @@ endif()
+ add_executable(conntest conntest.cpp)
+ list(APPEND APPLICATIONS conntest)
+ 
++if (EXIV2_ENABLE_WEBREADY)
++    if( EXIV2_ENABLE_CURL )
++        target_include_directories(conntest SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
++        target_link_libraries(conntest PRIVATE ${CURL_LIBRARIES})
++        if (USING_CONAN)
++            target_compile_definitions(conntest PRIVATE ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
++            target_link_libraries(conntest PRIVATE ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
++            if (NOT APPLE)
++                target_link_libraries(conntest PRIVATE CONAN_PKG::OpenSSL)
++            endif()
++        endif()
++    endif()
++endif()
++
+ # ******************************************************************************
+ # remotetest application
+ add_executable(remotetest remotetest.cpp)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 976327775..d0e989d26 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -179,13 +179,13 @@ if (EXIV2_ENABLE_WEBREADY)
+     endif()
+ 
+     if( EXIV2_ENABLE_CURL )
+-        target_include_directories(exiv2lib SYSTEM PUBLIC ${CURL_INCLUDE_DIR} )
+-        target_link_libraries(exiv2lib PUBLIC ${CURL_LIBRARIES})
++        target_include_directories(exiv2lib SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
++        target_link_libraries(exiv2lib PRIVATE ${CURL_LIBRARIES})
+         if (USING_CONAN)
+-            target_compile_definitions(exiv2lib PUBLIC ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
+-            target_link_libraries(exiv2lib PUBLIC ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
++            target_compile_definitions(exiv2lib PRIVATE ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
++            target_link_libraries(exiv2lib PRIVATE ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
+             if (NOT APPLE)
+-                target_link_libraries(exiv2lib PUBLIC CONAN_PKG::OpenSSL)
++                target_link_libraries(exiv2lib PRIVATE CONAN_PKG::OpenSSL)
+             endif()
+         endif()
+     endif()

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch b/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch
new file mode 100644
index 00000000000..2aa4d3a826f
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch
@@ -0,0 +1,119 @@
+From db870755b928cca7411a092ce12292afe9c4fa36 Mon Sep 17 00:00:00 2001
+From: clanmills <robin@clanmills.com>
+Date: Thu, 9 May 2019 11:26:29 +0100
+Subject: [PATCH] fix #818.  Restore 0.25 behaviour of `$ exiv2 -g image ...`
+ to apply grep to keys.
+
+---
+ src/actions.cpp                         |  2 +-
+ src/exiv2.1                             | 50 +++++++++++++++++--------
+ tests/bugfixes/github/test_issue_818.py | 32 ++++++++++++++++
+ 3 files changed, 67 insertions(+), 17 deletions(-)
+ create mode 100644 tests/bugfixes/github/test_issue_818.py
+
+diff --git a/src/actions.cpp b/src/actions.cpp
+index 34a7a80d5..68260186d 100644
+--- a/src/actions.cpp
++++ b/src/actions.cpp
+@@ -243,7 +243,7 @@ namespace Action {
+             int rc = 0;
+             Exiv2::PrintStructureOption option = Exiv2::kpsNone ;
+             switch (Params::instance().printMode_) {
+-                case Params::pmSummary:   rc = printSummary();     break;
++                case Params::pmSummary:   rc = Params::instance().greps_.empty() ? printSummary() : printList(); break;
+                 case Params::pmList:      rc = printList();        break;
+                 case Params::pmComment:   rc = printComment();     break;
+                 case Params::pmPreview:   rc = printPreviewList(); break;
+diff --git a/src/exiv2.1 b/src/exiv2.1
+index 4f6f3b51b..048f09af7 100644
+--- a/src/exiv2.1
++++ b/src/exiv2.1
+@@ -2,7 +2,7 @@
+ .\" First parameter, NAME, should be all caps
+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+ .\" other parameters are allowed: see man(7), man(1)
+-.TH EXIV2 1 "Apr 25, 2019"
++.TH EXIV2 1 "May 8, 2019"
+ .\" Please adjust this date whenever revising the manpage.
+ .\"
+ .\" Some roff macros, for reference:
+@@ -222,19 +222,30 @@ Show unknown tags (default is to suppress tags which don't have a name).
+ Only keys which match the given key (grep).
+ .br
+ Multiple \fB\-g\fP options
+-can be used to grep info for several keys. Example:
++can be used to filter info to less keys. Example:
+ exiv2 -v -V -g webready -g time.
++The default exiv2 command prints a "summary report" which is quite short.  When you use -g without a -pmod option, you do not get a summary report and in effect you get -g pattern -pa image ...
+ 
+ .nf
+-exiv2 \-g Date \-pt R.jpg
+-Exif.Image.DateTime           Ascii      20  2012:08:07 16:01:05
+-Exif.Photo.DateTimeOriginal   Ascii      20  2011:09:18 16:25:48
+-Exif.Photo.DateTimeDigitized  Ascii      20  2011:09:18 16:25:48
++$ bin/exiv2 -g Date http://clanmills.com/Stonehenge.jpg
++Exif.Image.DateTime                 Ascii    20  2015:07:16 20:25:28
++Exif.Photo.DateTimeOriginal         Ascii    20  2015:07:16 15:38:54
++Exif.Photo.DateTimeDigitized        Ascii    20  2015:07:16 15:38:54
++Exif.NikonWt.DateDisplayFormat      Byte      1  Y/M/D
++Exif.GPSInfo.GPSDateStamp           Ascii    11  2015:07:16
++Xmp.xmp.ModifyDate                  XmpText  25  2015-07-16T20:25:28+01:00
+ 
+ .fi
+--g (--grep) is only applied to keys.  It is not generally applied to all output such as the default -ps report.
++You may use -pmod filters to further filter output.  For example:
++.nf
++
++$ bin/exiv2 -px -g Date http://clanmills.com/Stonehenge.jpg
++Xmp.xmp.ModifyDate                           XmpText    25  2015-07-16T20:25:28+01:00
+ 
+-The key may finish with the optional modifier /i to indicated case insensitive.
++.fi
++The option -g (--grep) applies to keys and not values.
++
++The key may finish with the optional modifier /i to indicate case insensitive.
+ .TP
+ .B \-K \fIkey\fP
+ Only report data for given key.
+@@ -243,8 +254,8 @@ Multiple \fB\-K\fP options can be used to report more than a single key.
+ 
+ .nf
+ exiv2 \-K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal \-pt R.jpg
+-Exif.Photo.DateTimeOriginal   Ascii      20  2011:09:18 16:25:48
+-Exif.Photo.DateTimeDigitized  Ascii      20  2011:09:18 16:25:48
++Exif.Photo.DateTimeOriginal   Ascii    20  2011:09:18 16:25:48
++Exif.Photo.DateTimeDigitized  Ascii    20  2011:09:18 16:25:48
+ .fi
+ .TP
+ .B \-n \fIenc\fP
+@@ -594,17 +605,24 @@ You obtain the lensID for your camera with the command:
+ .nf
+ .sp 1
+ $ exiv2 -pv --grep lens/i http://clanmills.com/Stonehenge.jpg
+-0x0083 Nikon3       LensType                    Byte        1  14
+-0x0084 Nikon3       Lens                        Rational    4  180/10 2500/10 35/10 63/10
+-0x008b Nikon3       LensFStops                  Undefined   4  55 1 12 0
+-0x000c NikonLd3     LensIDNumber                Byte        1  146 <--- This number
+-0x000d NikonLd3     LensFStops                  Byte        1  55
++0x0083 Nikon3       LensType           Byte       1  14
++0x0084 Nikon3       Lens               Rational   4  180/10 2500/10 35/10 63/10
++0x008b Nikon3       LensFStops         Undefined  4  55 1 12 0
++0x000c NikonLd3     LensIDNumber       Byte       1  146 <--- This number
++0x000d NikonLd3     LensFStops         Byte       1  55
+ .br
+ .ne 40
+ .SH EXAMPLES
+ .TP
+ exiv2 *.jpg
+-Prints a summary of the Exif information for all JPEG files in the directory.
++Prints a summary of the Exif information for all JPEG files in the directory.  The summary report is rather brief and presentation does not use the Family.Group.Tag convention.
++
++If you use --grep pattern, the default becomes -pa.  See -g/grep above.
++
++.nf
++$ exiv2 -g Date http://clanmills.com/Stonehenge.jpg
++
++.fi
+ .TP
+ exiv2 \-pi image.jpg
+ Prints the IPTC metadata of the image.

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch
new file mode 100644
index 00000000000..77a68437502
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch
@@ -0,0 +1,41 @@
+From 78676b2a025023ab3de2d094e0798ed64ef7df97 Mon Sep 17 00:00:00 2001
+From: Robin Mills <robin@clanmills.com>
+Date: Sat, 27 Apr 2019 11:18:22 +0100
+Subject: [PATCH] Fix #798
+
+---
+ README.md                      |  2 +-
+ releasenotes/CYGWIN/ReadMe.txt | 17 +----------------
+ releasenotes/Darwin/ReadMe.txt |  6 ++----
+ releasenotes/Linux/ReadMe.txt  |  2 +-
+ releasenotes/MinGW/ReadMe.txt  |  2 +-
+ releasenotes/msvc/ReadMe.txt   |  2 +-
+ src/CMakeLists.txt             |  2 +-
+ 7 files changed, 8 insertions(+), 25 deletions(-)
+
+diff --git a/README.md b/README.md
+index 6e9f50a94..92cca39e6 100644
+--- a/README.md
++++ b/README.md
+@@ -189,7 +189,7 @@ project(exifprint VERSION 0.0.1 LANGUAGES CXX)
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ 
+-find_package(exiv2 REQUIRED CONFIG NAMES exiv2)    # search ${CMAKE_INSTALL_PREFIX}/lib/exiv2/cmake/
++find_package(exiv2 REQUIRED CONFIG NAMES exiv2)    # search ${CMAKE_INSTALL_PREFIX}/lib/cmake/exiv2
+ add_executable(exifprint ../samples/exifprint.cpp) # compile this
+ target_link_libraries(exifprint exiv2lib)          # link exiv2lib
+ 
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 340870048..976327775 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -239,7 +239,7 @@ install(FILES
+     ${CMAKE_BINARY_DIR}/exiv2lib_export.h
+     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2)
+ 
+-install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
++install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
+ 
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
+ 

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch
new file mode 100644
index 00000000000..1770449564a
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch
@@ -0,0 +1,28 @@
+From 6819f2ac456c57291f94cc1f4db13ce134eed468 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 23 Jun 2019 19:32:29 +0200
+Subject: [PATCH] Fix install path of exiv2ConfigVersion.cmake
+
+This seems to have been caused by duplicate work between master branch
+and 0.27-maintenance branch, as commit 3b48249eeb350301dfb3efa3ba6f7d7b162455be
+had already got that right.
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1d0ccee4..05ce4e14 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -245,7 +245,7 @@ install(FILES
+ 
+ install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
+ 
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
+ 
+ # ******************************************************************************
+ # exiv2 application
+-- 
+2.22.0
+

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch
new file mode 100644
index 00000000000..555314ae932
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch
@@ -0,0 +1,93 @@
+From e85ce17fc91e11eff26c6f5a89125505b7db5fd3 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 23 Jun 2019 19:50:01 +0200
+Subject: [PATCH 1/2] Switch to libssh's own libssh-config.cmake
+
+This is provided by libssh since 2013.
+---
+ cmake/findDependencies.cmake | 2 +-
+ src/CMakeLists.txt           | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
+index 12d47525..52760185 100644
+--- a/cmake/findDependencies.cmake
++++ b/cmake/findDependencies.cmake
+@@ -20,7 +20,7 @@ if( EXIV2_ENABLE_WEBREADY )
+     endif()
+ 
+     if( EXIV2_ENABLE_SSH )
+-        find_package( SSH REQUIRED)
++        find_package(libssh CONFIG REQUIRED)
+     endif( )
+ endif( )
+ 
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1d0ccee4..b532fc7b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -174,8 +174,8 @@ target_include_directories(exiv2lib_int PUBLIC
+ if (EXIV2_ENABLE_WEBREADY)
+ 
+     if( EXIV2_ENABLE_SSH )
+-        target_include_directories(exiv2lib SYSTEM PUBLIC ${SSH_INCLUDE_DIR} )
+-        target_link_libraries( exiv2lib PUBLIC ${SSH_LIBRARIES})
++        target_include_directories(exiv2lib SYSTEM PUBLIC ${LIBSSH_INCLUDE_DIR})
++        target_link_libraries(exiv2lib PUBLIC ${LIBSSH_LIBRARIES})
+     endif()
+ 
+     if( EXIV2_ENABLE_CURL )
+-- 
+2.22.0
+
+
+From 89d8160a410c2c526ad021fd456accc709cae520 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 23 Jun 2019 19:50:44 +0200
+Subject: [PATCH 2/2] Drop now obsolete FindSSH.cmake
+
+---
+ cmake/FindSSH.cmake | 31 -------------------------------
+ 1 file changed, 31 deletions(-)
+ delete mode 100644 cmake/FindSSH.cmake
+
+diff --git a/cmake/FindSSH.cmake b/cmake/FindSSH.cmake
+deleted file mode 100644
+index 2a6fa378..00000000
+--- a/cmake/FindSSH.cmake
++++ /dev/null
+@@ -1,31 +0,0 @@
+-# - Find libssh
+-# Find the native SSH headers and libraries.
+-#
+-#  SSH_INCLUDE_DIRS - where to find libssh.h, etc.
+-#  SSH_LIBRARIES    - List of libraries when using libssh.
+-#  SSH_FOUND        - True if libssh found.
+-#
+-# Redistribution and use is allowed according to the terms of the BSD license.
+-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+-
+-# Look for the header file.
+-FIND_PATH(SSH_INCLUDE_DIR NAMES libssh/libssh.h)
+-
+-# Look for the library.
+-FIND_LIBRARY(SSH_LIBRARY NAMES ssh libssh)
+-
+-# handle the QUIETLY and REQUIRED arguments and set SSH_FOUND to TRUE if 
+-# all listed variables are TRUE
+-INCLUDE(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SSH DEFAULT_MSG SSH_LIBRARY SSH_INCLUDE_DIR)
+-
+-# Copy the results to the output variables.
+-IF(SSH_FOUND)
+-  SET(SSH_LIBRARIES ${SSH_LIBRARY})
+-  SET(SSH_INCLUDE_DIRS ${SSH_INCLUDE_DIR})
+-ELSE(SSH_FOUND)
+-  SET(SSH_LIBRARIES)
+-  SET(SSH_INCLUDE_DIRS)
+-ENDIF(SSH_FOUND)
+-
+-MARK_AS_ADVANCED(SSH_INCLUDE_DIR SSH_LIBRARY)
+-- 
+2.22.0
+


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2019-07-29 18:55 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2019-07-29 18:55 UTC (permalink / raw
  To: gentoo-commits

commit:     610fd2a54f84a8131e3323b0bf43423eb89b99ea
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 18:52:15 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 18:55:40 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=610fd2a5

media-gfx/exiv2: Drop 0.27.1-r1 and 0.27.2_rc3

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   2 -
 media-gfx/exiv2/exiv2-0.27.1-r1.ebuild             | 108 -------------------
 media-gfx/exiv2/exiv2-0.27.2_rc3.ebuild            | 103 ------------------
 .../exiv2/files/exiv2-0.27.1-private-libs.patch    |  59 ----------
 .../exiv2-0.27.1-restore-0.25-behaviour.patch      | 119 ---------------------
 .../exiv2-0.27.1-system-cmakemoduledir1.patch      |  41 -------
 .../exiv2-0.27.1-system-cmakemoduledir2.patch      |  28 -----
 .../files/exiv2-0.27.1-system-libssh-config.patch  |  93 ----------------
 8 files changed, 553 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 68142c104ee..b4bb2f2a157 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,4 +1,2 @@
 DIST exiv2-0.27.0a-Source.tar.gz 27168207 BLAKE2B 3f5c4fbe4f41c1114c0a54433c810ed0fb28ae3fbe8258eb7a02da716b833d62a94725f839accf22600c420ace5cdbead599440d335ff694a4f123820613ecd9 SHA512 9873d6815c2a87b7cdc49e8863f72c713fe1054f2f46d2c9aaa7ca2cd42096a36c2970e6a396af9000faba32fa9ff054b9d2c5e22f3e2624669440e553239f9c
-DIST exiv2-0.27.1-Source.tar.gz 27210365 BLAKE2B 1ce9a0b26c0908b876e35b5488fc5680789eb864376b379d9bd57977d456a5c6dc5983c4a8ef3e3558ffc061c0b7cda1d1f89a1629af920de1747fd4afbdbb39 SHA512 038b51241f5bfb323eb298695b5397a7d88d5c7d7303828e5e20b3f82c3df2615cee3e7e3426ea17438ca05d5abea10984cfd41f0649ddab72df1d1415bf3529
 DIST exiv2-0.27.2-Source.tar.gz 27591236 BLAKE2B bd10d71356e4c8a465b71f8ceac07fbf2fd6cfb287cb22774568ad35eb38200be504e297224920af50a15ab4e9da98384ff4da7c33713f5346b33738380698b0 SHA512 39eb7d920dce18b275ac66f4766c7c73f7c72ee10e3e1e43d84c611b24f48ce20a70eac6d53948914e93242a25b8b52cc4bc760ee611ddcd77481306c1f9e721
-DIST exiv2-0.27.2_rc3.tar.gz 27291247 BLAKE2B 72825a50fbafe4eed4ab4a12e135b22bc8a4ef66736dd22794d73e6b1789a3a4da3037dc292948561b7affc33ac1c577ba259b6d4173aa5bd5a640bb7b3dcaef SHA512 3af8ee5f6bc9fcd5e1451ef8750861a79da4aa7c31ceb00d3a659000fc0c939c5adc809b8e37936587212707a8b2b529d30cafce55d35f8baf8eedb1a017e2e6

diff --git a/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild b/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild
deleted file mode 100644
index 8ffcb2c29e9..00000000000
--- a/media-gfx/exiv2/exiv2-0.27.1-r1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	inherit git-r3
-else
-	SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-fi
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="https://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/27"
-IUSE="doc examples nls +png webready +xmp"
-
-BDEPEND="
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-DEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-
-S="${S}-Source"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-system-cmakemoduledir{1,2}.patch
-	"${FILESDIR}"/${P}-private-libs.patch
-	"${FILESDIR}"/${P}-restore-0.25-behaviour.patch
-	"${FILESDIR}"/${P}-system-libssh-config.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	cmake-utils_src_prepare
-
-	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_BUILD_SAMPLES=NO
-		-DEXIV2_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && eninja doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/exiv2-0.27.2_rc3.ebuild b/media-gfx/exiv2/exiv2-0.27.2_rc3.ebuild
deleted file mode 100644
index 2adb54834e7..00000000000
--- a/media-gfx/exiv2/exiv2-0.27.2_rc3.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	inherit git-r3
-else
-# 	SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
-	SRC_URI="https://github.com/Exiv2/${PN}/archive/v${PV/_rc/-RC}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-fi
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="https://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/27"
-IUSE="doc examples nls +png webready +xmp"
-
-BDEPEND="
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-DEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-
-# S="${S}-Source"
-S="${WORKDIR}/${P/_rc/-RC}"
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	cmake-utils_src_prepare
-
-	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_BUILD_SAMPLES=NO
-		-DEXIV2_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && eninja doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch b/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch
deleted file mode 100644
index c99a19098ae..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.1-private-libs.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From f05d100579effd7459fd0715b26239d4cd2c9bcc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= <piponazo@gmail.com>
-Date: Sat, 4 May 2019 16:14:15 +0200
-Subject: [PATCH] CURL lib and include directories private for exiv2lib
-
-(cherry picked from commit 5d64a0b11c5a45dd9d58c56e946301f3f98942a7)
----
- samples/CMakeLists.txt | 14 ++++++++++++++
- src/CMakeLists.txt     | 10 +++++-----
- 2 files changed, 19 insertions(+), 5 deletions(-)
-
-diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
-index a82403e3b..c3f4722df 100644
---- a/samples/CMakeLists.txt
-+++ b/samples/CMakeLists.txt
-@@ -96,6 +96,20 @@ endif()
- add_executable(conntest conntest.cpp)
- list(APPEND APPLICATIONS conntest)
- 
-+if (EXIV2_ENABLE_WEBREADY)
-+    if( EXIV2_ENABLE_CURL )
-+        target_include_directories(conntest SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
-+        target_link_libraries(conntest PRIVATE ${CURL_LIBRARIES})
-+        if (USING_CONAN)
-+            target_compile_definitions(conntest PRIVATE ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
-+            target_link_libraries(conntest PRIVATE ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
-+            if (NOT APPLE)
-+                target_link_libraries(conntest PRIVATE CONAN_PKG::OpenSSL)
-+            endif()
-+        endif()
-+    endif()
-+endif()
-+
- # ******************************************************************************
- # remotetest application
- add_executable(remotetest remotetest.cpp)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 976327775..d0e989d26 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -179,13 +179,13 @@ if (EXIV2_ENABLE_WEBREADY)
-     endif()
- 
-     if( EXIV2_ENABLE_CURL )
--        target_include_directories(exiv2lib SYSTEM PUBLIC ${CURL_INCLUDE_DIR} )
--        target_link_libraries(exiv2lib PUBLIC ${CURL_LIBRARIES})
-+        target_include_directories(exiv2lib SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
-+        target_link_libraries(exiv2lib PRIVATE ${CURL_LIBRARIES})
-         if (USING_CONAN)
--            target_compile_definitions(exiv2lib PUBLIC ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
--            target_link_libraries(exiv2lib PUBLIC ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
-+            target_compile_definitions(exiv2lib PRIVATE ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
-+            target_link_libraries(exiv2lib PRIVATE ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
-             if (NOT APPLE)
--                target_link_libraries(exiv2lib PUBLIC CONAN_PKG::OpenSSL)
-+                target_link_libraries(exiv2lib PRIVATE CONAN_PKG::OpenSSL)
-             endif()
-         endif()
-     endif()

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch b/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch
deleted file mode 100644
index 2aa4d3a826f..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.1-restore-0.25-behaviour.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From db870755b928cca7411a092ce12292afe9c4fa36 Mon Sep 17 00:00:00 2001
-From: clanmills <robin@clanmills.com>
-Date: Thu, 9 May 2019 11:26:29 +0100
-Subject: [PATCH] fix #818.  Restore 0.25 behaviour of `$ exiv2 -g image ...`
- to apply grep to keys.
-
----
- src/actions.cpp                         |  2 +-
- src/exiv2.1                             | 50 +++++++++++++++++--------
- tests/bugfixes/github/test_issue_818.py | 32 ++++++++++++++++
- 3 files changed, 67 insertions(+), 17 deletions(-)
- create mode 100644 tests/bugfixes/github/test_issue_818.py
-
-diff --git a/src/actions.cpp b/src/actions.cpp
-index 34a7a80d5..68260186d 100644
---- a/src/actions.cpp
-+++ b/src/actions.cpp
-@@ -243,7 +243,7 @@ namespace Action {
-             int rc = 0;
-             Exiv2::PrintStructureOption option = Exiv2::kpsNone ;
-             switch (Params::instance().printMode_) {
--                case Params::pmSummary:   rc = printSummary();     break;
-+                case Params::pmSummary:   rc = Params::instance().greps_.empty() ? printSummary() : printList(); break;
-                 case Params::pmList:      rc = printList();        break;
-                 case Params::pmComment:   rc = printComment();     break;
-                 case Params::pmPreview:   rc = printPreviewList(); break;
-diff --git a/src/exiv2.1 b/src/exiv2.1
-index 4f6f3b51b..048f09af7 100644
---- a/src/exiv2.1
-+++ b/src/exiv2.1
-@@ -2,7 +2,7 @@
- .\" First parameter, NAME, should be all caps
- .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
- .\" other parameters are allowed: see man(7), man(1)
--.TH EXIV2 1 "Apr 25, 2019"
-+.TH EXIV2 1 "May 8, 2019"
- .\" Please adjust this date whenever revising the manpage.
- .\"
- .\" Some roff macros, for reference:
-@@ -222,19 +222,30 @@ Show unknown tags (default is to suppress tags which don't have a name).
- Only keys which match the given key (grep).
- .br
- Multiple \fB\-g\fP options
--can be used to grep info for several keys. Example:
-+can be used to filter info to less keys. Example:
- exiv2 -v -V -g webready -g time.
-+The default exiv2 command prints a "summary report" which is quite short.  When you use -g without a -pmod option, you do not get a summary report and in effect you get -g pattern -pa image ...
- 
- .nf
--exiv2 \-g Date \-pt R.jpg
--Exif.Image.DateTime           Ascii      20  2012:08:07 16:01:05
--Exif.Photo.DateTimeOriginal   Ascii      20  2011:09:18 16:25:48
--Exif.Photo.DateTimeDigitized  Ascii      20  2011:09:18 16:25:48
-+$ bin/exiv2 -g Date http://clanmills.com/Stonehenge.jpg
-+Exif.Image.DateTime                 Ascii    20  2015:07:16 20:25:28
-+Exif.Photo.DateTimeOriginal         Ascii    20  2015:07:16 15:38:54
-+Exif.Photo.DateTimeDigitized        Ascii    20  2015:07:16 15:38:54
-+Exif.NikonWt.DateDisplayFormat      Byte      1  Y/M/D
-+Exif.GPSInfo.GPSDateStamp           Ascii    11  2015:07:16
-+Xmp.xmp.ModifyDate                  XmpText  25  2015-07-16T20:25:28+01:00
- 
- .fi
---g (--grep) is only applied to keys.  It is not generally applied to all output such as the default -ps report.
-+You may use -pmod filters to further filter output.  For example:
-+.nf
-+
-+$ bin/exiv2 -px -g Date http://clanmills.com/Stonehenge.jpg
-+Xmp.xmp.ModifyDate                           XmpText    25  2015-07-16T20:25:28+01:00
- 
--The key may finish with the optional modifier /i to indicated case insensitive.
-+.fi
-+The option -g (--grep) applies to keys and not values.
-+
-+The key may finish with the optional modifier /i to indicate case insensitive.
- .TP
- .B \-K \fIkey\fP
- Only report data for given key.
-@@ -243,8 +254,8 @@ Multiple \fB\-K\fP options can be used to report more than a single key.
- 
- .nf
- exiv2 \-K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal \-pt R.jpg
--Exif.Photo.DateTimeOriginal   Ascii      20  2011:09:18 16:25:48
--Exif.Photo.DateTimeDigitized  Ascii      20  2011:09:18 16:25:48
-+Exif.Photo.DateTimeOriginal   Ascii    20  2011:09:18 16:25:48
-+Exif.Photo.DateTimeDigitized  Ascii    20  2011:09:18 16:25:48
- .fi
- .TP
- .B \-n \fIenc\fP
-@@ -594,17 +605,24 @@ You obtain the lensID for your camera with the command:
- .nf
- .sp 1
- $ exiv2 -pv --grep lens/i http://clanmills.com/Stonehenge.jpg
--0x0083 Nikon3       LensType                    Byte        1  14
--0x0084 Nikon3       Lens                        Rational    4  180/10 2500/10 35/10 63/10
--0x008b Nikon3       LensFStops                  Undefined   4  55 1 12 0
--0x000c NikonLd3     LensIDNumber                Byte        1  146 <--- This number
--0x000d NikonLd3     LensFStops                  Byte        1  55
-+0x0083 Nikon3       LensType           Byte       1  14
-+0x0084 Nikon3       Lens               Rational   4  180/10 2500/10 35/10 63/10
-+0x008b Nikon3       LensFStops         Undefined  4  55 1 12 0
-+0x000c NikonLd3     LensIDNumber       Byte       1  146 <--- This number
-+0x000d NikonLd3     LensFStops         Byte       1  55
- .br
- .ne 40
- .SH EXAMPLES
- .TP
- exiv2 *.jpg
--Prints a summary of the Exif information for all JPEG files in the directory.
-+Prints a summary of the Exif information for all JPEG files in the directory.  The summary report is rather brief and presentation does not use the Family.Group.Tag convention.
-+
-+If you use --grep pattern, the default becomes -pa.  See -g/grep above.
-+
-+.nf
-+$ exiv2 -g Date http://clanmills.com/Stonehenge.jpg
-+
-+.fi
- .TP
- exiv2 \-pi image.jpg
- Prints the IPTC metadata of the image.

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch
deleted file mode 100644
index 77a68437502..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir1.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 78676b2a025023ab3de2d094e0798ed64ef7df97 Mon Sep 17 00:00:00 2001
-From: Robin Mills <robin@clanmills.com>
-Date: Sat, 27 Apr 2019 11:18:22 +0100
-Subject: [PATCH] Fix #798
-
----
- README.md                      |  2 +-
- releasenotes/CYGWIN/ReadMe.txt | 17 +----------------
- releasenotes/Darwin/ReadMe.txt |  6 ++----
- releasenotes/Linux/ReadMe.txt  |  2 +-
- releasenotes/MinGW/ReadMe.txt  |  2 +-
- releasenotes/msvc/ReadMe.txt   |  2 +-
- src/CMakeLists.txt             |  2 +-
- 7 files changed, 8 insertions(+), 25 deletions(-)
-
-diff --git a/README.md b/README.md
-index 6e9f50a94..92cca39e6 100644
---- a/README.md
-+++ b/README.md
-@@ -189,7 +189,7 @@ project(exifprint VERSION 0.0.1 LANGUAGES CXX)
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_CXX_EXTENSIONS OFF)
- 
--find_package(exiv2 REQUIRED CONFIG NAMES exiv2)    # search ${CMAKE_INSTALL_PREFIX}/lib/exiv2/cmake/
-+find_package(exiv2 REQUIRED CONFIG NAMES exiv2)    # search ${CMAKE_INSTALL_PREFIX}/lib/cmake/exiv2
- add_executable(exifprint ../samples/exifprint.cpp) # compile this
- target_link_libraries(exifprint exiv2lib)          # link exiv2lib
- 
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 340870048..976327775 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -239,7 +239,7 @@ install(FILES
-     ${CMAKE_BINARY_DIR}/exiv2lib_export.h
-     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2)
- 
--install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
-+install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
- 
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
- 

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch
deleted file mode 100644
index 1770449564a..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.1-system-cmakemoduledir2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6819f2ac456c57291f94cc1f4db13ce134eed468 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 23 Jun 2019 19:32:29 +0200
-Subject: [PATCH] Fix install path of exiv2ConfigVersion.cmake
-
-This seems to have been caused by duplicate work between master branch
-and 0.27-maintenance branch, as commit 3b48249eeb350301dfb3efa3ba6f7d7b162455be
-had already got that right.
----
- src/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1d0ccee4..05ce4e14 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -245,7 +245,7 @@ install(FILES
- 
- install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
- 
--install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
- 
- # ******************************************************************************
- # exiv2 application
--- 
-2.22.0
-

diff --git a/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch b/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch
deleted file mode 100644
index 555314ae932..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.1-system-libssh-config.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From e85ce17fc91e11eff26c6f5a89125505b7db5fd3 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 23 Jun 2019 19:50:01 +0200
-Subject: [PATCH 1/2] Switch to libssh's own libssh-config.cmake
-
-This is provided by libssh since 2013.
----
- cmake/findDependencies.cmake | 2 +-
- src/CMakeLists.txt           | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
-index 12d47525..52760185 100644
---- a/cmake/findDependencies.cmake
-+++ b/cmake/findDependencies.cmake
-@@ -20,7 +20,7 @@ if( EXIV2_ENABLE_WEBREADY )
-     endif()
- 
-     if( EXIV2_ENABLE_SSH )
--        find_package( SSH REQUIRED)
-+        find_package(libssh CONFIG REQUIRED)
-     endif( )
- endif( )
- 
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1d0ccee4..b532fc7b 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -174,8 +174,8 @@ target_include_directories(exiv2lib_int PUBLIC
- if (EXIV2_ENABLE_WEBREADY)
- 
-     if( EXIV2_ENABLE_SSH )
--        target_include_directories(exiv2lib SYSTEM PUBLIC ${SSH_INCLUDE_DIR} )
--        target_link_libraries( exiv2lib PUBLIC ${SSH_LIBRARIES})
-+        target_include_directories(exiv2lib SYSTEM PUBLIC ${LIBSSH_INCLUDE_DIR})
-+        target_link_libraries(exiv2lib PUBLIC ${LIBSSH_LIBRARIES})
-     endif()
- 
-     if( EXIV2_ENABLE_CURL )
--- 
-2.22.0
-
-
-From 89d8160a410c2c526ad021fd456accc709cae520 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 23 Jun 2019 19:50:44 +0200
-Subject: [PATCH 2/2] Drop now obsolete FindSSH.cmake
-
----
- cmake/FindSSH.cmake | 31 -------------------------------
- 1 file changed, 31 deletions(-)
- delete mode 100644 cmake/FindSSH.cmake
-
-diff --git a/cmake/FindSSH.cmake b/cmake/FindSSH.cmake
-deleted file mode 100644
-index 2a6fa378..00000000
---- a/cmake/FindSSH.cmake
-+++ /dev/null
-@@ -1,31 +0,0 @@
--# - Find libssh
--# Find the native SSH headers and libraries.
--#
--#  SSH_INCLUDE_DIRS - where to find libssh.h, etc.
--#  SSH_LIBRARIES    - List of libraries when using libssh.
--#  SSH_FOUND        - True if libssh found.
--#
--# Redistribution and use is allowed according to the terms of the BSD license.
--# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
--
--# Look for the header file.
--FIND_PATH(SSH_INCLUDE_DIR NAMES libssh/libssh.h)
--
--# Look for the library.
--FIND_LIBRARY(SSH_LIBRARY NAMES ssh libssh)
--
--# handle the QUIETLY and REQUIRED arguments and set SSH_FOUND to TRUE if 
--# all listed variables are TRUE
--INCLUDE(FindPackageHandleStandardArgs)
--FIND_PACKAGE_HANDLE_STANDARD_ARGS(SSH DEFAULT_MSG SSH_LIBRARY SSH_INCLUDE_DIR)
--
--# Copy the results to the output variables.
--IF(SSH_FOUND)
--  SET(SSH_LIBRARIES ${SSH_LIBRARY})
--  SET(SSH_INCLUDE_DIRS ${SSH_INCLUDE_DIR})
--ELSE(SSH_FOUND)
--  SET(SSH_LIBRARIES)
--  SET(SSH_INCLUDE_DIRS)
--ENDIF(SSH_FOUND)
--
--MARK_AS_ADVANCED(SSH_INCLUDE_DIR SSH_LIBRARY)
--- 
-2.22.0
-


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2019-11-14 15:59 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2019-11-14 15:59 UTC (permalink / raw
  To: gentoo-commits

commit:     74f4ec456198c500f81f8294da29b1a2f9daee71
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 14 14:08:25 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Nov 14 15:59:35 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74f4ec45

media-gfx/exiv2: Fix build against >=net-libs/libssh-0.9.2

Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/exiv2-0.27.2.ebuild                |  2 +
 .../exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch    | 56 ++++++++++++++++++++++
 2 files changed, 58 insertions(+)

diff --git a/media-gfx/exiv2/exiv2-0.27.2.ebuild b/media-gfx/exiv2/exiv2-0.27.2.ebuild
index e70d4f902f1..3d6060c5535 100644
--- a/media-gfx/exiv2/exiv2-0.27.2.ebuild
+++ b/media-gfx/exiv2/exiv2-0.27.2.ebuild
@@ -45,6 +45,8 @@ RDEPEND="${DEPEND}"
 
 DOCS=( README.md doc/ChangeLog doc/cmd.txt )
 
+PATCHES=( "${FILESDIR}/${P}-libssh-0.9.2.patch" )
+
 S="${S}-Source"
 
 pkg_setup() {

diff --git a/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch b/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
new file mode 100644
index 00000000000..abf165b83f4
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
@@ -0,0 +1,56 @@
+From c59eb810728572fde84492d43a932dcac89746d6 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 14 Nov 2019 15:06:38 +0100
+Subject: [PATCH] EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
+
+0.9.1 remains broken regardless and is beyond fixing in this place.
+
+Build-tested with both libssh 0.9.0 and 0.9.2.
+
+Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
+---
+ cmake/findDependencies.cmake | 13 +++++++++++--
+ src/CMakeLists.txt           |  3 +--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
+index a458a0c9..ec3a43f5 100644
+--- a/cmake/findDependencies.cmake
++++ b/cmake/findDependencies.cmake
+@@ -26,8 +26,17 @@ if( EXIV2_ENABLE_WEBREADY )
+ 
+     if( EXIV2_ENABLE_SSH )
+         find_package(libssh CONFIG REQUIRED)
+-    endif( )
+-endif( )
++        # Define an imported target to have compatibility with <=libssh-0.9.0
++        # libssh-0.9.1 is broken regardless.
++        if(NOT TARGET ssh)
++            add_library(ssh SHARED IMPORTED)
++            set_target_properties(ssh PROPERTIES
++                IMPORTED_LOCATION "${LIBSSH_LIBRARIES}"
++                INTERFACE_INCLUDE_DIRECTORIES "${LIBSSH_INCLUDE_DIR}"
++            )
++        endif()
++    endif()
++endif()
+ 
+ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP)
+     message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive.  You can only choose one of them")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 27f8dbb1..bdd83fa0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -173,8 +173,7 @@ target_include_directories(exiv2lib_int PUBLIC
+ if (EXIV2_ENABLE_WEBREADY)
+ 
+     if( EXIV2_ENABLE_SSH )
+-        target_include_directories(exiv2lib SYSTEM PUBLIC ${LIBSSH_INCLUDE_DIR})
+-        target_link_libraries(exiv2lib PUBLIC ${LIBSSH_LIBRARIES})
++        target_link_libraries(exiv2lib PUBLIC ssh)
+     endif()
+ 
+     if( EXIV2_ENABLE_CURL )
+-- 
+2.24.0
+


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2020-07-18  8:41 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2020-07-18  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     3d590f5ec305ccd3c2bb60f38f0fd47167f4dd3e
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 18 01:00:22 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jul 18 08:31:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d590f5e

media-gfx/exiv2: Drop vulnerable 0.27.2

Bug: https://bugs.gentoo.org/701902
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.27.2.ebuild                | 104 ---------------------
 .../exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch    |  56 -----------
 3 files changed, 161 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 4946e9e6a68..53c6bf2b073 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.27.2-Source.tar.gz 27591236 BLAKE2B bd10d71356e4c8a465b71f8ceac07fbf2fd6cfb287cb22774568ad35eb38200be504e297224920af50a15ab4e9da98384ff4da7c33713f5346b33738380698b0 SHA512 39eb7d920dce18b275ac66f4766c7c73f7c72ee10e3e1e43d84c611b24f48ce20a70eac6d53948914e93242a25b8b52cc4bc760ee611ddcd77481306c1f9e721
 DIST exiv2-0.27.3-Source.tar.gz 26447901 BLAKE2B ac13e6d8fce83923278cfeb628f143310a3c62b42936c8ed8b302a2c3df4c36f5666fa749adfb1d745e42da8f519762532e6fc281993aa55bcd7ce56e08c6e3e SHA512 3f5758ee862b811eeb89cc75fc2bbd8bf10329efa2ce1e68555cdc7729faa6cfd1603e0cc859fbdbe6d8fd5e53bd9b9e6d869d8a20ed17497bf87ce78c005de9

diff --git a/media-gfx/exiv2/exiv2-0.27.2.ebuild b/media-gfx/exiv2/exiv2-0.27.2.ebuild
deleted file mode 100644
index fff1d66eeb2..00000000000
--- a/media-gfx/exiv2/exiv2-0.27.2.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	inherit git-r3
-else
-	SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-fi
-
-CMAKE_ECLASS=cmake
-PYTHON_COMPAT=( python3_{6,7} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="https://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/27"
-IUSE="doc examples nls +png webready +xmp"
-
-BDEPEND="
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-DEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	webready? (
-		net-libs/libssh[${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-
-PATCHES=( "${FILESDIR}/${P}-libssh-0.9.2.patch" )
-
-S="${S}-Source"
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	cmake_src_prepare
-
-	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_BUILD_SAMPLES=NO
-		-DEXIV2_BUILD_PO=$(usex nls)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-	)
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && eninja doc
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch b/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
deleted file mode 100644
index abf165b83f4..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c59eb810728572fde84492d43a932dcac89746d6 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Thu, 14 Nov 2019 15:06:38 +0100
-Subject: [PATCH] EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
-
-0.9.1 remains broken regardless and is beyond fixing in this place.
-
-Build-tested with both libssh 0.9.0 and 0.9.2.
-
-Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
----
- cmake/findDependencies.cmake | 13 +++++++++++--
- src/CMakeLists.txt           |  3 +--
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
-index a458a0c9..ec3a43f5 100644
---- a/cmake/findDependencies.cmake
-+++ b/cmake/findDependencies.cmake
-@@ -26,8 +26,17 @@ if( EXIV2_ENABLE_WEBREADY )
- 
-     if( EXIV2_ENABLE_SSH )
-         find_package(libssh CONFIG REQUIRED)
--    endif( )
--endif( )
-+        # Define an imported target to have compatibility with <=libssh-0.9.0
-+        # libssh-0.9.1 is broken regardless.
-+        if(NOT TARGET ssh)
-+            add_library(ssh SHARED IMPORTED)
-+            set_target_properties(ssh PROPERTIES
-+                IMPORTED_LOCATION "${LIBSSH_LIBRARIES}"
-+                INTERFACE_INCLUDE_DIRECTORIES "${LIBSSH_INCLUDE_DIR}"
-+            )
-+        endif()
-+    endif()
-+endif()
- 
- if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP)
-     message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive.  You can only choose one of them")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 27f8dbb1..bdd83fa0 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -173,8 +173,7 @@ target_include_directories(exiv2lib_int PUBLIC
- if (EXIV2_ENABLE_WEBREADY)
- 
-     if( EXIV2_ENABLE_SSH )
--        target_include_directories(exiv2lib SYSTEM PUBLIC ${LIBSSH_INCLUDE_DIR})
--        target_link_libraries(exiv2lib PUBLIC ${LIBSSH_LIBRARIES})
-+        target_link_libraries(exiv2lib PUBLIC ssh)
-     endif()
- 
-     if( EXIV2_ENABLE_CURL )
--- 
-2.24.0
-


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2021-11-10 10:45 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2021-11-10 10:45 UTC (permalink / raw
  To: gentoo-commits

commit:     8034036cc6039af965de8da3d0439c88e407371b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 10 10:44:48 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 10 10:44:48 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8034036c

media-gfx/exiv2: Cleanup vulnerable 0.27.4-r2

Bug: https://bugs.gentoo.org/807346
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.27.4-r2.ebuild             | 116 ---------------------
 .../exiv2/files/exiv2-0.27.4-gtest-1.11.patch      |  32 ------
 3 files changed, 149 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 88b7a7c4f8d..a9c896be4e0 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.27.4-Source.tar.gz 32055837 BLAKE2B 9c31c08fafb38895fa7812a8c7a195335e80a6b9c15f7b5f3750f5ab30903c4c3bbf9aee5a7293a7d437d15a49a9cb7b45a3133cbb36ee62081efae0dd67b61a SHA512 f6798baafb36a54ba5bc65c2d28d4f4469e298582c90b417eb437b5dbda8e11963fb3314e8419717b3815ee8c3a68955cddc79e45351d9f2c165a0b73eb7b7be
 DIST exiv2-0.27.5-Source.tar.gz 32720608 BLAKE2B 803cb853fd049b28d309952c2332589a8544ff90c16fc1a588b6f1a2d4ae5e96da7ae746cf2247954ac54e155b84e0ad1f4f2d89f22d07e7bbd34038f0e292a5 SHA512 0f2d2dfbc976052a428dfeb597225d3ea3c725f584d05b99316bd4aa9cbf0ba5e1e37bcde71f9041975cf003b4fdb578c559adb144268d784bfd64494f451491

diff --git a/media-gfx/exiv2/exiv2-0.27.4-r2.ebuild b/media-gfx/exiv2/exiv2-0.27.4-r2.ebuild
deleted file mode 100644
index 7acbc098873..00000000000
--- a/media-gfx/exiv2/exiv2-0.27.4-r2.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999 ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	inherit git-r3
-else
-	SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-	S="${WORKDIR}/${P}-Source"
-fi
-
-CMAKE_ECLASS=cmake
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="https://www.exiv2.org/"
-
-LICENSE="GPL-2"
-SLOT="0/27"
-IUSE="+bmff doc examples nls +png test webready +xmp"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	doc? (
-		${PYTHON_DEPS}
-		app-doc/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	nls? ( sys-devel/gettext )
-"
-RDEPEND="
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	webready? (
-		>net-libs/libssh-0.9.1[sftp,${MULTILIB_USEDEP}]
-		net-misc/curl[${MULTILIB_USEDEP}]
-	)
-	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-"
-DEPEND="${DEPEND}
-	test? ( dev-cpp/gtest )"
-
-DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.27.4-gtest-1.11.patch
-)
-
-pkg_setup() {
-	use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	cmake_src_prepare
-
-	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DCMAKE_CXX_STANDARD=14
-		-DEXIV2_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_SSH=$(usex webready)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_BMFF=$(usex bmff)
-		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-	)
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && eninja doc
-	fi
-}
-
-multilib_src_test() {
-	if multilib_is_native_abi; then
-		cd "${BUILD_DIR}"/bin || die
-		./unit_tests || die "Failed to run tests"
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.27.4-gtest-1.11.patch b/media-gfx/exiv2/files/exiv2-0.27.4-gtest-1.11.patch
deleted file mode 100644
index bb368d367cb..00000000000
--- a/media-gfx/exiv2/files/exiv2-0.27.4-gtest-1.11.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://github.com/Exiv2/exiv2/pull/1722
-
-From f01805f68eb19f56b0415a50a1128cbbdd82bff4 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Fri, 18 Jun 2021 18:53:46 +0200
-Subject: [PATCH] Fix build with gtest 1.11
-
-INSTANTIATE_TYPED_TEST_CASE_P requires a non-empty prefix now
----
- unitTests/test_slice.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/unitTests/test_slice.cpp b/unitTests/test_slice.cpp
-index ccf80d98d..59171cfcf 100644
---- a/unitTests/test_slice.cpp
-+++ b/unitTests/test_slice.cpp
-@@ -440,12 +440,12 @@ REGISTER_TYPED_TEST_CASE_P(slice, atAccess, iteratorAccess, constructionFailsFro
-                            constMethodsPreserveConst);
- 
- typedef ::testing::Types<const std::vector<int>, std::vector<int>, int*, const int*> test_types_t;
--INSTANTIATE_TYPED_TEST_CASE_P(, slice, test_types_t);
-+INSTANTIATE_TYPED_TEST_CASE_P(slice, slice, test_types_t);
- 
- REGISTER_TYPED_TEST_CASE_P(mutableSlice, iterators, at);
- typedef ::testing::Types<std::vector<int>, int*> mut_test_types_t;
--INSTANTIATE_TYPED_TEST_CASE_P(, mutableSlice, mut_test_types_t);
-+INSTANTIATE_TYPED_TEST_CASE_P(slice, mutableSlice, mut_test_types_t);
- 
- REGISTER_TYPED_TEST_CASE_P(dataBufSlice, successfulConstruction, failedConstruction);
- typedef ::testing::Types<DataBuf&, const DataBuf&> data_buf_types_t;
--INSTANTIATE_TYPED_TEST_CASE_P(, dataBufSlice, data_buf_types_t);
-+INSTANTIATE_TYPED_TEST_CASE_P(slice, dataBufSlice, data_buf_types_t);


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2023-11-21 22:36 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2023-11-21 22:36 UTC (permalink / raw
  To: gentoo-commits

commit:     66125082f84df7dfc165559b8f0c1dffaf41582f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 21 20:13:25 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 21 22:19:56 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66125082

media-gfx/exiv2: Restore exiv2lib target

Closes: https://bugs.gentoo.org/917483
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/exiv2-0.28.1-r1.ebuild            | 132 ++++++++++++++++++++++
 media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch |  31 +++++
 2 files changed, 163 insertions(+)

diff --git a/media-gfx/exiv2/exiv2-0.28.1-r1.ebuild b/media-gfx/exiv2/exiv2-0.28.1-r1.ebuild
new file mode 100644
index 000000000000..a099676b0818
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.28.1-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="https://exiv2.org/"
+
+if [[ ${PV} == *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
+# We may be able to change it to $(ver_cut 1-2) once e.g.
+# https://github.com/Exiv2/exiv2/pull/917 is merged.
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+bmff doc examples nls +png test webready +xmp"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+	webready? (
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+	${DEPEND}
+	test? ( dev-cpp/gtest )
+"
+BDEPEND="
+	doc? (
+		${PYTHON_DEPS}
+		app-doc/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	test? ( ${PYTHON_DEPS} )
+	nls? ( sys-devel/gettext )
+"
+
+DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+
+# https://github.com/Exiv2/exiv2/pull/2832
+PATCHES=( "${FILESDIR}/${P}-exiv2lib.patch" ) # bug 917483
+
+pkg_setup() {
+	if use doc || use test ; then
+		python-any-r1_pkg_setup
+	fi
+}
+
+src_prepare() {
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	cmake_src_prepare
+
+	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_BUILD_SAMPLES=NO
+		-DEXIV2_ENABLE_BROTLI=OFF
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_INIH=OFF # multilib/libdir logic is broken
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		-DEXIV2_ENABLE_BMFF=$(usex bmff)
+
+		# We let users control this.
+		-DBUILD_WITH_CCACHE=OFF
+		# Our toolchain sets this by default.
+		-DBUILD_WITH_STACK_PROTECTOR=OFF
+
+		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+	)
+
+	if use doc || use test ; then
+		mycmakeargs+=(
+			-DPython3_EXECUTABLE="${PYTHON}"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+multilib_src_compile() {
+	cmake_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && eninja doc
+	fi
+}
+
+multilib_src_test() {
+	if multilib_is_native_abi; then
+		cd "${BUILD_DIR}"/bin || die
+		./unit_tests || die "Failed to run tests"
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch b/media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch
new file mode 100644
index 000000000000..dba8fd3e2896
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch
@@ -0,0 +1,31 @@
+From 4f6d0b806714a702ccbe9e10c5155eb6a1699380 Mon Sep 17 00:00:00 2001
+From: Pino Toscano <toscano.pino@tiscali.it>
+Date: Tue, 14 Nov 2023 07:23:32 +0100
+Subject: [PATCH] cmake: restore a "exiv2lib" target
+
+Commit a8c3455e5cd7ee65acc5f398581e1386f7df5108 and
+commit eb05551ed2d21079299f2f4da2f463df6857b884 changed the target of
+the exiv2 library ("exiv2lib"), exporting it in the "Exiv2" namespace,
+so making it usable as "Exiv2::exiv2lib" instead. An ALIAS to "exiv2lib"
+was added, however cmake does not install or export ALIAS targets [1].
+
+Hence, restore compatibility with the existing cmake users of exiv2:
+manually create an ALIAS target in the cmake config files after all the
+targets are loaded and checked.
+
+[1] https://cmake.org/cmake/help/latest/command/add_library.html
+---
+ cmake/exiv2Config.cmake.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/cmake/exiv2Config.cmake.in b/cmake/exiv2Config.cmake.in
+index 63c9362ff7..c9e2eba9b5 100644
+--- a/cmake/exiv2Config.cmake.in
++++ b/cmake/exiv2Config.cmake.in
+@@ -14,3 +14,6 @@ endif()
+ include("${CMAKE_CURRENT_LIST_DIR}/exiv2Export.cmake")
+ 
+ check_required_components(exiv2)
++
++# compatibility with non-aliased users
++add_library(exiv2lib ALIAS Exiv2::exiv2lib)


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2024-02-19 20:20 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2024-02-19 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     9e4e8555087b7cb392059bf12c79ac8549f383c4
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 20:18:42 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 19 20:19:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e4e8555

media-gfx/exiv2: add 0.28.2

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   1 +
 media-gfx/exiv2/exiv2-0.28.2.ebuild                | 131 +++++++++++++++++++++
 .../files/exiv2-0.28.2-errors-localisation.patch   |  23 ++++
 3 files changed, 155 insertions(+)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index e718292d55e6..0d500799da92 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1,2 @@
 DIST exiv2-0.28.1.tar.gz 45225200 BLAKE2B a26f8e54cf6284c56ff429c13d5a8985dc6181a36b4c13ea6f2e59bc00016a2a8d915ddbc0cedb441b8283e30f18312a500900ffd89ca984006ac84807a03852 SHA512 7b872a3c0cbe343014b1ca4618cecaf6ee8d78dec7ef83accfce95cb8eadc6b52116977a41e1f1be5c6149a47bdd9457fadc08d73708aa2a6ab69795fd3de23b
+DIST exiv2-0.28.2.tar.gz 45224206 BLAKE2B 9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e SHA512 197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b

diff --git a/media-gfx/exiv2/exiv2-0.28.2.ebuild b/media-gfx/exiv2/exiv2-0.28.2.ebuild
new file mode 100644
index 000000000000..c7e62ae426fc
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.28.2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="https://exiv2.org/"
+
+if [[ ${PV} == *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
+# We may be able to change it to $(ver_cut 1-2) once e.g.
+# https://github.com/Exiv2/exiv2/pull/917 is merged.
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+bmff doc examples nls +png test webready +xmp"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-libs/inih[${MULTILIB_USEDEP}]
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+	webready? (
+		net-misc/curl[${MULTILIB_USEDEP}]
+	)
+	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+"
+DEPEND="${DEPEND}
+	test? ( dev-cpp/gtest )
+"
+BDEPEND="
+	doc? (
+		${PYTHON_DEPS}
+		app-text/doxygen
+		dev-libs/libxslt
+		media-gfx/graphviz
+		virtual/pkgconfig
+	)
+	test? ( ${PYTHON_DEPS} )
+	nls? ( sys-devel/gettext )
+"
+
+DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+
+PATCHES=( "${FILESDIR}/${P}-errors-localisation.patch" )
+
+pkg_setup() {
+	if use doc || use test ; then
+		python-any-r1_pkg_setup
+	fi
+}
+
+src_prepare() {
+	# FIXME @upstream:
+	einfo "Converting doc/cmd.txt to UTF-8"
+	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+	cmake_src_prepare
+
+	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DEXIV2_BUILD_SAMPLES=NO
+		-DEXIV2_ENABLE_BROTLI=OFF
+		-DEXIV2_ENABLE_NLS=$(usex nls)
+		-DEXIV2_ENABLE_PNG=$(usex png)
+		-DEXIV2_ENABLE_CURL=$(usex webready)
+		-DEXIV2_ENABLE_INIH=ON # must be enabled (bug #921937)
+		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
+		-DEXIV2_ENABLE_XMP=$(usex xmp)
+		-DEXIV2_ENABLE_BMFF=$(usex bmff)
+
+		# We let users control this.
+		-DBUILD_WITH_CCACHE=OFF
+		# Our toolchain sets this by default.
+		-DBUILD_WITH_STACK_PROTECTOR=OFF
+
+		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+		$(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
+		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+	)
+
+	if use doc || use test ; then
+		mycmakeargs+=(
+			-DPython3_EXECUTABLE="${PYTHON}"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+multilib_src_compile() {
+	cmake_src_compile
+
+	if multilib_is_native_abi; then
+		use doc && eninja doc
+	fi
+}
+
+multilib_src_test() {
+	if multilib_is_native_abi; then
+		cd "${BUILD_DIR}"/bin || die
+		./unit_tests || die "Failed to run tests"
+	fi
+}
+
+multilib_src_install_all() {
+	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+
+	einstalldocs
+	find "${D}" -name '*.la' -delete || die
+
+	if use examples; then
+		docinto examples
+		dodoc samples/*.cpp
+	fi
+}

diff --git a/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch b/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch
new file mode 100644
index 000000000000..7799232d74a8
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch
@@ -0,0 +1,23 @@
+From a3985001b13132ce4841bf1170626f7ef8f9dae7 Mon Sep 17 00:00:00 2001
+From: Jim Easterbrook <jim@jim-easterbrook.me.uk>
+Date: Thu, 15 Feb 2024 16:41:35 +0000
+Subject: [PATCH] Restore localisation of error messages/exceptions
+
+Signed-off-by: Jim Easterbrook <jim@jim-easterbrook.me.uk>
+---
+ src/error.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/error.cpp b/src/error.cpp
+index c4ce1f2e01..135f4730d8 100644
+--- a/src/error.cpp
++++ b/src/error.cpp
+@@ -163,7 +163,7 @@ const char* Error::what() const noexcept {
+ }
+ 
+ void Error::setMsg(int count) {
+-  std::string msg{errList.at(static_cast<size_t>(code_))};
++  std::string msg{_(errList.at(static_cast<size_t>(code_)))};
+   auto pos = msg.find("%0");
+   if (pos != std::string::npos) {
+     msg.replace(pos, 2, std::to_string(static_cast<int>(code_)));


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/
@ 2024-10-07 23:06 Andreas Sturmlechner
  0 siblings, 0 replies; 18+ messages in thread
From: Andreas Sturmlechner @ 2024-10-07 23:06 UTC (permalink / raw
  To: gentoo-commits

commit:     8432d68de63518e773f1e17d23598d700641e9a9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  7 21:37:37 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct  7 23:06:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8432d68d

media-gfx/exiv2: drop 0.28.2-r1

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/exiv2/Manifest                           |   1 -
 media-gfx/exiv2/exiv2-0.28.2-r1.ebuild             | 130 ---------------------
 .../files/exiv2-0.28.2-errors-localisation.patch   |  23 ----
 3 files changed, 154 deletions(-)

diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index d2d876e53ed8..117da48992c6 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.28.2.tar.gz 45224206 BLAKE2B 9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e SHA512 197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b
 DIST exiv2-0.28.3.tar.gz 46480702 BLAKE2B 73ebdca376d69514a89261d2f78604c5d7ccbc6e73e5c5d61f8caa596fd6b60dd4d06df19cb9f93e402d9a76f1511955f77cfd74b407310a13952092ecfbf0ef SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049

diff --git a/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild b/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild
deleted file mode 100644
index ce29a0cec77b..000000000000
--- a/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake-multilib python-any-r1
-
-DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
-HOMEPAGE="https://exiv2.org/"
-
-if [[ ${PV} == *9999* ]]; then
-	EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="GPL-2"
-# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
-# We may be able to change it to $(ver_cut 1-2) once e.g.
-# https://github.com/Exiv2/exiv2/pull/917 is merged.
-SLOT="0/$(ver_cut 1-2)"
-IUSE="+bmff doc examples jpegxl nls +png test webready +xmp"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	dev-libs/inih[${MULTILIB_USEDEP}]
-	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-	jpegxl? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
-	nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
-	png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
-	webready? ( net-misc/curl[${MULTILIB_USEDEP}] )
-	xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
-	test? ( dev-cpp/gtest )
-"
-BDEPEND="
-	doc? (
-		${PYTHON_DEPS}
-		app-text/doxygen
-		dev-libs/libxslt
-		media-gfx/graphviz
-		virtual/pkgconfig
-	)
-	test? ( ${PYTHON_DEPS} )
-	nls? ( sys-devel/gettext )
-"
-
-DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-
-PATCHES=( "${FILESDIR}/${P}-errors-localisation.patch" )
-
-pkg_setup() {
-	if use doc || use test ; then
-		python-any-r1_pkg_setup
-	fi
-}
-
-src_prepare() {
-	# FIXME @upstream:
-	einfo "Converting doc/cmd.txt to UTF-8"
-	iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
-	mv -f doc/cmd.txt.tmp doc/cmd.txt || die
-
-	cmake_src_prepare
-
-	sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DEXIV2_BUILD_SAMPLES=NO
-		-DEXIV2_ENABLE_BROTLI=$(usex jpegxl)
-		-DEXIV2_ENABLE_NLS=$(usex nls)
-		-DEXIV2_ENABLE_PNG=$(usex png)
-		-DEXIV2_ENABLE_CURL=$(usex webready)
-		-DEXIV2_ENABLE_INIH=ON # must be enabled (bug #921937)
-		-DEXIV2_ENABLE_WEBREADY=$(usex webready)
-		-DEXIV2_ENABLE_XMP=$(usex xmp)
-		-DEXIV2_ENABLE_BMFF=$(usex bmff)
-
-		# We let users control this.
-		-DBUILD_WITH_CCACHE=OFF
-		# Our toolchain sets this by default.
-		-DBUILD_WITH_STACK_PROTECTOR=OFF
-
-		$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
-		$(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
-		-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-	)
-
-	if use doc || use test ; then
-		mycmakeargs+=(
-			-DPython3_EXECUTABLE="${PYTHON}"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-
-	if multilib_is_native_abi; then
-		use doc && eninja doc
-	fi
-}
-
-multilib_src_test() {
-	if multilib_is_native_abi; then
-		cd "${BUILD_DIR}"/bin || die
-		./unit_tests || die "Failed to run tests"
-	fi
-}
-
-multilib_src_install_all() {
-	use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
-
-	einstalldocs
-	find "${D}" -name '*.la' -delete || die
-
-	if use examples; then
-		docinto examples
-		dodoc samples/*.cpp
-	fi
-}

diff --git a/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch b/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch
deleted file mode 100644
index 7799232d74a8..000000000000
--- a/media-gfx/exiv2/files/exiv2-0.28.2-errors-localisation.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a3985001b13132ce4841bf1170626f7ef8f9dae7 Mon Sep 17 00:00:00 2001
-From: Jim Easterbrook <jim@jim-easterbrook.me.uk>
-Date: Thu, 15 Feb 2024 16:41:35 +0000
-Subject: [PATCH] Restore localisation of error messages/exceptions
-
-Signed-off-by: Jim Easterbrook <jim@jim-easterbrook.me.uk>
----
- src/error.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/error.cpp b/src/error.cpp
-index c4ce1f2e01..135f4730d8 100644
---- a/src/error.cpp
-+++ b/src/error.cpp
-@@ -163,7 +163,7 @@ const char* Error::what() const noexcept {
- }
- 
- void Error::setMsg(int count) {
--  std::string msg{errList.at(static_cast<size_t>(code_))};
-+  std::string msg{_(errList.at(static_cast<size_t>(code_)))};
-   auto pos = msg.find("%0");
-   if (pos != std::string::npos) {
-     msg.replace(pos, 2, std::to_string(static_cast<int>(code_)));


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-10-07 23:06 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-19 20:20 [gentoo-commits] repo/gentoo:master commit in: media-gfx/exiv2/, media-gfx/exiv2/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2024-10-07 23:06 Andreas Sturmlechner
2023-11-21 22:36 Andreas Sturmlechner
2021-11-10 10:45 Andreas Sturmlechner
2020-07-18  8:41 Andreas Sturmlechner
2019-11-14 15:59 Andreas Sturmlechner
2019-07-29 18:55 Andreas Sturmlechner
2019-06-23 20:58 Andreas Sturmlechner
2019-03-11  6:14 Michael Palimaka
2019-01-18 12:40 Andreas Sturmlechner
2018-10-29 10:14 Andreas Sturmlechner
2018-04-26  3:32 Andreas Sturmlechner
2018-04-25 17:54 Andreas Sturmlechner
2017-12-05 16:15 Andreas Sturmlechner
2017-10-18  0:35 Andreas Sturmlechner
2017-10-14  7:57 Andreas Sturmlechner
2017-10-13  8:48 Andreas Sturmlechner
2016-07-06 10:32 Michael Palimaka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox