summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Briesenick <sbriesen@gentoo.org>2013-01-24 22:09:33 +0000
committerStefan Briesenick <sbriesen@gentoo.org>2013-01-24 22:09:33 +0000
commit7a482d03b90515d859130fbf64102cd5570b613c (patch)
tree9996dc84b4c64ca3ab2027f1b9f1538789f086b7 /media-gfx/exiv2
parentStable for x86, wrt bug #452950 (diff)
downloadhistorical-7a482d03b90515d859130fbf64102cd5570b613c.tar.gz
historical-7a482d03b90515d859130fbf64102cd5570b613c.tar.bz2
historical-7a482d03b90515d859130fbf64102cd5570b613c.zip
revbump with patches from Bug #437432.
Package-Manager: portage-2.2.0_alpha151/cvs/Linux x86_64 Manifest-Sign-Key: 0xBB6C42C7
Diffstat (limited to 'media-gfx/exiv2')
-rw-r--r--media-gfx/exiv2/ChangeLog10
-rw-r--r--media-gfx/exiv2/Manifest36
-rw-r--r--media-gfx/exiv2/exiv2-0.23-r1.ebuild116
-rw-r--r--media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch182
4 files changed, 325 insertions, 19 deletions
diff --git a/media-gfx/exiv2/ChangeLog b/media-gfx/exiv2/ChangeLog
index 0b0a39a187a9..ea8d0eb91861 100644
--- a/media-gfx/exiv2/ChangeLog
+++ b/media-gfx/exiv2/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-gfx/exiv2
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.102 2012/07/02 21:51:47 sbriesen Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/ChangeLog,v 1.103 2013/01/24 22:09:25 sbriesen Exp $
+
+*exiv2-0.23-r1 (24 Jan 2013)
+
+ 24 Jan 2013; Stefan Briesenick <sbriesen@gentoo.org> +exiv2-0.23-r1.ebuild,
+ +files/exiv2-0.23-boost-fs-contrib.patch:
+ revbump with patches from Bug #437432.
02 Jul 2012; Stefan Briesenick <sbriesen@gentoo.org> exiv2-0.19.ebuild,
exiv2-0.21.1-r1.ebuild, exiv2-0.21.1-r2.ebuild, exiv2-0.23.ebuild:
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 8e9d2b6b2dd5..0fbbcd79da44 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,23 +1,25 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
-AUX exiv2-0.19-syntax-fix.patch 598 RMD160 f59d55322ee8d945bc1a604d28952269a7fa6026 SHA1 a0147e32756f1036c6631d14d79b06d270213e1f SHA256 41a6fe03d35fca3ad46c43776d682ab9acc0a395ecb5261fd6c550a7dc2a07c3
-AUX exiv2-0.21.1-time-fix.patch 1979 RMD160 28a27ed38a171820b8e6d98af13b941f0ae554c5 SHA1 cc6dd00ac2e2cde48a50c418c0e5890cffa9f81a SHA256 7ea4fe457dae5ff41090eafedb9c6e181c4dd4f214ec49a958e6cce73f790b46
-DIST exiv2-0.19.tar.gz 2658781 RMD160 263267fb75341a6eb60e5201b88bfea11ef18eea SHA1 4ab8d830094f2842bc286d8e7fb03100ca7f07b1 SHA256 1733dab5e81d9cf4e0b3d6eeed009103e5baff4fecfc127ecee016b3a67c51ef
-DIST exiv2-0.21.1.tar.gz 3004521 RMD160 8eaddf863500c391d2d779747b24d6eb004b1d9f SHA1 d33e0efbad5d6a7af7f2e6d1d0beb6e7c941cfca SHA256 2edae035760f84afdfebdf3123a166e6bbf77870697afe54dea92a783f041817
-DIST exiv2-0.23.tar.gz 3524381 RMD160 ac58f8b5df70ee56c49d387f0666e5e2578d942e SHA1 5f342bf642477526f41add11d6ee7787cdcd639f SHA256 81fa50900be7ab16e24c6551252c21fc97abcfe855fd32c8f7ec55f398786b11
-EBUILD exiv2-0.19.ebuild 2955 RMD160 24528a97b1fcd4d12a1aeebdd5f021f52f0e1ba2 SHA1 883b5f70728117763a6165157eda42728e3b123c SHA256 5a09fdbf3711f4c85be35571813d43740f7e3ebb833b0817232331843b0cfe94
-EBUILD exiv2-0.21.1-r1.ebuild 3567 RMD160 aa4430dd75b123be4b3ac8cade9402cf00f0501f SHA1 cfac812f67aad479180b86b4451cf2e31e04fb1d SHA256 160bf41b212f97605043dca6934ca1a40110b57e9695d5a5052b9c1c38e20096
-EBUILD exiv2-0.21.1-r2.ebuild 3580 RMD160 30836a6ea581f1f4999bb0a658423aef81e55cab SHA1 33234464978b1b742fdc2eac0089db7e3bd4a1e8 SHA256 e1d693687f31324d02baf9ba54642d0c4b7f56bd9f592e264588f9f39f439fd5
-EBUILD exiv2-0.23.ebuild 3207 RMD160 3ab62fee992a6618370d476995e7cc28ac5b096a SHA1 f6d903a376e78a77a0ab7ff6c11e557929e9dd08 SHA256 6eea699245abf7529d1f9a30bb274073f7f2ed9090f03332765f31d5e2e72b8e
-MISC ChangeLog 13245 RMD160 f3e66eb12d73ef963ac3938e70531af694fc6861 SHA1 61ab714d8361cdb95f3f0f4de2a774eafddac0f2 SHA256 037aee75630020e8d5aafd3b8bac0bf91aa054ae4e6478a644dd8e201b4cc9a4
-MISC metadata.xml 477 RMD160 c1155e7b7fa784b9b7e7143f9a92e99db6555cdb SHA1 e1cf026778c308bd737ab7f966feecd8c78c80c1 SHA256 17d43fc6d100a119edc3345bf1da39ee04b1e9f8d54b78c2deb05801b2ea79be
+AUX exiv2-0.19-syntax-fix.patch 598 SHA256 41a6fe03d35fca3ad46c43776d682ab9acc0a395ecb5261fd6c550a7dc2a07c3 SHA512 a875de06cac4dd703f91d0c1eeb692e0cd5b9597e3a53a2592e181dcbd708b694a91b7281eb71c76e8a881ef345ac1b1b572c9acf1112852eeadea45bcc6dad3 WHIRLPOOL 04170978c5566d65f8920bb27130016ee9242a8b25e237a15bf98061b965278b30a5ccefa1748bd00123a0ac99357e7b97b96d7abc38676336f0d89432d6d09f
+AUX exiv2-0.21.1-time-fix.patch 1979 SHA256 7ea4fe457dae5ff41090eafedb9c6e181c4dd4f214ec49a958e6cce73f790b46 SHA512 ec31644424b1a1be3cf4ecf1b46c5c34ae28813f6856020483a00bfbe258dafa44029b77b021b5d984940241c9a8fc4e120691adac6296abbb11f3b8f3cde217 WHIRLPOOL a47b7f0cc671291c39610ce067a6787269eb36d33027eaf58fac54ca4cb1bc6a7fcfa5733ba470992f7f29064cac05b452fcd3e48183ecc5f2c531f5891a78d9
+AUX exiv2-0.23-boost-fs-contrib.patch 9558 SHA256 1734a14392e6706305582b9099a9ff781e3327fb86d4d0ed6c0cb6fe60b38f85 SHA512 3abc6ae75940de6960afcfeb382754ab9f48cd4e311cdd2e00c644774c1141d2bc9ff191e145f7d37362e3364446a32f4fdcc142f0e80ff5bf8880ed18c5af26 WHIRLPOOL 7164392d53fa5d18671269cf0c6c69813527ab046c19cfba2a1a97e0430ac617f1330f1d75e197e48a84d1fcb10942b79252a96e417bd1dd61cdc9fbf04cc1d3
+DIST exiv2-0.19.tar.gz 2658781 SHA256 1733dab5e81d9cf4e0b3d6eeed009103e5baff4fecfc127ecee016b3a67c51ef
+DIST exiv2-0.21.1.tar.gz 3004521 SHA256 2edae035760f84afdfebdf3123a166e6bbf77870697afe54dea92a783f041817
+DIST exiv2-0.23.tar.gz 3524381 SHA256 81fa50900be7ab16e24c6551252c21fc97abcfe855fd32c8f7ec55f398786b11 SHA512 5719a9129f0c991c2966fc9bb65021d501ff7ac193f0b1eaabed9044e7dcc331cb41a149a989fc20417ea07ee20e35a8c91e0063a81b9e2d6c3fae033fdaf39a WHIRLPOOL c80e8f7cc988a5aed117cb8d545dd126e1a9f188efc3c364debf2601d49e0d166709c2ab0f7d8dedc439621fc4766bce731ceb9deb0fde35ecae563bd424cde9
+EBUILD exiv2-0.19.ebuild 2955 SHA256 5a09fdbf3711f4c85be35571813d43740f7e3ebb833b0817232331843b0cfe94 SHA512 308cae408a435a9a409b5d9ff3896e904c73129691893b1548a1d1b8b81c7bda0550727baed7cbb849334451804e8d7d8f94b107bcd863253ecd32f3526433b6 WHIRLPOOL a03836e624488a04185b9e5f3b2af54c3317383673d418401badbb67418e48ac3c09b0b432b75ae8b19d431e269a70174739734df72d9b83a2de1dd5b8afe6df
+EBUILD exiv2-0.21.1-r1.ebuild 3567 SHA256 160bf41b212f97605043dca6934ca1a40110b57e9695d5a5052b9c1c38e20096 SHA512 67d2ab2b7b3373df9be9fd78978510356b50d3bf6ed2a3adb6c70eac3ca931e43ead414ae8510d24f417aa76c25365de94e2a1b7983ccefd9a5a3391ec4b46f7 WHIRLPOOL 99a60bdafb11a084c2bdae6c6e3a8aa69fdf4da449c6ccec4c820a78e77930880471d98db8a421405a72e505f2c4bea602742d2b0bd50928d8af5af952a1c3df
+EBUILD exiv2-0.21.1-r2.ebuild 3580 SHA256 e1d693687f31324d02baf9ba54642d0c4b7f56bd9f592e264588f9f39f439fd5 SHA512 f9b9a3be22b0c1252b52151092825ee2dff4d1e4ed1caba378073bb008b8b743add4ccea3d8654e6d551e7ce16e234db9a79539ed3d64a85f3674db1710aaf36 WHIRLPOOL dad7fe6dd0372af6469112f8f4256729398a5cf849227e7f2c507bfe9ea8e4ea3fb25e2af8bbf97a0643bcae66d727dfbfe3f93f4a6ea8348100f633f63ffcc4
+EBUILD exiv2-0.23-r1.ebuild 2972 SHA256 3eaae7568aa9c081817e7b182f80d7152a87fa20b596506a485429073f6ca9c8 SHA512 91413bc9163a8de7a967791ffc07956ca0f3ada87eafae090a328f1cca8a307a3055fadfc7d3c12cf93bcfb58fd5cc1dffbd46fac48cbebd7ffad20f8f6375a1 WHIRLPOOL 30e4010d49277fba8de6d431d8cc75680eba3a975a4de9910c016d2d019e5f83e914dea06169735af184b4d518b189dcf5d7588c98c912220477190c38bf9bac
+EBUILD exiv2-0.23.ebuild 3207 SHA256 6eea699245abf7529d1f9a30bb274073f7f2ed9090f03332765f31d5e2e72b8e SHA512 128d87d0fe7d87142518bb0b80670da63d803e2fe2af82c10a55d680a592e9c1571e6460f87fb5d39b3c85f5e50dedbc87577e3e1af53a222ecbe05b4b4e1812 WHIRLPOOL d8f9fed7fbd91ecb99ec7db9aaa466a5f768fa025eedf2cdc89d7ba0cd91a30c59544c18917c3639bfc525130497e25cb0712622fcf78ec4c4ff2033a3983253
+MISC ChangeLog 13439 SHA256 87bc5e2043015c6614cd6e16246f2f84b2b6ab9da3006f5d05c2f880834f0173 SHA512 bca48e979080c2c49c40861980db607cf208832e50b9295b9b94fede963f2e8bea921b25a128f4e2625e11914346e379d2f2f0d45bd0325f56bcb8ab45e0baf8 WHIRLPOOL aa50a8af3594547ad619d4a89a2db5cb54abdd48bdb0f51dff0adea892bd20029fd17557555afeafa56cb8d670f964b9225e3a55c644db8c9689bd95927fc5d8
+MISC metadata.xml 477 SHA256 17d43fc6d100a119edc3345bf1da39ee04b1e9f8d54b78c2deb05801b2ea79be SHA512 bb21348fc7b90de8f46f2d74b1ef50d12b8cda318af07d35b4c2f7912fe2eb5b413d83e312bfbd3f3b9b3f262c870a04f44c234fbe48b39a69bb3192c8def5e8 WHIRLPOOL c213f0beac6867ae352b94fd7558cef97cc86b5e9026042975a2febf3b077a9ee8b850929582b6e294bfd1d4771d0bbc85992987a47b52e5457a3f1face14be3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iJwEAQECAAYFAk/yF/8ACgkQIaLonLtsQseMRgP/cP+qhWZfgwuQaXylZvVbNFbj
-dWdfrydTNWoAc1pXSbg+GcbQ3RR5r/r2Deln76xttNMbJ2bGbHoItDuOrKgyGJTo
-nESPG+J1jgDC1GuYs98PnNuU8D5yq0oo0FtbtS8KTQM6L2fU7fOB8PZ2tY0BtvwZ
-6wFtXvEKX/+aOUL0+ac=
-=hVSm
+iJwEAQEIAAYFAlEBsRsACgkQIaLonLtsQsfCkQP8Cw/s7kNNz1mJT2YQbJ4uW3Ik
+hJxgpd7okYoCg4lxnd/vGreiZazOpZLi97pvNrITzz3pe28NBeNrATldbfeoDR4w
+hpe7vkXSCz2ogaSBemHApRihV7d3Wu4GAlbvbtj0TbD8PG8FCWHGcDPgI/z6VWK6
+6isX1zD3gaI5WOzgie4=
+=77yJ
-----END PGP SIGNATURE-----
diff --git a/media-gfx/exiv2/exiv2-0.23-r1.ebuild b/media-gfx/exiv2/exiv2-0.23-r1.ebuild
new file mode 100644
index 000000000000..8d5782c9da1a
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.23-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/exiv2-0.23-r1.ebuild,v 1.1 2013/01/24 22:09:25 sbriesen Exp $
+
+EAPI=4
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit eutils autotools-utils multilib toolchain-funcs python
+
+DESCRIPTION="EXIF and IPTC metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+SRC_URI="http://www.exiv2.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_LINGUAS="de es fi fr pl ru sk"
+IUSE="contrib doc examples nls xmp zlib static-libs $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
+
+RDEPEND="
+ virtual/libiconv
+ nls? ( virtual/libintl )
+ xmp? ( dev-libs/expat )
+ zlib? ( sys-libs/zlib )
+"
+
+DEPEND="${RDEPEND}
+ contrib? ( >=dev-libs/boost-1.44 )
+ doc? (
+ app-doc/doxygen
+ dev-libs/libxslt
+ virtual/pkgconfig
+ media-gfx/graphviz
+ =dev-lang/python-2*
+ )
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+src_prepare() {
+ # convert docs to UTF-8
+ local i
+ for i in doc/cmd.txt; do
+ einfo "Converting "${i}" to UTF-8"
+ iconv -f LATIN1 -t UTF-8 "${i}" > "${i}~" && mv -f "${i}~" "${i}" || rm -f "${i}~"
+ done
+
+ if use doc; then
+ einfo "Updating doxygen config"
+ doxygen 2>&1 >/dev/null -u config/Doxyfile
+ python_convert_shebangs -r 2 doc/templates
+ fi
+
+ if use contrib; then
+ epatch "${FILESDIR}/${P}-boost-fs-contrib.patch"
+
+ # create build environment for contrib
+ ln -snf ../../src contrib/organize/exiv2
+ sed -i -e 's:/usr/local/include/.*:/usr/include:g' \
+ -e 's:/usr/local/lib/lib:-l:g' -e 's:-gcc..-mt-._..\.a::g' \
+ contrib/organize/boost.mk
+ fi
+
+ # set locale to safe value for the sed commands (bug #382731)
+ sed -i -r "s,(\s+)sed\s,\1LC_ALL="C" sed ,g" src/Makefile
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(use_enable xmp)
+ $(use_enable static-libs static)
+ )
+
+ # plain 'use_with' fails
+ use zlib || myeconfargs+=("${myconf} --without-zlib")
+
+ # Bug #78720. amd64/gcc-3.4/-fvisibility* fail.
+ if [ $(gcc-major-version) -lt 4 ]; then
+ use amd64 && myeconfargs+=("${myconf} --disable-visibility")
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ if use contrib; then
+ emake -C contrib/organize \
+ LDFLAGS="\$(BOOST_LIBS) -L../../src -lexiv2 ${LDFLAGS}" \
+ CPPFLAGS="${CPPFLAGS} -I\$(BOOST_INC_DIR) -I. -DEXV_HAVE_STDINT_H" \
+ || die "emake organize failed"
+ fi
+
+ if use doc; then
+ emake doc || die "emake doc failed"
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ if use contrib; then
+ emake DESTDIR="${D}" -C contrib/organize install || die "emake install organize failed"
+ fi
+
+ use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
+ use doc && dohtml -r doc/html/.
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ docompress -x /usr/share/doc/${PF}/examples
+ doins samples/*.cpp
+ fi
+}
diff --git a/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
new file mode 100644
index 000000000000..f5ffc473e40a
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
@@ -0,0 +1,182 @@
+--- work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
++++ work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
+@@ -294,7 +294,7 @@
+ bool md5sum(const fs::path &path, md5digest &digest)
+ {
+ try {
+- Exiv2::FileIo io(path.file_string());
++ Exiv2::FileIo io(path.string());
+ if (io.open() != 0)
+ return false;
+ Exiv2::IoCloser closer(io);
+@@ -568,8 +568,8 @@
+
+ fs::path uniquify(const fs::path &dest)
+ {
+- std::string ext = dest.extension();
+- std::string fname = dest.stem();
++ std::string ext = dest.extension().string();
++ std::string fname = dest.stem().string();
+ fs::path parent = dest.parent_path();
+
+ unsigned number = 1;
+@@ -600,13 +600,13 @@
+ std::vector<std::string>::const_iterator x_iter = params.excludes.begin();
+ std::vector<std::string>::const_iterator x_end = params.excludes.end();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(directory.file_string(), *x_iter)) {
++ if(boost::contains(directory.string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding directory: ") + directory.file_string() +
++ info(std::string("excluding directory: ") + directory.string() +
+ " matched: " + *x_iter);
+ ++params.dir_ex_count;
+ return;
+@@ -621,7 +621,7 @@
+ process_directory(p_iter->path(), depth + 1, params);
+ else {
+ info(std::string("depth reached, skipping: ") +
+- p_iter->path().file_string());
++ p_iter->path().string());
+ }
+ }
+ else if( is_regular_file(*p_iter) ) {
+@@ -630,13 +630,13 @@
+ exclude = false;
+ x_iter = params.excludes.begin();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(p_iter->path().file_string(), *x_iter)) {
++ if(boost::contains(p_iter->path().string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding file: ") + p_iter->path().file_string() +
++ info(std::string("excluding file: ") + p_iter->path().string() +
+ " matched: " + *x_iter);
+ ++params.file_ex_count;
+ continue;
+@@ -648,45 +648,45 @@
+ if(!dest_subdir.empty())
+ dest_file = params.dest_dir / dest_subdir;
+ else if(params.ignore_unsorted) {
+- info(std::string("ignoring unsorted: ") + p_iter->path().file_string());
++ info(std::string("ignoring unsorted: ") + p_iter->path().string());
+ ++params.unsorted_ignored_count;
+ continue;
+ }
+ else {
+- info(std::string("unsorted file (missing metadata): ") + p_iter->path().file_string());
++ info(std::string("unsorted file (missing metadata): ") + p_iter->path().string());
+ dest_file = params.unsorted_dir;
+ ++params.unsorted_count;
+ }
+
+- dest_file /= p_iter->filename();
++ dest_file /= p_iter->path().filename();
+
+ if(fs::exists(dest_file)) {
+ if(params.ignore_dups) {
+- info(std::string("ignoring: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("ignoring: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ ++params.dups_ignored_count;
+ continue;
+ }
+ else {
+ if(params.force) {
+- info(std::string("force removing: ") + dest_file.file_string() + " for: "
+- + p_iter->path().file_string());
++ info(std::string("force removing: ") + dest_file.string() + " for: "
++ + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(dest_file);
+ }
+ else if(params.rename) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ else {
+- info(std::string("duplicate file: ") + p_iter->path().file_string() +
+- " of: " + dest_file.file_string());
+- dest_file = params.dups_dir / dest_subdir / p_iter->filename();
++ info(std::string("duplicate file: ") + p_iter->path().string() +
++ " of: " + dest_file.string());
++ dest_file = params.dups_dir / dest_subdir / p_iter->path().filename();
+ // Ugh, more dup possibilities
+ if(fs::exists(dest_file)) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ }
+@@ -698,8 +698,8 @@
+ fs::create_directories(dest_file.parent_path());
+
+ if(params.symlink) {
+- info(std::string("linking from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("linking from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // The target of a symlink must be either absolute (aka complete) or
+ // relative to the location of the link. Easiest solution is to make
+@@ -713,8 +713,8 @@
+ }
+ }
+ else {
+- info(std::string("copying from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("copying from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // Copy the file and restore its write time (needed for posix)
+ std::time_t time = fs::last_write_time(*p_iter);
+@@ -730,8 +730,8 @@
+ if(!ok) {
+ // Should probably find a more appropriate exception for this
+ throw std::runtime_error(std::string("File verification failed: '")
+- + p_iter->path().file_string() + "' differs from '" +
+- dest_file.file_string() + "'");
++ + p_iter->path().string() + "' differs from '" +
++ dest_file.string() + "'");
+ }
+ else {
+ info(std::string("verification passed"));
+@@ -740,7 +740,7 @@
+ }
+ }
+ if(params.move) {
+- info(std::string("removing: ") + p_iter->path().file_string());
++ info(std::string("removing: ") + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(*p_iter);
+ }
+@@ -752,14 +752,14 @@
+ ++params.ok_count;
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping file: " + p_iter->path().file_string()));
++ error(e, std::string("skipping file: " + p_iter->path().string()));
+ ++params.file_err_count;
+ }
+ }
+ }
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping directory: " + directory.file_string()));
++ error(e, std::string("skipping directory: " + directory.string()));
+ ++params.dir_err_count;
+ }
+ }