summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gentoo.org>2011-12-06 21:14:25 +0000
committerTim Harder <radhermit@gentoo.org>2011-12-06 21:14:25 +0000
commitd2cc93bd802b9d7e097ffc144bdde131f0f213b4 (patch)
treef641518018f70e9818ee20eeff1a012417bc77a2 /media-gfx/scantailor
parentSwitch from opts to extra_started_commands. (diff)
downloadgentoo-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/ChangeLog7
-rw-r--r--media-gfx/scantailor/files/scantailor-gcc46.patch121
-rw-r--r--media-gfx/scantailor/scantailor-0.9.10.ebuild14
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=(