Bug#907013: calligra FTBFS, missing QT includes.
Package: calligra
Version: 3.1.0+dfsg-2
Severity: serious
Tags: patch
Looks like calligra recently started to FTBFS, I first saw this in raspbian but it is also happening on the reproducible builds test infrastructure, so it's not raspbian specific.
http://buildd.raspbian.org/status/fetch.php?pkg=calligra&arch=armhf&ver=1%3A3.1.0%2Bdfsg-2%2Bb5&stamp=1534965502
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/calligra.html
/<<BUILDDIR>>/calligra-3.1.0+dfsg/libs/widgets/KoPageLayoutWidget.cpp:157:33: error: invalid use of incomplete type 'class QButtonGroup'
Q_ASSERT(d->orientationGroup->button( layout.orientation ));
^~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qradiobutton.h:44,
from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/QRadioButton:1,
from /<<BUILDDIR>>/calligra-3.1.0+dfsg/obj-arm-linux-gnueabihf/libs/widgets/ui_KoPageLayoutWidget.h:22,
from /<<BUILDDIR>>/calligra-3.1.0+dfsg/libs/widgets/KoPageLayoutWidget.cpp:22:
/usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qabstractbutton.h:53:7: note: forward declaration of 'class QButtonGroup'
class QButtonGroup;
I presume this was triggered by a new version of one or more qt libraries.
The FTBFS can be fixed by explicitly adding includes for the incomplete types.
Debdiff attatched, no intent to NMU.
diff -Nru calligra-3.1.0+dfsg/debian/changelog calligra-3.1.0+dfsg/debian/changelog
--- calligra-3.1.0+dfsg/debian/changelog 2018-03-09 08:37:57.000000000 +0000
+++ calligra-3.1.0+dfsg/debian/changelog 2018-08-22 20:34:52.000000000 +0000
@@ -1,3 +1,9 @@
+calligra (1:3.1.0+dfsg-2+rpi1) buster-staging; urgency=medium
+
+ * Add missing qt includes.
+
+ -- Peter Michael Green <plugwash@raspbian.org> Wed, 22 Aug 2018 20:34:52 +0000
+
calligra (1:3.1.0+dfsg-2) unstable; urgency=medium
* Team upload.
diff -Nru calligra-3.1.0+dfsg/debian/patches/add-missing-includes.patch calligra-3.1.0+dfsg/debian/patches/add-missing-includes.patch
--- calligra-3.1.0+dfsg/debian/patches/add-missing-includes.patch 1970-01-01 00:00:00.000000000 +0000
+++ calligra-3.1.0+dfsg/debian/patches/add-missing-includes.patch 2018-08-22 20:34:52.000000000 +0000
@@ -0,0 +1,102 @@
+Description: Add missing qt includes.
+Author: Peter Michael Green <plugwash@raspbian.org>
+Last-Update: 2018-08-22
+
+Index: calligra-3.1.0+dfsg/libs/widgets/KoPageLayoutWidget.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/libs/widgets/KoPageLayoutWidget.cpp
++++ calligra-3.1.0+dfsg/libs/widgets/KoPageLayoutWidget.cpp
+@@ -22,6 +22,7 @@
+ #include <ui_KoPageLayoutWidget.h>
+
+ #include <KoUnit.h>
++#include <QButtonGroup>
+
+ class Q_DECL_HIDDEN KoPageLayoutWidget::Private
+ {
+Index: calligra-3.1.0+dfsg/libs/widgets/KoCsvImportDialog.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/libs/widgets/KoCsvImportDialog.cpp
++++ calligra-3.1.0+dfsg/libs/widgets/KoCsvImportDialog.cpp
+@@ -37,6 +37,8 @@
+
+ #include "ui_KoCsvImportDialog.h"
+
++#include <QButtonGroup>
++
+ class KoCsvImportWidget : public QWidget, public Ui::KoCsvImportWidget
+ {
+ Q_OBJECT
+Index: calligra-3.1.0+dfsg/plugins/chartshape/dialogs/TableEditorDialog.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/plugins/chartshape/dialogs/TableEditorDialog.cpp
++++ calligra-3.1.0+dfsg/plugins/chartshape/dialogs/TableEditorDialog.cpp
+@@ -33,6 +33,7 @@
+ #include "ChartTableView.h"
+ #include "ChartDebug.h"
+
++#include <QAction>
+
+ using namespace KoChart;
+
+Index: calligra-3.1.0+dfsg/words/part/dialogs/KWRunAroundProperties.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/words/part/dialogs/KWRunAroundProperties.cpp
++++ calligra-3.1.0+dfsg/words/part/dialogs/KWRunAroundProperties.cpp
+@@ -28,6 +28,8 @@
+
+ #include <kundo2command.h>
+
++#include <QButtonGroup>
++
+ KWRunAroundProperties::KWRunAroundProperties(FrameConfigSharedState *state)
+ : m_state(state)
+ {
+Index: calligra-3.1.0+dfsg/words/part/dialogs/KWAnchoringProperties.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/words/part/dialogs/KWAnchoringProperties.cpp
++++ calligra-3.1.0+dfsg/words/part/dialogs/KWAnchoringProperties.cpp
+@@ -36,6 +36,7 @@
+ #include <kundo2command.h>
+
+ #include <QComboBox>
++#include <QButtonGroup>
+
+ const int KWAnchoringProperties::vertRels[4][20] = {
+ { // KoShapeAnchor::AnchorAsCharacter
+Index: calligra-3.1.0+dfsg/plugins/formulashape/FormulaToolWidget.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/plugins/formulashape/FormulaToolWidget.cpp
++++ calligra-3.1.0+dfsg/plugins/formulashape/FormulaToolWidget.cpp
+@@ -31,6 +31,7 @@
+ #include <QTableWidget>
+ #include <QAction>
+ #include <QMenu>
++#include <QHeaderView>
+
+ FormulaToolWidget::FormulaToolWidget( KoFormulaTool* tool, QWidget* parent )
+ : QTabWidget( parent )
+Index: calligra-3.1.0+dfsg/stage/part/KPrPresentationTool.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/stage/part/KPrPresentationTool.cpp
++++ calligra-3.1.0+dfsg/stage/part/KPrPresentationTool.cpp
+@@ -32,6 +32,7 @@
+ #include <QDesktopServices>
+ #include <QUrl>
+ #include <QDBusConnection>
++#include <QFrame>
+
+ #include <KoShape.h>
+ #include <KoShapeManager.h>
+Index: calligra-3.1.0+dfsg/sheets/dialogs/LayoutDialog.cpp
+===================================================================
+--- calligra-3.1.0+dfsg.orig/sheets/dialogs/LayoutDialog.cpp
++++ calligra-3.1.0+dfsg/sheets/dialogs/LayoutDialog.cpp
+@@ -49,6 +49,7 @@
+ #include <QGridLayout>
+ #include <QPixmap>
+ #include <QSpinBox>
++#include <QButtonGroup>
+
+ #include <kcolorbutton.h>
+ #include <kcombobox.h>
diff -Nru calligra-3.1.0+dfsg/debian/patches/series calligra-3.1.0+dfsg/debian/patches/series
--- calligra-3.1.0+dfsg/debian/patches/series 1970-01-01 00:00:00.000000000 +0000
+++ calligra-3.1.0+dfsg/debian/patches/series 2018-08-22 20:34:52.000000000 +0000
@@ -0,0 +1 @@
+add-missing-includes.patch
Reply to: