commit:     c471ffa6fd63b3e06303971dada6b26c8abb4712
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 28 10:54:30 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Mar 28 10:59:35 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c471ffa6

media-gfx/scantailor: Fix BOOST_JOIN with >=dev-libs/boost-1.58.0

Gentoo-Bug: 574634
* Also fix namespace clashes between boost::lambda and
  boost::placeholder.

Package-Manager: portage-2.2.28

 media-gfx/scantailor/Manifest                      |   1 +
 ...cantailor-0.9.11.1-boost-lambda-namespace.patch | 144 +++++++++++++++++++++
 media-gfx/scantailor/scantailor-0.9.11.1.ebuild    |  11 +-
 3 files changed, 154 insertions(+), 2 deletions(-)

diff --git a/media-gfx/scantailor/Manifest b/media-gfx/scantailor/Manifest
index a581afc..2cae743 100644
--- a/media-gfx/scantailor/Manifest
+++ b/media-gfx/scantailor/Manifest
@@ -1,2 +1,3 @@
 DIST scantailor-0.9.10.tar.gz 1124348 SHA256 
0b574eabfb65e4dcf3915d00ad3da31d464060458ffaeb49e4257e97301f93a0 SHA512 
e2221a381c7c19ea2f7f5a791fec8ed3fd21e9065418e8cadb6ec34e95f9c9a4ec94effe6543087bb06b483c0cb08d40fd6cce63b065e91d97f756d1afa458b1
 WHIRLPOOL 
261ea78474fd644a407140dfb535d282d4413fbf79eba1b36ccf032b247f57d55560fc5c3a14db2f6fdbcb7351fba9aad64612950151422a88d77395d9ab03ee
+DIST scantailor-0.9.11.1-boost-join-moc.patch 53044 SHA256 
c00772facafdb696bf0e36ba216050cf3ec5b45c15e0099e6ef4935bffa9ba00 SHA512 
77c6ee7988834c8694f9c09182fcdf87bdba64f3e69c9cc9b8347c4980a56c484a4368643f1c608ebbaeb469d4d6bc8d1a62f95fce18bc41dfce68137a457a61
 WHIRLPOOL 
0e5b04a65a5c47deeea6b3ec192549e50b22825df506bda2b87fbc1aa0254993a33c7c7907af1520c7e0ae4264a9a00b9e92d6114b1aee664408c69bb9bdcf00
 DIST scantailor-0.9.11.1.tar.gz 1190198 SHA256 
881647a4172c55a067a7b6687965441cf21176d79d93075b22a373ea9accd8d3 SHA512 
cec327fd12144f7cee5043adfee3880c75fb147474e4c3b5166385f7a8f47cb5650ed2df930bbe1f4b8ac2c7229a887ecba1ca105b47b1023f5d3d7d7b54bdb4
 WHIRLPOOL 
c064837bd4d5f4c3fbfa260493f3eccecff59910c934005148975f2f00511539ae0e66535d0a57bbf0458022c8ec249faa7f3df40ed8d89b2683530b885e4f6b

