diff options
author | Tim Harder <radhermit@gentoo.org> | 2011-12-06 21:14:25 +0000 |
---|---|---|
committer | Tim Harder <radhermit@gentoo.org> | 2011-12-06 21:14:25 +0000 |
commit | d2cc93bd802b9d7e097ffc144bdde131f0f213b4 (patch) | |
tree | f641518018f70e9818ee20eeff1a012417bc77a2 /media-gfx/scantailor | |
parent | Switch from opts to extra_started_commands. (diff) | |
download | gentoo-2-d2cc93bd802b9d7e097ffc144bdde131f0f213b4.tar.gz gentoo-2-d2cc93bd802b9d7e097ffc144bdde131f0f213b4.tar.bz2 gentoo-2-d2cc93bd802b9d7e097ffc144bdde131f0f213b4.zip |
Fix build issue with gcc-4.6 and newer boost versions (bug #391427 by Oschtan) and skip tests requiring X (bug #325813).
(Portage version: 2.2.0_alpha79/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx/scantailor')
-rw-r--r-- | media-gfx/scantailor/ChangeLog | 7 | ||||
-rw-r--r-- | media-gfx/scantailor/files/scantailor-gcc46.patch | 121 | ||||
-rw-r--r-- | media-gfx/scantailor/scantailor-0.9.10.ebuild | 14 |
3 files changed, 139 insertions, 3 deletions
diff --git a/media-gfx/scantailor/ChangeLog b/media-gfx/scantailor/ChangeLog index f5eaf810cd6a..3f34173e60c3 100644 --- a/media-gfx/scantailor/ChangeLog +++ b/media-gfx/scantailor/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-gfx/scantailor # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/scantailor/ChangeLog,v 1.4 2011/07/31 18:31:24 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/scantailor/ChangeLog,v 1.5 2011/12/06 21:14:25 radhermit Exp $ + + 06 Dec 2011; Tim Harder <radhermit@gentoo.org> +files/scantailor-gcc46.patch, + scantailor-0.9.10.ebuild: + Fix build issue with gcc-4.6 and newer boost versions (bug #391427 by + Oschtan) and skip tests requiring X (bug #325813). *scantailor-0.9.10 (31 Jul 2011) diff --git a/media-gfx/scantailor/files/scantailor-gcc46.patch b/media-gfx/scantailor/files/scantailor-gcc46.patch new file mode 100644 index 000000000000..8965ab478b1e --- /dev/null +++ b/media-gfx/scantailor/files/scantailor-gcc46.patch @@ -0,0 +1,121 @@ +From a25036fbf37941e241da520fa7fab45e13c9c4a4 Mon Sep 17 00:00:00 2001 +From: Joseph Artsimovich <joseph.artsimovich@gmail.com> +Date: Sat, 1 Oct 2011 19:37:10 +0100 +Subject: [PATCH] Fix build issues with certain version combinations of boost + and gcc. + +--- + ProjectWriter.cpp | 1 + + compat/boost_multi_index_foreach_fix.h | 46 ++++++++++++++++++++++++++++++++ + zones/EditableZoneSet.h | 18 ++++++++++++- + 3 files changed, 64 insertions(+), 1 deletions(-) + create mode 100644 compat/boost_multi_index_foreach_fix.h + +diff --git a/ProjectWriter.cpp b/ProjectWriter.cpp +index e6e519b..44329d7 100644 +--- a/ProjectWriter.cpp ++++ b/ProjectWriter.cpp +@@ -25,6 +25,7 @@ + #include "ImageMetadata.h" + #include "AbstractFilter.h" + #include "FileNameDisambiguator.h" ++#include "compat/boost_multi_index_foreach_fix.h" + #include <QtXml> + #include <QFile> + #include <QTextStream> +diff --git a/compat/boost_multi_index_foreach_fix.h b/compat/boost_multi_index_foreach_fix.h +new file mode 100644 +index 0000000..7800c79 +--- /dev/null ++++ b/compat/boost_multi_index_foreach_fix.h +@@ -0,0 +1,46 @@ ++/* ++ Scan Tailor - Interactive post-processing tool for scanned pages. ++ Copyright (C) Joseph Artsimovich <joseph.artsimovich@gmail.com> ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see <http://www.gnu.org/licenses/>. ++*/ ++ ++#ifndef BOOST_MULTI_INDEX_FOREACH_FIX_H_ ++#define BOOST_MULTI_INDEX_FOREACH_FIX_H_ ++ ++#include <boost/foreach.hpp> ++#include <boost/mpl/bool.hpp> ++#include <boost/multi_index/sequenced_index.hpp> ++ ++// BOOST_FOREACH() in boost >= 1.47 has problems with gcc >= 4.6 ++// These problems aren't specific to boost::multi_index, ++// but the code below only deals with it. ++// In future versions of boost, they might include equivalent ++// code in boost::multi_index itself, which will lead to build problems. ++// If / when this happens, conditional compilation will be necessary. ++ ++namespace boost ++{ ++namespace foreach ++{ ++ ++template<typename SuperMeta, typename TagList> ++struct is_noncopyable<boost::multi_index::detail::sequenced_index<SuperMeta, TagList> > : mpl::true_ ++{ ++}; ++ ++} // namespace foreach ++} // namespace boost ++ ++#endif +diff --git a/zones/EditableZoneSet.h b/zones/EditableZoneSet.h +index 153693d..4ecfd0d 100644 +--- a/zones/EditableZoneSet.h ++++ b/zones/EditableZoneSet.h +@@ -1,7 +1,7 @@ + /* + + Scan Tailor - Interactive post-processing tool for scanned pages. +- Copyright (C) 2007-2009 Joseph Artsimovich <joseph_a@mail.ru> ++ Copyright (C) Joseph Artsimovich <joseph.artsimovich@gmail.com> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -24,6 +24,8 @@ + #include "PropertySet.h" + #include "IntrusivePtr.h" + #include <QObject> ++#include <boost/mpl/bool.hpp> ++#include <boost/foreach.hpp> + #include <boost/iterator/iterator_facade.hpp> + #include <map> + +@@ -102,4 +104,18 @@ private: + PropertySet m_defaultProps; + }; + ++namespace boost ++{ ++namespace foreach ++{ ++ ++// Make BOOST_FOREACH work with the above class (necessary for boost >= 1.46 with gcc >= 4.6) ++template<> ++struct is_noncopyable<EditableZoneSet> : public boost::mpl::true_ ++{ ++}; ++ ++} // namespace foreach ++} // namespace boost ++ + #endif +-- +1.7.8.rc4 + diff --git a/media-gfx/scantailor/scantailor-0.9.10.ebuild b/media-gfx/scantailor/scantailor-0.9.10.ebuild index dfe554a763a1..638fa66e3714 100644 --- a/media-gfx/scantailor/scantailor-0.9.10.ebuild +++ b/media-gfx/scantailor/scantailor-0.9.10.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/scantailor/scantailor-0.9.10.ebuild,v 1.1 2011/07/31 18:31:24 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/scantailor/scantailor-0.9.10.ebuild,v 1.2 2011/12/06 21:14:25 radhermit Exp $ EAPI=4 inherit cmake-utils eutils @@ -24,7 +24,17 @@ RDEPEND=">=media-libs/libpng-1.2.43 DEPEND="${RDEPEND} dev-libs/boost" -PATCHES=( "${FILESDIR}/${PN}-0.9.9-environment_flags.patch" ) +PATCHES=( + "${FILESDIR}"/${PN}-0.9.9-environment_flags.patch + "${FILESDIR}"/${PN}-gcc46.patch +) + +src_prepare() { + # Skip image processing tests that require X + sed -i -e "/^ADD_TEST(ImageProcTests/d" CMakeLists.txt || die + + base_src_prepare +} src_configure() { mycmakeargs=( |