summaryrefslogtreecommitdiff
path: root/media-gfx/exiv2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/exiv2
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/exiv2')
-rw-r--r--media-gfx/exiv2/Manifest23
-rw-r--r--media-gfx/exiv2/exiv2-0.25-r2.ebuild127
-rw-r--r--media-gfx/exiv2/exiv2-0.26.ebuild133
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch71
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch64
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fix-without-zlib.patch22
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fvisibility-hidden.patch19
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-hide-symbols.patch97
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch27
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-CVE-2017-9239.patch22
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake1.patch22
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake2.patch65
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake3.patch53
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake4.patch24
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake5.patch33
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake6.patch27
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-cmake7.patch38
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch70
-rw-r--r--media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch27
-rw-r--r--media-gfx/exiv2/metadata.xml19
20 files changed, 983 insertions, 0 deletions
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
new file mode 100644
index 000000000000..4b538802c5c5
--- /dev/null
+++ b/media-gfx/exiv2/Manifest
@@ -0,0 +1,23 @@
+AUX exiv2-0.25-fix-docs.patch 2164 SHA256 8d50b058fcaefc15455cae9c5e5edb2a5217acfe1c8de7f4d572bc3cfa2f17cd SHA512 be4e2077a52f54384ef6660e045c6eedda06bdacc3ca804cc6b9554b47be717bf50c4ac1ca42fa452f204e784a2f863ffba7276b17342bde67f9a53db5749d8b WHIRLPOOL 60f86dddcbe67f63ddb7d0332be05505024878c5cbbee99c8a4c9567906e9da94b95b64a7655f913f5e86a4e0917c849840f8d9e91eb1864cdfb095d7c844412
+AUX exiv2-0.25-fix-install-dirs.patch 2415 SHA256 a627484a3960071f01eb6f656f9af0f9a0b2771d9d9f6cd8a3429f378823a48a SHA512 402f9aacb8b6af95e94ea3d31f0c438da4407fc037004a3e99408ba5cce8cde5dd1d0c98d1e619fff56b0051516e20610a98899e5ff22d00b3827384f82e7493 WHIRLPOOL f58aa8122e207f0271a7f3a0fb6ff0297b630e187a65622ea55b0159d03acbbf09132f8a6c836485730ec5a4d085ad55e53dfe86fe08e47b449f44b68bb28a5f
+AUX exiv2-0.25-fix-without-zlib.patch 662 SHA256 66618de00ba07ec660675e2dff99138ba56fb0a8cbdab6a8a024b4f3ca93db3c SHA512 c15173bc687c2008a1e3cd04623167dd085f3e9f7655107fc75880df3d5bb51688572d2d3fc7a722763eaa5ff45bcb769f4090c615f8b3ffbf6d0417dccab8d0 WHIRLPOOL d2842c00569f578b41f543f944757b72963ac4d521017701db75c630ead80295bbb8fc39091f6ac34661e21b6910ef78d12db6f35659d79e1c25ec437d0ef7d7
+AUX exiv2-0.25-fvisibility-hidden.patch 700 SHA256 2d0eb374e3df7dd58a513b616786e9421f63e575c2812d0b3980e0af29d03d96 SHA512 7dd251fa6e09ecc0493899fdc24431f636e56bf86d33fd4cf4b46fc27b14ce7a68cb4021a3799260398f48b256f403e00b86d143a012d3871e0de5bf57db9205 WHIRLPOOL af10468fad08e51f16141e70409e5ec718d5d669db8203df6a09de2fd824eb46376f87195cf1e744c60c567943c24d54afe388d54eeb5c240f876ebbcbd59514
+AUX exiv2-0.25-hide-symbols.patch 4098 SHA256 b6fe63951717360caad547275c3810c42803ef2d8dea25c75e02b45b9d7add9e SHA512 aed6746329b12769d8084ca79a99eccd6b52449b80c0b3d1c1d6b22294c2b62398366f0715efa207e2ace0ed52740a8eb81af58d17322d42a4674336fd24e725 WHIRLPOOL ac8e900303ac0b19f24b5eff13791dd42459395763d4c8795ff978c1f2c05431b3f3586dedd2b7df375452d3826d7356fc190c4ba3bc8fc4713792bc9d31d033
+AUX exiv2-0.25-tools-optional.patch 1332 SHA256 6c9a3ed5c2b9acff10c3b2f2dd2ca639936beaf6263526b9d85ede579a1d67e1 SHA512 14a8703b86dc4a7a1f210e26bd6532c529f850dd1b25ef116c703a576c389a120e3f8b1087e289cd8b44073071ac88a97503dc2c0cf72f21d32094b2cabbc58c WHIRLPOOL dc7efa7ddcaf1be665cd79aff0b36a0f2b135a87a3a93f9cb6091105b965b4b009e569c447d54d602482410ec59d674d99a71bee2699e8007575b8e2cc727998
+AUX exiv2-0.26-CVE-2017-9239.patch 738 SHA256 014407dc03154c12675d66368b9e5674bc761bd77102665bb4ccbbc1561b8098 SHA512 f6d3c081ca145bc9614fff83d59512329bb30b19010be16484c0d341c6c7167195c98131458b9427ef0afd9cf0bd1f1cdd10b0cfd689322327bd685759bd125f WHIRLPOOL 724b65d05228677d6d9493489d0e9882308e1a5fdef502528c80676767c582fe9ff828d50b67b447ba57b0c114926143c5ca9864e04e3b4dcfd6118a2e06daf9
+AUX exiv2-0.26-cmake1.patch 805 SHA256 ce6797ef659aad6ad0687ea7236d193a22552c4c91855f486216371de0608f2e SHA512 5b99674cdf01ab712df2f743487be1afd5a5751133222d13eaab36ce9e0b86c9c89eb8a09244eb521a60bce12081dbefb6b867aab75158df193d80965a0f0681 WHIRLPOOL 734fcdb96037486a7ec834ecf1f90d3e63e35ef22efd832e787e2e6efa8a9d59923311e46ff6486acd96668c0245f2ac0de620ea35e75665fce9a34c9caa401e
+AUX exiv2-0.26-cmake2.patch 2781 SHA256 f5b4404a124e2fb11e2c363973c25bbc91c1da9787822f9f1a3252ef2bf0224b SHA512 2ff6baad558ff79ec514a9bd78adb01d1c894d51713a5f98573c7e60356b90ed5f9ad462c43f6454874e2e775f61edf38a5881eb9526c5c9cd5543af0777e543 WHIRLPOOL 297cb349e63e9fb9a696c3e60de6e8d1c547b7f163abff6aeabe7687d6bc1c643b0a0166438f544ba33c02b285029244b339b0963afe894cd736175c9b7c1f87
+AUX exiv2-0.26-cmake3.patch 2040 SHA256 14c67fe154053c72d41696546b998c320129190dc3b43471b25731d71c9e7c19 SHA512 98c63cbe51126090835b2422433af625cea683d89d3d4e822191bfa19633ff1e4b98b41356dd9f2326c4e30c34faa80b9408ed488644575ab5cbf8f5477f6d8f WHIRLPOOL 9065ff20231c6dc36a8314e0cbf36237d2b6acaceea69cfe16ec616a3e53b99fd756305e1fd771c4e2c1349a051ea2d875374f8bea67ef9049e677803fcc390d
+AUX exiv2-0.26-cmake4.patch 783 SHA256 fee765278dc3bdc11b0d140e2e082ef29209aa78d591808ecf608434be87deda SHA512 e2a197fcf1255e02d1ce35a3d9428f40533fad8dcbac39f17b8b5d3f2b365479e202c9fca3b969b6f16ab3e58ff2d8654b85308536e5acec3ba8d7af38fc17a0 WHIRLPOOL 8b28f0bd49bd4af64a8638bffbe977aa9feb257f9cf8c2075493b4e56aa6065c8e475ce33f988575e1b2b90030abd179902682537f00576cddb7069f0aa32607
+AUX exiv2-0.26-cmake5.patch 1066 SHA256 aa7fcff3eace01ac2faf9a901fa2ebd3949d1ae4836bcfc884a119b394c083b5 SHA512 6ac55cd0d73b484357b84b07f0e059f239e717a32d0cb4acec23522ac23546374f13edbb5306fe1acf7d75049ee642f4c6e851fb1dc0b38bec5feecfd4efbb0f WHIRLPOOL 11118cc7bc6a753700b6a1dd381c67ef883fab4c64ee1f5248b641bf265081994b99d88147d4fdaf208ebe4dab91f8488e4fa105919d3f0ab984ead146cdc3f7
+AUX exiv2-0.26-cmake6.patch 973 SHA256 4a167f386a87f261481b5544844aa26c61386bb77e702407f21490b052b866aa SHA512 d32b2d8856651ec168732367c5d7c65131e9301fb899bf7ce018b68d783d66120b99fff624ce3c37b36c5aa1682d5cdde74adf232c11807f496cff987bf478a7 WHIRLPOOL 6060e8c85a6f953a4853bbdedfd85c2dbd3c9943c972d9b0612239017886d78bf2db50fc1a2474aad949d03079e9adc8254307598e3dd734af015b7133d2c004
+AUX exiv2-0.26-cmake7.patch 1328 SHA256 a882283ea89183c4a415b9816cf03daa80683ea5a85c5a78c7b430f1b602f293 SHA512 f500dd7cf0520d5cdb177a33554329d7da0f9895a1d04e1fd2d91e37814df61901b13f7e9c33b245fa4ad9cd6b7361cf289af868363187f9917691366a6672a3 WHIRLPOOL 661b44e517138b93c2633f13507c3ec67ac1308b7b794731996bde75cf83fce3ef315287fdff4dc2a418253c94ecfb38f73ea96e9599bc124e80a7a0e89d15c7
+AUX exiv2-0.26-fix-docs.patch 2147 SHA256 6cdab606c6fb6ddc7913fd311d9051946f97c1de5dabac614e934e704ea4c7ca SHA512 fa2f35d00df2fd1d958e1139e7b8fe0dd0c0f7f6fe5295b2ac5b0a156ae68af9e275e23c943929c90315a99e3116376a4e21e384c1bb219b3d5b657ac12165ec WHIRLPOOL 5e70a648303cab83e6265c064e94144d65421bc9cf514744b624a6af466cce1827c983664ee71f78431919d47370f2f9d17931aa96941c2079826232687ab78c
+AUX exiv2-0.26-tools-optional.patch 1276 SHA256 5df66e4cbf15b911b4c05bb9240452f64f9e4c84bd04e7e516ef34bd43c3e849 SHA512 23e797e76cedf6c4a2025e0d6d2f7301d8e13adcbb836660fe2568eeb94348c6cac649284789551f97a69790271936b6412ff7d1416ee95a87851624b317e4c9 WHIRLPOOL c7f32aa72c9051c69cb54176335ab05258aca72f9cd658fd323873bd7d3f8db5fd0b10f9940b5ee5bb3d1c84902a59a73087f510db37542b100c5fd9d8f755fb
+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
+EBUILD exiv2-0.25-r2.ebuild 3067 SHA256 74c21aab30f50186256977871d495681c93e41c8044adc052c518a49b42e1fdd SHA512 30a8a1afbb91ec8b226ea16621cacbd9726f31cd9ebddfda4c7771786a4902123b5674ac9221c990b99464eb0d471f694bf57eebc7e3a22d65ad5e61f4805dfc WHIRLPOOL fc5b37699ba112488230aa7fdd8913318e7527c772cb214b87ecd612775f3fffd6686b8db1baee3dc949fbf8ce856607205776aaea50cf67634b6bb7c74f2b0f
+EBUILD exiv2-0.26.ebuild 3363 SHA256 cc7d95cf155021fea575a0ac2f11cba28a13670e900a4f637b9e665b3b4a0f01 SHA512 48fadc26522fd3ac2a7023cfb36b39cf77cd3b24d82bf2b264d4c8c0770ddcca1a8c4fe6416aa25545c8e2e083afa3ca0093de3e0a6c310b7a6ca8afd5e96695 WHIRLPOOL 9faa17bcf438d3f7cffe67985b30729b7e4726b0344df74342537c3d8c143304fa0326ff6de7845cffa236d6b6662d634bc25f919951d4062f17db16d5905c89
+MISC ChangeLog 6407 SHA256 169192c62c5737f3e30c0f97815a85216ef6c50714d94759089db57cc60468c4 SHA512 dbadbe62c5c985e88553f788bf6b22c98f9c4001d53882d8cff3a0e7fd23aa49dbc9e9dc72854578e711f5041f2f0182226d236946042f349a9ebc015b2a89fb WHIRLPOOL eb2926f593eb897554b5e4c77d4287f7718134e5d88b56ba4c48161d04834a8cd706989b456ba1c707303d6603270ae4cfb6d358c8c2f91bc8f3209caa9e2947
+MISC ChangeLog-2015 18145 SHA256 5a973e551b2244f4f36a767d98cf41bc8bb61789fc40a7809cc5a98ebe80097d SHA512 3d54f43d175e49db9e5d727eadd616fbae08e2fd1017ea6382b818bf6ec300b782d62eb037b4859b190996e63fb963da4eb7862c00c5f24fee7da05a875d69f2 WHIRLPOOL 2ed9a6717cf228be16bd1aaf6cf4820b02afbd77952685c4d8fe7cb49707c61f504c05053bcb5223626ce9b0ea22ea9e7d308b35a7a80a0c15676b9f8ca5af8c
+MISC metadata.xml 612 SHA256 2700f3a6eb0fea03635790e9e55611f58a19dace74c70d0e0106bd70ef825c60 SHA512 9b4926ba8420a125dc4cefd351ee1ec10a4df2fc4306a56720f6e8de7c5fd9f36a8646c8583958fca9a45ebe1b65b19c053c7da37176546bc19ae64afa87e4f5 WHIRLPOOL 0996d01f595fe4ab40a65fcc19d2eced4dc31a1c8efddddca353828447ff3ca974499dcc81482d47a3470d9530a1886abde9acfaa2ac75df0e845f1a70402056
diff --git a/media-gfx/exiv2/exiv2-0.25-r2.ebuild b/media-gfx/exiv2/exiv2-0.25-r2.ebuild
new file mode 100644
index 000000000000..5f2ca76c7da1
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.25-r2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+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 ~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-install-dirs.patch"
+ "${FILESDIR}/${PN}-0.25-fix-without-zlib.patch"
+ "${FILESDIR}/${PN}-0.25-hide-symbols.patch"
+ "${FILESDIR}/${PN}-0.25-fvisibility-hidden.patch"
+ # TODO: Take to upstream
+ "${FILESDIR}/${PN}-0.25-fix-docs.patch"
+ "${FILESDIR}/${PN}-0.25-tools-optional.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/exiv2-0.26.ebuild b/media-gfx/exiv2/exiv2-0.26.ebuild
new file mode 100644
index 000000000000..c63f2a26e986
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.26.ebuild
@@ -0,0 +1,133 @@
+# 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.25-fix-docs.patch b/media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch
new file mode 100644
index 000000000000..e2bf677b5125
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch
@@ -0,0 +1,71 @@
+--- 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
+@@ -20,7 +20,11 @@
+ endif()
+ 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 @@
+ SET_TARGET_PROPERTIES( exiv2json PROPERTIES OUTPUT_NAME exiv2json )
+ TARGET_LINK_LIBRARIES( exiv2json exiv2lib )
+ INSTALL( TARGETS exiv2json ${INSTALL_TARGET_STANDARD_ARGS} )
++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.25-fix-install-dirs.patch b/media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch
new file mode 100644
index 000000000000..bca79dd4d471
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch
@@ -0,0 +1,64 @@
+USE GNUInstallDirs to fix man page and multilib install
+
+See also: http://dev.exiv2.org/issues/1125
+Patch based on: http://pkgs.fedoraproject.org/cgit/exiv2.git/tree/exiv2-0.25-cmake_LIB_SUFFIX.patch
+
+--- b/config/CMakeChecks.txt 2015-07-19 14:23:11.606686135 +0200
++++ b/config/CMakeChecks.txt 2015-06-22 08:41:22.913094633 -0500
+@@ -37,6 +37,8 @@
+ INCLUDE( CheckCSourceCompiles )
+ INCLUDE( CheckCXXSourceCompiles )
+
++INCLUDE( GNUInstallDirs )
++
+ INCLUDE( FindIconv )
+
+ SET( STDC_HEADERS ON )
+@@ -289,9 +291,9 @@
+
+ IF( NOT MSVC )
+ CONFIGURE_FILE( config/exiv2.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc @ONLY )
+- INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION lib/pkgconfig )
++ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
+ CONFIGURE_FILE( config/exiv2.lsm.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm)
+- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm DESTINATION lib/pkgconfig )
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
+ ENDIF( NOT MSVC )
+
+ # ******************************************************************************
+--- a/src/CMakeLists.txt 2015-07-19 14:06:54.104906589 +0200
++++ b/src/CMakeLists.txt 2015-07-19 14:12:37.982607526 +0200
+@@ -321,7 +321,7 @@
+
+ # ******************************************************************************
+ # Man page
+-INSTALL( FILES exiv2.1 DESTINATION man/man1 )
++INSTALL( FILES exiv2.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
+
+ # That's all Folks!
+ ##
+--- a/CMakeLists.txt 2015-06-15 10:32:21.000000000 -0500
++++ b/CMakeLists.txt 2015-06-22 08:48:19.486245765 -0500
+@@ -25,7 +25,7 @@ if( POLICY CMP0042 )
+ else()
+ SET(CMAKE_MACOSX_RPATH 1)
+ endif()
+-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+
+ SET( PACKAGE_COPYRIGHT "Andreas Huggel" )
+@@ -156,10 +156,10 @@ INCLUDE( config/CMakeChecks.txt )
+
+ SET( INSTALL_TARGET_STANDARD_ARGS
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+ ##
+ # add sources from XMPSDK directory
diff --git a/media-gfx/exiv2/files/exiv2-0.25-fix-without-zlib.patch b/media-gfx/exiv2/files/exiv2-0.25-fix-without-zlib.patch
new file mode 100644
index 000000000000..c6d435d68bb8
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fix-without-zlib.patch
@@ -0,0 +1,22 @@
+Fix exiv2.hpp if built with PNG support disabled (--without-zlib)
+
+Fixed upstream in >=0.26
+
+See also: http://dev.exiv2.org/issues/1103
+Gentoo bug 1: https://bugs.gentoo.org/show_bug.cgi?id=552046
+Gentoo bug 2: https://bugs.gentoo.org/show_bug.cgi?id=535836
+
+Index: exiv2.hpp
+===================================================================
+--- a/include/exiv2/exiv2.hpp (revision 3887)
++++ b/include/exiv2/exiv2.hpp (revision 3888)
+@@ -52,7 +52,9 @@
+ #include "mrwimage.hpp"
+ #include "orfimage.hpp"
+ #include "pgfimage.hpp"
++#ifdef EXV_HAVE_LIBZ
+ #include "pngimage.hpp"
++#endif
+ #include "preview.hpp"
+ #include "properties.hpp"
+ #include "psdimage.hpp"
diff --git a/media-gfx/exiv2/files/exiv2-0.25-fvisibility-hidden.patch b/media-gfx/exiv2/files/exiv2-0.25-fvisibility-hidden.patch
new file mode 100644
index 000000000000..26c5c1d39d74
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fvisibility-hidden.patch
@@ -0,0 +1,19 @@
+Index: CMakeLists.txt
+===================================================================
+--- a/xmpsdk/CMakeLists.txt (revision 3974)
++++ b/xmpsdk/CMakeLists.txt (revision 3975)
+@@ -20,6 +20,14 @@
+ ENDIF(NOT MSVC AND NOT CYGWIN AND NOT MSYS)
+ ENDFOREACH()
+
++if(NOT MSVC)
++ # http://stackoverflow.com/questions/10046114/in-cmake-how-can-i-test-if-the-compiler-is-clang
++ if ( NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
++ # 1123 - hide xmpsdk symbols
++ add_definitions( -fvisibility=hidden -fvisibility-inlines-hidden )
++ endif()
++endif()
++
+ IF( EXIV2_ENABLE_XMP AND EXIV2_ENABLE_LIBXMP )
+ ADD_LIBRARY( xmp STATIC ${XMPSRC} )
+ GET_TARGET_PROPERTY( XMPLIB xmp LOCATION )
diff --git a/media-gfx/exiv2/files/exiv2-0.25-hide-symbols.patch b/media-gfx/exiv2/files/exiv2-0.25-hide-symbols.patch
new file mode 100644
index 000000000000..7c8613db5e82
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-hide-symbols.patch
@@ -0,0 +1,97 @@
+Index: a/samples/CMakeLists.txt
+===================================================================
+--- a/samples/CMakeLists.txt (revision 3972)
++++ b/samples/CMakeLists.txt (revision 3973)
+@@ -52,7 +52,7 @@
+ STRING( REPLACE ".cpp" "" target ${entry})
+ ADD_EXECUTABLE( ${target} ${target}.cpp )
+ ADD_TEST( ${target}_test ${target} )
+- TARGET_LINK_LIBRARIES( ${target} exiv2lib )
++ TARGET_LINK_LIBRARIES( ${target} PRIVATE exiv2lib ${EXPAT_LIBRARIES})
+ #INSTALL( TARGETS ${target} ${INSTALL_TARGET_STANDARD_ARGS} )
+ ENDFOREACH(entry ${SAMPLES})
+
+Index: a/src/CMakeLists.txt
+===================================================================
+--- a/src/CMakeLists.txt (revision 3972)
++++ b/src/CMakeLists.txt (revision 3973)
+@@ -240,20 +240,20 @@
+
+ if ( MSVC )
+ source_group("Header Files" FILES ${LIBEXIV2_HDR} )
+- TARGET_LINK_LIBRARIES( exiv2lib ${EXPAT_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
+ source_group("Header Files" FILES ${LIBCURL_HDR} )
+- TARGET_LINK_LIBRARIES( exiv2lib ${CURL_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
+ source_group("Header Files" FILES ${SSH_HDR} )
+- TARGET_LINK_LIBRARIES( exiv2lib ${SSH_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
+ else()
+ if ( NOT MINGW )
+- TARGET_LINK_LIBRARIES( exiv2lib dl ${EXPAT_LIBRARIES} )
+- TARGET_LINK_LIBRARIES( exiv2lib dl ${CURL_LIBRARIES} )
+- TARGET_LINK_LIBRARIES( exiv2lib dl ${SSH_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${EXPAT_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${CURL_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${SSH_LIBRARIES} )
+ else()
+- TARGET_LINK_LIBRARIES( exiv2lib ${EXPAT_LIBRARIES} )
+- TARGET_LINK_LIBRARIES( exiv2lib ${CURL_LIBRARIES} )
+- TARGET_LINK_LIBRARIES( exiv2lib ${SSH_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
+ endif()
+ endif()
+
+@@ -262,33 +262,33 @@
+ if ( MSVC )
+ LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH}/$(ConfigurationName))
+ endif(MSVC)
+- TARGET_LINK_LIBRARIES( exiv2lib xmp )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE xmp )
+ ENDIF()
+
+ IF( EXIV2_ENABLE_PNG )
+ IF( ZLIB_FOUND )
+ IF( MSVC )
+ if ( EXIV2_ENABLE_SHARED )
+- TARGET_LINK_LIBRARIES( exiv2lib optimized ${ZLIB_LIBRARIES} debug ${ZLIB_LIBRARIES}d )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE optimized ${ZLIB_LIBRARIES}.lib debug ${ZLIB_LIBRARIES}d.lib )
+ else()
+- TARGET_LINK_LIBRARIES( exiv2lib optimized zlibstatic.lib debug zlibstaticd.lib )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE optimized zlibstatic.lib debug zlibstaticd.lib )
+ endif()
+ ELSE()
+- TARGET_LINK_LIBRARIES( exiv2lib ${ZLIB_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ZLIB_LIBRARIES} )
+ ENDIF()
+ ENDIF()
+ ENDIF()
+
+ IF( EXIV2_ENABLE_NLS )
+- TARGET_LINK_LIBRARIES( exiv2lib ${LIBINTL_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${LIBINTL_LIBRARIES} )
+ ENDIF( EXIV2_ENABLE_NLS )
+
+ IF( ICONV_FOUND )
+- TARGET_LINK_LIBRARIES( exiv2lib ${ICONV_LIBRARIES} )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ICONV_LIBRARIES} )
+ ENDIF( ICONV_FOUND )
+
+ IF (CYGWIN OR MINGW)
+- TARGET_LINK_LIBRARIES( exiv2lib psapi )
++ TARGET_LINK_LIBRARIES( exiv2lib PRIVATE psapi )
+ ENDIF(CYGWIN OR MINGW)
+
+
+@@ -303,7 +303,7 @@
+ # ******************************************************************************
+ # connection test application
+ ADD_EXECUTABLE( conntest ${CONNTEST} )
+-TARGET_LINK_LIBRARIES( conntest exiv2lib )
++TARGET_LINK_LIBRARIES( conntest PRIVATE exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES})
+
+ # ******************************************************************************
+ # exifprint application
diff --git a/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch b/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch
new file mode 100644
index 000000000000..2bb030a4c4f2
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch
@@ -0,0 +1,27 @@
+--- a/CMakeLists.txt 2015-06-15 17:32:21.000000000 +0200
++++ b/CMakeLists.txt 2015-10-04 14:37:05.319679836 +0200
+@@ -55,6 +55,7 @@
+ OPTION( EXIV2_ENABLE_WEBREADY "Build webready support into library" OFF )
+ OPTION( EXIV2_ENABLE_CURL "USE Libcurl for HttpIo" ON )
+ OPTION( EXIV2_ENABLE_SSH "USE Libssh for SshIo" ON )
++OPTION( EXIV2_ENABLE_TOOLS "Build exiv2 executable" ON )
+
+ IF( MINGW OR UNIX )
+ IF ( CMAKE_CXX_COMPILER STREQUAL "g++" OR CMAKE_C_COMPILER STREQUAL "gcc" )
+--- a/src/CMakeLists.txt 2015-06-14 11:12:19.000000000 +0200
++++ b/src/CMakeLists.txt 2015-10-04 14:33:27.784399402 +0200
+@@ -296,9 +296,11 @@
+
+ # ******************************************************************************
+ # exiv2 application
+-ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} )
+-TARGET_LINK_LIBRARIES( exiv2 exiv2lib )
+-INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++IF( EXIV2_ENABLE_TOOLS )
++ ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} )
++ TARGET_LINK_LIBRARIES( exiv2 exiv2lib )
++ INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++ENDIF( EXIV2_ENABLE_TOOLS )
+
+ # ******************************************************************************
+ # connection test application
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
new file mode 100644
index 000000000000..2a3e20c9fac2
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-CVE-2017-9239.patch
@@ -0,0 +1,22 @@
+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
new file mode 100644
index 000000000000..672017e404b6
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake1.patch
@@ -0,0 +1,22 @@
+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
new file mode 100644
index 000000000000..76a194424866
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake2.patch
@@ -0,0 +1,65 @@
+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
new file mode 100644
index 000000000000..7a78d1c8bd86
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake3.patch
@@ -0,0 +1,53 @@
+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
new file mode 100644
index 000000000000..3824a5740005
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake4.patch
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 000000000000..0df4a19689fb
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake5.patch
@@ -0,0 +1,33 @@
+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
new file mode 100644
index 000000000000..105b5889fea6
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake6.patch
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 000000000000..0eff32a80d57
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-cmake7.patch
@@ -0,0 +1,38 @@
+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
new file mode 100644
index 000000000000..a88867173df7
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-fix-docs.patch
@@ -0,0 +1,70 @@
+--- 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
new file mode 100644
index 000000000000..045e9dc58f03
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26-tools-optional.patch
@@ -0,0 +1,27 @@
+--- 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
diff --git a/media-gfx/exiv2/metadata.xml b/media-gfx/exiv2/metadata.xml
new file mode 100644
index 000000000000..934a5a602c59
--- /dev/null
+++ b/media-gfx/exiv2/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>graphics@gentoo.org</email>
+ <name>Gentoo Graphics Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Exiv2 is a C++ library and command line utility to read and
+ write EXIF, IPTC and XMP image metadata.
+ </longdescription>
+ <use>
+ <flag name="webready">Support reading metadata over the internet</flag>
+ </use>
+</pkgmetadata>