diff --git 
a/media-gfx/scantailor/files/scantailor-0.9.11.1-boost-lambda-namespace.patch 
b/media-gfx/scantailor/files/scantailor-0.9.11.1-boost-lambda-namespace.patch
new file mode 100644
index 0000000..411341c
--- /dev/null
+++ 
b/media-gfx/scantailor/files/scantailor-0.9.11.1-boost-lambda-namespace.patch
@@ -0,0 +1,144 @@
+Namespace qualify bind, in order to avoid clashes with boost::placeholder
+Patches taken from FreeBSD:
+https://svnweb.freebsd.org/ports?view=revision&revision=408592
+
+--- scantailor-0.9.11.1/filters/deskew/Filter.cpp
++++ scantailor-0.9.11.1/filters/deskew/Filter.cpp
+@@ -85,9 +85,9 @@
+       
+       QDomElement filter_el(doc.createElement("deskew"));
+       writer.enumPages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writePageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/filters/fix_orientation/Filter.cpp
++++ scantailor-0.9.11.1/filters/fix_orientation/Filter.cpp
+@@ -100,9 +100,9 @@
+       
+       QDomElement filter_el(doc.createElement("fix-orientation"));
+       writer.enumImages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writeImageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/filters/output/Filter.cpp
++++ scantailor-0.9.11.1/filters/output/Filter.cpp
+@@ -93,9 +93,9 @@
+       
+       QDomElement filter_el(doc.createElement("output"));
+       writer.enumPages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writePageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/filters/page_layout/Filter.cpp
++++ scantailor-0.9.11.1/filters/page_layout/Filter.cpp
+@@ -136,9 +136,9 @@
+       
+       QDomElement filter_el(doc.createElement("page-layout"));
+       writer.enumPages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writePageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/filters/page_split/Filter.cpp
++++ scantailor-0.9.11.1/filters/page_split/Filter.cpp
+@@ -110,9 +110,9 @@
+       );
+       
+       writer.enumImages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writeImageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/filters/select_content/Filter.cpp
++++ scantailor-0.9.11.1/filters/select_content/Filter.cpp
+@@ -119,9 +119,9 @@
+       
+       QDomElement filter_el(doc.createElement("select-content"));
+       writer.enumPages(
+-              bind(
++              boost::lambda::bind(
+                       &Filter::writePageSettings,
+-                      this, boost::ref(doc), var(filter_el), _1, _2
++                      this, boost::ref(doc), var(filter_el), 
boost::lambda::_1, boost::lambda::_2
+               )
+       );
+       
+--- scantailor-0.9.11.1/MainWindow.cpp
++++ scantailor-0.9.11.1/MainWindow.cpp
+@@ -1898,8 +1898,8 @@
+               ImageFileInfo image_file_info(file_info, 
std::vector<ImageMetadata>());
+ 
+               ImageMetadataLoader::Status const status = 
ImageMetadataLoader::load(
+-                      files.at(i), 
bind(&std::vector<ImageMetadata>::push_back,
+-                      boost::ref(image_file_info.imageInfo()), _1)
++                      files.at(i), 
boost::lambda::bind(&std::vector<ImageMetadata>::push_back,
++                      boost::ref(image_file_info.imageInfo()), 
boost::lambda::_1)
+               );
+ 
+               if (status == ImageMetadataLoader::LOADED) {
+@@ -1921,7 +1921,7 @@
+       }
+ 
+       // Check if there is at least one DPI that's not OK.
+-      if (std::find_if(new_files.begin(), new_files.end(), 
!bind(&ImageFileInfo::isDpiOK, _1)) != new_files.end()) {
++      if (std::find_if(new_files.begin(), new_files.end(), 
!boost::lambda::bind(&ImageFileInfo::isDpiOK, boost::lambda::_1)) != 
new_files.end()) {
+ 
+               std::auto_ptr<FixDpiDialog> dpi_dialog(new 
FixDpiDialog(new_files, this));
+               dpi_dialog->setWindowModality(Qt::WindowModal);
+--- scantailor-0.9.11.1/ThumbnailSequence.cpp
++++ scantailor-0.9.11.1/ThumbnailSequence.cpp
+@@ -491,7 +491,7 @@
+       m_pSelectionLeader(0)
+ {
+       m_graphicsScene.setContextMenuEventCallback(
+-              bind(&Impl::sceneContextMenuEvent, this, _1)
++              boost::lambda::bind(&Impl::sceneContextMenuEvent, this, 
boost::lambda::_1)
+       );
+ }
+ 
+@@ -605,7 +605,7 @@
+ {
+       ItemsById::iterator const id_it(m_itemsById.find(page_info.id()));
+       if (id_it != m_itemsById.end()) {
+-              m_itemsById.modify(id_it, bind(&Item::pageInfo, _1) = 
page_info);
++              m_itemsById.modify(id_it, boost::lambda::bind(&Item::pageInfo, 
boost::lambda::_1) = page_info);
+               invalidateThumbnailImpl(id_it);
+       }
+ }
+@@ -725,10 +725,10 @@
+       // Sort pages in m_itemsInOrder using m_ptrOrderProvider.
+       if (m_ptrOrderProvider.get()) {
+               m_itemsInOrder.sort(
+-                      bind(
++                      boost::lambda::bind(
+                               &PageOrderProvider::precedes, 
m_ptrOrderProvider.get(),
+-                              bind(&Item::pageId, _1), 
bind(&Item::incompleteThumbnail, _1),
+-                              bind(&Item::pageId, _2), 
bind(&Item::incompleteThumbnail, _2) 
++                              boost::lambda::bind(&Item::pageId, 
boost::lambda::_1), bind(&Item::incompleteThumbnail, boost::lambda::_1),
++                              boost::lambda::bind(&Item::pageId, 
boost::lambda::_2), bind(&Item::incompleteThumbnail, boost::lambda::_2) 
+                       )
+               );
+       }

diff --git a/media-gfx/scantailor/scantailor-0.9.11.1.ebuild 
b/media-gfx/scantailor/scantailor-0.9.11.1.ebuild
index 1f4f618..6e5f7d8 100644
--- a/media-gfx/scantailor/scantailor-0.9.11.1.ebuild
+++ b/media-gfx/scantailor/scantailor-0.9.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -7,7 +7,8 @@ inherit cmake-utils eutils virtualx toolchain-funcs
 
 DESCRIPTION="A interactive post-processing tool for scanned pages"
 HOMEPAGE="http://scantailor.sourceforge.net/";
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+       https://dev.gentoo.org/~soap/distfiles/${P}-boost-join-moc.patch";
 
 LICENSE="GPL-2 GPL-3 public-domain"
 SLOT="0"
@@ -24,6 +25,12 @@ RDEPEND=">=media-libs/libpng-1.2.43
 DEPEND="${RDEPEND}
        dev-libs/boost"
 
+src_prepare() {
+       epatch -p1 \
+               "${DISTDIR}/${P}-boost-join-moc.patch" \
+               "${FILESDIR}/${P}-boost-lambda-namespace.patch"
+}
+
 src_configure() {
        tc-export CXX
 

Reply via email to