summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2016-10-27 03:31:50 +0200
committerJustin Lecher <jlec@gentoo.org>2016-11-06 09:24:50 +0100
commit31e9ab607088bf9f7ec7308f2e601d6b933372e0 (patch)
tree843ee213d6a1a2159f8c1034b8d74e9357469aba /app-office/scribus/files
parentdev-perl/DBD-mysql: Bump to version 4.38.0 (diff)
downloadgentoo-31e9ab607088bf9f7ec7308f2e601d6b933372e0.tar.gz
gentoo-31e9ab607088bf9f7ec7308f2e601d6b933372e0.tar.bz2
gentoo-31e9ab607088bf9f7ec7308f2e601d6b933372e0.zip
app-office/scribus: Fix build w/ Qt-5.7.0 and C++11
Use upstream's WANT_CPP11 Drop duplicate boost DEPEND. Add missing || die's Add subslot operators on boost and libpng Require >=boost-1.62 for C++11 per dracwyrm+Soap's advice Package-Manager: portage-2.3.0 Signed-off-by: Justin Lecher <jlec@gentoo.org>
Diffstat (limited to 'app-office/scribus/files')
-rw-r--r--app-office/scribus/files/scribus-1.5.2-cmake-qt57.patch31
-rw-r--r--app-office/scribus/files/scribus-1.5.2-cxx-build.patch24
-rw-r--r--app-office/scribus/files/scribus-1.5.2-gcc6-warn.patch87
-rw-r--r--app-office/scribus/files/scribus-1.5.2-qt57-build.patch21
4 files changed, 163 insertions, 0 deletions
diff --git a/app-office/scribus/files/scribus-1.5.2-cmake-qt57.patch b/app-office/scribus/files/scribus-1.5.2-cmake-qt57.patch
new file mode 100644
index 000000000000..214fab4257e4
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.5.2-cmake-qt57.patch
@@ -0,0 +1,31 @@
+commit 413c8c8a0ded5aa4b0f8d85dbc335082e809f3b2
+Author: Craig Bradney <mrb@scribus.info>
+Date: Thu Jun 16 20:01:34 2016 +0000
+
+ Add better support for C++11/Qt 5.7.0. CMAKE minimum bumped to 3.2
+
+ git-svn-id: svn://scribus.net/trunk/Scribus@21377 11d20701-8431-0410-a711-e3c959e3b870
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bc1ec57..9e92a38 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,8 +3,9 @@
+
+ #Set our CMake minimum version
+ #Require 2.8.9 for Qt5
++#Require 3.1.0 for Qt 5.7 C++ 11 easy support
+ #Require 3.2.0 for add_custom_target with byproducts
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9 FATAL_ERROR)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.2.0 FATAL_ERROR)
+
+ #Pretty colors
+ SET(CMAKE_COLOR_MAKEFILE ON)
+@@ -382,6 +383,7 @@ ADD_DEFINITIONS("-DLIBDIR=\\\"${CMAKE_INSTALL_PREFIX}/${LIBDIR}\\\"")
+ #C++11 Support
+ IF(WANT_CPP11)
+ MESSAGE(STATUS "Enabling C++11 compiler features")
++ set(CMAKE_CXX_STANDARD 11)
+ ADD_DEFINITIONS("-std=c++11")
+ ENDIF(WANT_CPP11)
+
diff --git a/app-office/scribus/files/scribus-1.5.2-cxx-build.patch b/app-office/scribus/files/scribus-1.5.2-cxx-build.patch
new file mode 100644
index 000000000000..da8d50dee92d
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.5.2-cxx-build.patch
@@ -0,0 +1,24 @@
+commit 1a9bdbc7ab793b15e93f1ab29ce06dd69c061f58
+Author: Jean Ghali <jghali@libertysurf.fr>
+Date: Sat Jun 18 12:49:45 2016 +0000
+
+ fix build issue when not compiling with c++11 : std::isinf is c++11 only
+
+ git-svn-id: svn://scribus.net/trunk/Scribus@21382 11d20701-8431-0410-a711-e3c959e3b870
+
+diff --git a/scribus/third_party/fparser/fpoptimizer.cc b/scribus/third_party/fparser/fpoptimizer.cc
+index 673e1b6..0c1bad5 100644
+--- a/scribus/third_party/fparser/fpoptimizer.cc
++++ b/scribus/third_party/fparser/fpoptimizer.cc
+@@ -7296,7 +7296,11 @@ namespace FPoptimizer_CodeTree
+ //if(imm >= 0.0)
+ {
+ double new_base_immed = std::pow(base_immed, imm);
++#if __cplusplus < 201103L
++ if(isinf(new_base_immed) || new_base_immed == 0.0)
++#else
+ if(std::isinf(new_base_immed) || new_base_immed == 0.0)
++#endif
+ {
+ // It produced an infinity. Do not change.
+ break;
diff --git a/app-office/scribus/files/scribus-1.5.2-gcc6-warn.patch b/app-office/scribus/files/scribus-1.5.2-gcc6-warn.patch
new file mode 100644
index 000000000000..224ebe40d99e
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.5.2-gcc6-warn.patch
@@ -0,0 +1,87 @@
+commit bb3066704e987210c324ec7f3bfb2c8153d9710e
+Author: Jean Ghali <jghali@libertysurf.fr>
+Date: Sat Aug 20 12:18:31 2016 +0000
+
+ fix a few gcc 6 warnings related to auto_ptr deprecation in c++11 by replacing it with QScopedPointer
+
+ git-svn-id: svn://scribus.net/trunk/Scribus@21430 11d20701-8431-0410-a711-e3c959e3b870
+
+diff --git a/scribus/sclistboxpixmap.h b/scribus/sclistboxpixmap.h
+index 044d45a..a067b79 100644
+--- a/scribus/sclistboxpixmap.h
++++ b/scribus/sclistboxpixmap.h
+@@ -13,6 +13,7 @@ for which a new license (GPL+exception) is in place.
+ #include <QDebug>
+ #include <QPainter>
+ #include <QPixmap>
++#include <QScopedPointer>
+ #include <QVariant>
+
+ #include "scguardedptr.h"
+@@ -30,19 +31,19 @@ public:
+ virtual QSize sizeHint (const QStyleOptionViewItem & option, const QModelIndex & index ) const;
+ virtual void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
+ protected:
+- static std::auto_ptr<QPixmap> pmap;
++ static QScopedPointer<QPixmap> pmap;
+ // The drawPixmap function must not modify pixmap size
+ virtual void redraw(const QVariant&) const = 0;
+ };
+
+ template<unsigned int pixWidth, unsigned int pixHeight>
+-std::auto_ptr<QPixmap> ScListBoxPixmap<pixWidth, pixHeight>::pmap;
++QScopedPointer<QPixmap> ScListBoxPixmap<pixWidth, pixHeight>::pmap;
+
+
+ template<unsigned int pixWidth, unsigned int pixHeight>
+ ScListBoxPixmap<pixWidth, pixHeight>::ScListBoxPixmap(void) : QAbstractItemDelegate()
+ {
+- if (!pmap.get())
++ if (pmap.isNull())
+ {
+ pmap.reset( new QPixmap(pixWidth, pixHeight) );
+ }
+diff --git a/scribus/ui/colorlistbox.cpp b/scribus/ui/colorlistbox.cpp
+index 9f3897b..99f280f 100644
+--- a/scribus/ui/colorlistbox.cpp
++++ b/scribus/ui/colorlistbox.cpp
+@@ -83,7 +83,7 @@ public:
+
+ void ColorSmallItemDelegate::redraw(const QVariant& data) const
+ {
+- QPixmap* pPixmap = ScListBoxPixmap<15,15>::pmap.get();
++ QPixmap* pPixmap = ScListBoxPixmap<15,15>::pmap.data();
+ pPixmap->fill(Qt::transparent);
+ if (data.canConvert<ColorPixmapValue>())
+ {
+@@ -101,7 +101,7 @@ void ColorSmallItemDelegate::redraw(const QVariant& data) const
+
+ void ColorWideItemDelegate::redraw(const QVariant& data) const
+ {
+- QPixmap* pPixmap = ScListBoxPixmap<30,15>::pmap.get();
++ QPixmap* pPixmap = ScListBoxPixmap<30,15>::pmap.data();
+ pPixmap->fill(Qt::transparent);
+ if (data.canConvert<ColorPixmapValue>())
+ {
+@@ -134,7 +134,7 @@ void ColorFancyItemDelegate::redraw(const QVariant& data) const
+ iconsInitialized = true;
+ }
+
+- QPixmap* pPixmap = ScListBoxPixmap<60,15>::pmap.get();
++ QPixmap* pPixmap = ScListBoxPixmap<60,15>::pmap.data();
+ pPixmap->fill(Qt::transparent);
+
+ if (data.canConvert<ColorPixmapValue>())
+diff --git a/scribus/ui/propertiespalette_utils.cpp b/scribus/ui/propertiespalette_utils.cpp
+index f76743c..cadbb11 100644
+--- a/scribus/ui/propertiespalette_utils.cpp
++++ b/scribus/ui/propertiespalette_utils.cpp
+@@ -66,7 +66,7 @@ void LineFormatItemDelegate::redraw(const QVariant& data) const
+ QColor tmpf;
+ pmap->fill(Qt::white);
+ QPainter p;
+- p.begin(pmap.get());
++ p.begin(pmap.data());
+ for (int its = item.m_Line.size()-1; its > -1; its--)
+ {
+ const ScColor& col = item.m_doc->PageColors[item.m_Line[its].Color];
diff --git a/app-office/scribus/files/scribus-1.5.2-qt57-build.patch b/app-office/scribus/files/scribus-1.5.2-qt57-build.patch
new file mode 100644
index 000000000000..0584c2907911
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.5.2-qt57-build.patch
@@ -0,0 +1,21 @@
+commit ddb5688ae4f4ff40ba1204a413fcf15279b35f2b
+Author: Franz Schmid <Franz.Schmid@altmuehlnet.de>
+Date: Sat Jun 18 09:14:21 2016 +0000
+
+ Compile Fix for compiling with Qt-5.7
+
+ git-svn-id: svn://scribus.net/trunk/Scribus@21381 11d20701-8431-0410-a711-e3c959e3b870
+
+diff --git a/scribus/third_party/fparser/fpoptimizer.cc b/scribus/third_party/fparser/fpoptimizer.cc
+index ae8c0f6..673e1b6 100644
+--- a/scribus/third_party/fparser/fpoptimizer.cc
++++ b/scribus/third_party/fparser/fpoptimizer.cc
+@@ -7296,7 +7296,7 @@ namespace FPoptimizer_CodeTree
+ //if(imm >= 0.0)
+ {
+ double new_base_immed = std::pow(base_immed, imm);
+- if(isinf(new_base_immed) || new_base_immed == 0.0)
++ if(std::isinf(new_base_immed) || new_base_immed == 0.0)
+ {
+ // It produced an infinity. Do not change.
+ break;