commit:     6e37c4ecb3d68e2ca3548900d1a80fd51fd0dfff
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri May 22 16:01:23 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri May 22 16:08:11 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e37c4ec

x11-libs/qwt: 6.1.4 version bump, fix build w/ Qt 5.15

Closes: https://bugs.gentoo.org/711168
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 x11-libs/qwt/Manifest                      |   1 +
 x11-libs/qwt/files/qwt-6.1.4-qt-5.15.patch | 304 +++++++++++++++++++++++++++++
 x11-libs/qwt/qwt-6.1.4.ebuild              | 130 ++++++++++++
 3 files changed, 435 insertions(+)

diff --git a/x11-libs/qwt/Manifest b/x11-libs/qwt/Manifest
index 9486803efab..90ffa05af8b 100644
--- a/x11-libs/qwt/Manifest
+++ b/x11-libs/qwt/Manifest
@@ -1 +1,2 @@
 DIST qwt-6.1.3.tar.bz2 4245614 BLAKE2B 
5461602702eb159c5c9131eb554d6a619f40c459432c3f32f98b55e4b659d37848fbc0691baeaf691155bae83f68b9c91d3fee430935dd0c1b29e6fceac7a36f
 SHA512 
d4a73e9e7ddcb7c16c508920a298784935be2eddc8f7585993d9fffe1bb01e1787a0d5d7ea4f220398b94ea2b211a19009dccaeadce56a84410357124bcb051a
+DIST qwt-6.1.4.tar.bz2 4227315 BLAKE2B 
dd7212adb3c8fda081b1feeeb9d59b3b087deb0ef56bdbc7bb95e01992e41d5d91065f0b8aaf3337e1c66d4ad431bfb313f9b04bb2e43915f4cb21fb65725e36
 SHA512 
6135ce47fd4f9ff5b705193fc1f7410cfd5a0b84931bb17db750f6a5486ae810c261dae32431bd52838c36eadee02487148e1efa71c465c63aa43062eec160da

diff --git a/x11-libs/qwt/files/qwt-6.1.4-qt-5.15.patch 
b/x11-libs/qwt/files/qwt-6.1.4-qt-5.15.patch
new file mode 100644
index 00000000000..0ee4b1f9d17
--- /dev/null
+++ b/x11-libs/qwt/files/qwt-6.1.4-qt-5.15.patch
@@ -0,0 +1,304 @@
+From a5bdaa3b3a34b8a018fe67dfdd34bf8c890de2fa Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <ast...@gentoo.org>
+Date: Fri, 22 May 2020 17:56:55 +0200
+Subject: [PATCH] Fix build with Qt 5.15 (missing headers)
+
+Signed-off-by: Andreas Sturmlechner <ast...@gentoo.org>
+---
+ examples/dials/attitude_indicator.cpp | 1 +
+ examples/itemeditor/editor.cpp        | 2 ++
+ examples/sinusplot/sinusplot.cpp      | 1 +
+ playground/graphicscale/mainwindow.h  | 1 +
+ playground/symbols/symbols.cpp        | 1 +
+ src/qwt_compass_rose.cpp              | 1 +
+ src/qwt_dial_needle.cpp               | 1 +
+ src/qwt_graphic.h                     | 1 +
+ src/qwt_null_paintdevice.cpp          | 1 +
+ src/qwt_null_paintdevice.h            | 1 +
+ src/qwt_painter.cpp                   | 1 +
+ src/qwt_painter.h                     | 2 ++
+ src/qwt_painter_command.h             | 2 ++
+ src/qwt_plot_canvas.cpp               | 1 +
+ src/qwt_plot_canvas.h                 | 1 +
+ src/qwt_plot_glcanvas.cpp             | 1 +
+ src/qwt_plot_glcanvas.h               | 2 ++
+ src/qwt_plot_panner.cpp               | 2 ++
+ src/qwt_plot_renderer.cpp             | 1 +
+ src/qwt_plot_shapeitem.cpp            | 3 +++
+ src/qwt_symbol.h                      | 2 ++
+ src/qwt_widget_overlay.cpp            | 1 +
+ 22 files changed, 30 insertions(+)
+
+diff --git a/examples/dials/attitude_indicator.cpp 
b/examples/dials/attitude_indicator.cpp
+index ea0d5ab..a01611e 100644
+--- a/examples/dials/attitude_indicator.cpp
++++ b/examples/dials/attitude_indicator.cpp
+@@ -3,6 +3,7 @@
+ #include <qwt_round_scale_draw.h>
+ #include <qevent.h>
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpolygon.h>
+ 
+ AttitudeIndicatorNeedle::AttitudeIndicatorNeedle( const QColor &color )
+diff --git a/examples/itemeditor/editor.cpp b/examples/itemeditor/editor.cpp
+index bd06372..c741b01 100644
+--- a/examples/itemeditor/editor.cpp
++++ b/examples/itemeditor/editor.cpp
+@@ -4,6 +4,8 @@
+ #include <qwt_scale_map.h>
+ #include <qwt_plot_shapeitem.h>
+ #include <qevent.h>
++#include <qpainter.h>
++#include <qpainterpath.h>
+ 
+ class Overlay: public QwtWidgetOverlay
+ {
+diff --git a/examples/sinusplot/sinusplot.cpp 
b/examples/sinusplot/sinusplot.cpp
+index 119fa4a..6a9bfe7 100644
+--- a/examples/sinusplot/sinusplot.cpp
++++ b/examples/sinusplot/sinusplot.cpp
+@@ -1,5 +1,6 @@
+ #include <qapplication.h>
+ #include <qlayout.h>
++#include <qpainterpath.h>
+ #include <qwt_plot.h>
+ #include <qwt_plot_marker.h>
+ #include <qwt_plot_curve.h>
+diff --git a/playground/graphicscale/mainwindow.h 
b/playground/graphicscale/mainwindow.h
+index d284413..3b544de 100644
+--- a/playground/graphicscale/mainwindow.h
++++ b/playground/graphicscale/mainwindow.h
+@@ -2,6 +2,7 @@
+ #define MAIN_WINDOW_H
+ 
+ #include <qmainwindow.h>
++#include <qpainterpath.h>
+ 
+ class Canvas;
+ class QPainterPath;
+diff --git a/playground/symbols/symbols.cpp b/playground/symbols/symbols.cpp
+index f7b2ed6..5b9f56d 100644
+--- a/playground/symbols/symbols.cpp
++++ b/playground/symbols/symbols.cpp
+@@ -1,5 +1,6 @@
+ #include <qapplication.h>
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qbuffer.h>
+ #ifdef QT_SVG_LIB
+ #include <qsvggenerator.h>
+diff --git a/src/qwt_compass_rose.cpp b/src/qwt_compass_rose.cpp
+index 05f7039..fbd30fe 100644
+--- a/src/qwt_compass_rose.cpp
++++ b/src/qwt_compass_rose.cpp
+@@ -11,6 +11,7 @@
+ #include "qwt_point_polar.h"
+ #include "qwt_painter.h"
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ 
+ static QPointF qwtIntersection(
+     QPointF p11, QPointF p12, QPointF p21, QPointF p22 )
+diff --git a/src/qwt_dial_needle.cpp b/src/qwt_dial_needle.cpp
+index 49dd44a..d98f68c 100644
+--- a/src/qwt_dial_needle.cpp
++++ b/src/qwt_dial_needle.cpp
+@@ -13,6 +13,7 @@
+ #include "qwt_painter.h"
+ #include <qapplication.h>
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ 
+ #if QT_VERSION < 0x040601
+ #define qFastSin(x) qSin(x)
+diff --git a/src/qwt_graphic.h b/src/qwt_graphic.h
+index cbd41f9..6881ea9 100644
+--- a/src/qwt_graphic.h
++++ b/src/qwt_graphic.h
+@@ -14,6 +14,7 @@
+ #include "qwt_null_paintdevice.h"
+ #include <qmetatype.h>
+ #include <qimage.h>
++#include <qpainterpath.h>
+ #include <qpixmap.h>
+ 
+ class QwtPainterCommand;
+diff --git a/src/qwt_null_paintdevice.cpp b/src/qwt_null_paintdevice.cpp
+index 3baf0e9..468a838 100644
+--- a/src/qwt_null_paintdevice.cpp
++++ b/src/qwt_null_paintdevice.cpp
+@@ -9,6 +9,7 @@
+ 
+ #include "qwt_null_paintdevice.h"
+ #include <qpaintengine.h>
++#include <qpainterpath.h>
+ #include <qpixmap.h>
+ 
+ class QwtNullPaintDevice::PrivateData
+diff --git a/src/qwt_null_paintdevice.h b/src/qwt_null_paintdevice.h
+index e4e9cad..b804429 100644
+--- a/src/qwt_null_paintdevice.h
++++ b/src/qwt_null_paintdevice.h
+@@ -13,6 +13,7 @@
+ #include "qwt_global.h"
+ #include <qpaintdevice.h>
+ #include <qpaintengine.h>
++#include <qpainterpath.h>
+ 
+ /*!
+   \brief A null paint device doing nothing
+diff --git a/src/qwt_painter.cpp b/src/qwt_painter.cpp
+index 7959fe5..626677f 100644
+--- a/src/qwt_painter.cpp
++++ b/src/qwt_painter.cpp
+@@ -17,6 +17,7 @@
+ #include <qframe.h>
+ #include <qrect.h>
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpalette.h>
+ #include <qpaintdevice.h>
+ #include <qpixmap.h>
+diff --git a/src/qwt_painter.h b/src/qwt_painter.h
+index c0a0ff7..bcbe289 100644
+--- a/src/qwt_painter.h
++++ b/src/qwt_painter.h
+@@ -16,6 +16,8 @@
+ #include <qrect.h>
+ #include <qpen.h>
+ #include <qline.h>
++#include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpalette.h>
+ 
+ class QPainter;
+diff --git a/src/qwt_painter_command.h b/src/qwt_painter_command.h
+index a2f509a..a49ee52 100644
+--- a/src/qwt_painter_command.h
++++ b/src/qwt_painter_command.h
+@@ -12,6 +12,8 @@
+ 
+ #include "qwt_global.h"
+ #include <qpaintengine.h>
++#include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpixmap.h>
+ #include <qimage.h>
+ #include <qpolygon.h>
+diff --git a/src/qwt_plot_canvas.cpp b/src/qwt_plot_canvas.cpp
+index 9438f15..bfe660d 100644
+--- a/src/qwt_plot_canvas.cpp
++++ b/src/qwt_plot_canvas.cpp
+@@ -13,6 +13,7 @@
+ #include "qwt_math.h"
+ #include "qwt_plot.h"
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qstyle.h>
+ #include <qstyleoption.h>
+ #include <qpaintengine.h>
+diff --git a/src/qwt_plot_canvas.h b/src/qwt_plot_canvas.h
+index c79e4e4..90a32ce 100644
+--- a/src/qwt_plot_canvas.h
++++ b/src/qwt_plot_canvas.h
+@@ -12,6 +12,7 @@
+ 
+ #include "qwt_global.h"
+ #include <qframe.h>
++#include <qpainter.h>
+ #include <qpainterpath.h>
+ 
+ class QwtPlot;
+diff --git a/src/qwt_plot_glcanvas.cpp b/src/qwt_plot_glcanvas.cpp
+index 996c0ad..6975863 100644
+--- a/src/qwt_plot_glcanvas.cpp
++++ b/src/qwt_plot_glcanvas.cpp
+@@ -12,6 +12,7 @@
+ #include "qwt_painter.h"
+ #include <qevent.h>
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qdrawutil.h>
+ #include <qstyle.h>
+ #include <qstyleoption.h>
+diff --git a/src/qwt_plot_glcanvas.h b/src/qwt_plot_glcanvas.h
+index 7ca9b5a..a6c01e0 100644
+--- a/src/qwt_plot_glcanvas.h
++++ b/src/qwt_plot_glcanvas.h
+@@ -13,6 +13,8 @@
+ #include "qwt_global.h"
+ #include <qframe.h>
+ #include <qgl.h>
++#include <qpainter.h>
++#include <qpainterpath.h>
+ 
+ class QwtPlot;
+ 
+diff --git a/src/qwt_plot_panner.cpp b/src/qwt_plot_panner.cpp
+index b7daa05..2f31d05 100644
+--- a/src/qwt_plot_panner.cpp
++++ b/src/qwt_plot_panner.cpp
+@@ -14,6 +14,8 @@
+ #include <qbitmap.h>
+ #include <qstyle.h>
+ #include <qstyleoption.h>
++#include <qpainter.h>
++#include <qpainterpath.h>
+ 
+ #if QT_VERSION >= 0x050000
+ #if QT_VERSION < 0x050100
+diff --git a/src/qwt_plot_renderer.cpp b/src/qwt_plot_renderer.cpp
+index 549c4bc..71cadec 100644
+--- a/src/qwt_plot_renderer.cpp
++++ b/src/qwt_plot_renderer.cpp
+@@ -20,6 +20,7 @@
+ #include "qwt_math.h"
+ 
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qtransform.h>
+ #include <qprinter.h>
+ #include <qfiledialog.h>
+diff --git a/src/qwt_plot_shapeitem.cpp b/src/qwt_plot_shapeitem.cpp
+index db7896b..09efd95 100644
+--- a/src/qwt_plot_shapeitem.cpp
++++ b/src/qwt_plot_shapeitem.cpp
+@@ -13,6 +13,9 @@
+ #include "qwt_curve_fitter.h"
+ #include "qwt_clipper.h"
+ 
++#include <qpainter.h>
++#include <qpainterpath.h>
++
+ static QPainterPath qwtTransformPath( const QwtScaleMap &xMap,
+         const QwtScaleMap &yMap, const QPainterPath &path, bool doAlign )
+ {
+diff --git a/src/qwt_symbol.h b/src/qwt_symbol.h
+index 538778d..2961ebe 100644
+--- a/src/qwt_symbol.h
++++ b/src/qwt_symbol.h
+@@ -11,6 +11,8 @@
+ #define QWT_SYMBOL_H
+ 
+ #include "qwt_global.h"
++#include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpolygon.h>
+ 
+ class QPainter;
+diff --git a/src/qwt_widget_overlay.cpp b/src/qwt_widget_overlay.cpp
+index 5974413..fa6da48 100644
+--- a/src/qwt_widget_overlay.cpp
++++ b/src/qwt_widget_overlay.cpp
+@@ -10,6 +10,7 @@
+ #include "qwt_widget_overlay.h"
+ #include "qwt_painter.h"
+ #include <qpainter.h>
++#include <qpainterpath.h>
+ #include <qpaintengine.h>
+ #include <qimage.h>
+ #include <qevent.h>
+-- 
+2.26.2
+

diff --git a/x11-libs/qwt/qwt-6.1.4.ebuild b/x11-libs/qwt/qwt-6.1.4.ebuild
new file mode 100644
index 00000000000..de7c9031761
--- /dev/null
+++ b/x11-libs/qwt/qwt-6.1.4.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils
+
+DESCRIPTION="2D plotting library for Qt5"
+HOMEPAGE="https://qwt.sourceforge.net/";
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.bz2"
+
+LICENSE="qwt mathml? ( LGPL-2.1 Nokia-Qt-LGPL-Exception-1.1 )"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux 
~x86-macos"
+SLOT="6/1.4"
+IUSE="designer doc examples mathml opengl svg"
+
+DEPEND="
+       dev-qt/qtconcurrent:5
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtprintsupport:5
+       dev-qt/qtwidgets:5
+       designer? ( dev-qt/designer:5 )
+       opengl? (
+               dev-qt/qtopengl:5
+               virtual/opengl
+       )
+       svg? ( dev-qt/qtsvg:5 )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGES-6.1 README )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.0.2-invalid-read.patch
+       "${FILESDIR}"/${PN}-6.1.1-pc-destdir.patch
+       "${FILESDIR}"/${P}-qt-5.15.patch # trunk
+)
+
+src_prepare() {
+       default
+
+       cat > qwtconfig.pri <<-EOF
+               QWT_INSTALL_LIBS = "${EPREFIX}/usr/$(get_libdir)"
+               QWT_INSTALL_HEADERS = "${EPREFIX}/usr/include/qwt6"
+               QWT_INSTALL_DOCS = "${EPREFIX}/usr/share/doc/${PF}"
+               QWT_CONFIG += QwtPlot QwtWidgets QwtPkgConfig
+               VERSION = ${PV/_*}
+               QWT_VERSION = ${PV/_*}
+       EOF
+
+       use designer && echo "QWT_CONFIG += QwtDesigner" >> qwtconfig.pri
+       use mathml && echo "QWT_CONFIG += QwtMathML" >> qwtconfig.pri
+       use opengl && echo "QWT_CONFIG += QwtOpenGL" >> qwtconfig.pri
+       use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
+
+       cat > qwtbuild.pri <<-EOF
+               QWT_CONFIG += qt warn_on thread release no_keywords
+       EOF
+
+       echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri
+
+       cat >> qwtconfig.pri <<-EOF
+               QWT_INSTALL_PLUGINS   = 
"${EPREFIX}$(qt5_get_plugindir)/designer"
+               QWT_INSTALL_FEATURES  = 
"${EPREFIX}$(qt5_get_mkspecsdir)/features"
+       EOF
+       sed \
+               -e 's/target doc/target/' \
+               -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \
+               -e "/^TARGET/s:qwt):qwt6-qt5):g" \
+               -i src/src.pro || die
+
+       sed \
+               -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \
+               -e '/qwtAddLibrary/s:qwt):qwt6-qt5):g' \
+               -i qwt.prf designer/designer.pro examples/examples.pri \
+               textengines/mathml/qwtmathml.prf textengines/textengines.pri || 
die
+}
+
+src_configure() {
+       eqmake5
+}
+
+src_compile() {
+       default
+}
+
+src_test() {
+       cd examples || die
+       eqmake5 examples.pro
+       emake
+}
+
+src_install() {
+       emake INSTALL_ROOT="${D}" install
+
+       if use mathml; then
+               sed \
+                       -e "s: -L\"${WORKDIR}\".* -lqwt6: -lqwt6:g" \
+                       -i "${ED}"/usr/$(get_libdir)/pkgconfig/qwtmathml.pc || 
die
+       fi
+
+       if use doc; then
+               local HTML_DOCS=( doc/html/. )
+       else
+               rm -r "${ED}"/usr/share/doc/${PF}/html || die
+       fi
+
+       einstalldocs
+
+       mkdir -p "${ED}"/usr/share/man/ || die
+       mv "${ED}"/usr/share/doc/${PF}/man/man3 "${ED}"/usr/share/man/ && \
+               rmdir "${ED}"/usr/share/doc/${PF}/man || die
+
+       if use examples; then
+               # don't build examples - fix the qt files to build once 
installed
+               cat > examples/examples.pri <<-EOF
+                       include( qwtconfig.pri )
+                       TEMPLATE     = app
+                       MOC_DIR      = moc
+                       INCLUDEPATH += "${EPREFIX}/usr/include/qwt6"
+                       DEPENDPATH  += "${EPREFIX}/usr/include/qwt6"
+                       LIBS        += -lqwt6
+               EOF
+               sed -i -e 's:../qwtconfig:qwtconfig:' examples/examples.pro || 
die
+               cp *.pri examples/ || die
+               insinto /usr/share/${PN}6
+               doins -r examples
+       fi
+}

Reply via email to