Skip to content
Permalink
Browse files

debian packaging: include Qt53DExtra headers removed on debian/ubuntu

  • Loading branch information
jef-n committed Sep 4, 2018
1 parent d449d41 commit 1f918583e85732428b7ff75db1ef3d0078b5873c
Showing with 4,035 additions and 19 deletions.
  1. +14 −15 debian/control.in
  2. +1 −1 debian/libqgis-dev.install.in
  3. +9 −2 debian/rules
  4. +1 −0 external/qt3dextra-headers/Qt3DExtras/QAbstractCameraController
  5. +1 −0 external/qt3dextra-headers/Qt3DExtras/QAbstractSpriteSheet
  6. +1 −0 external/qt3dextra-headers/Qt3DExtras/QConeGeometry
  7. +1 −0 external/qt3dextra-headers/Qt3DExtras/QConeMesh
  8. +1 −0 external/qt3dextra-headers/Qt3DExtras/QCuboidGeometry
  9. +1 −0 external/qt3dextra-headers/Qt3DExtras/QCuboidMesh
  10. +1 −0 external/qt3dextra-headers/Qt3DExtras/QCylinderGeometry
  11. +1 −0 external/qt3dextra-headers/Qt3DExtras/QCylinderMesh
  12. +1 −0 external/qt3dextra-headers/Qt3DExtras/QDiffuseMapMaterial
  13. +1 −0 external/qt3dextra-headers/Qt3DExtras/QDiffuseSpecularMapMaterial
  14. +1 −0 external/qt3dextra-headers/Qt3DExtras/QDiffuseSpecularMaterial
  15. +1 −0 external/qt3dextra-headers/Qt3DExtras/QExtrudedTextGeometry
  16. +1 −0 external/qt3dextra-headers/Qt3DExtras/QExtrudedTextMesh
  17. +1 −0 external/qt3dextra-headers/Qt3DExtras/QFirstPersonCameraController
  18. +1 −0 external/qt3dextra-headers/Qt3DExtras/QForwardRenderer
  19. +1 −0 external/qt3dextra-headers/Qt3DExtras/QGoochMaterial
  20. +1 −0 external/qt3dextra-headers/Qt3DExtras/QMetalRoughMaterial
  21. +1 −0 external/qt3dextra-headers/Qt3DExtras/QMorphPhongMaterial
  22. +1 −0 external/qt3dextra-headers/Qt3DExtras/QNormalDiffuseMapAlphaMaterial
  23. +1 −0 external/qt3dextra-headers/Qt3DExtras/QNormalDiffuseMapMaterial
  24. +1 −0 external/qt3dextra-headers/Qt3DExtras/QNormalDiffuseSpecularMapMaterial
  25. +1 −0 external/qt3dextra-headers/Qt3DExtras/QOrbitCameraController
  26. +1 −0 external/qt3dextra-headers/Qt3DExtras/QPerVertexColorMaterial
  27. +1 −0 external/qt3dextra-headers/Qt3DExtras/QPhongAlphaMaterial
  28. +1 −0 external/qt3dextra-headers/Qt3DExtras/QPhongMaterial
  29. +1 −0 external/qt3dextra-headers/Qt3DExtras/QPlaneGeometry
  30. +1 −0 external/qt3dextra-headers/Qt3DExtras/QPlaneMesh
  31. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSkyboxEntity
  32. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSphereGeometry
  33. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSphereMesh
  34. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSpriteGrid
  35. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSpriteSheet
  36. +1 −0 external/qt3dextra-headers/Qt3DExtras/QSpriteSheetItem
  37. +1 −0 external/qt3dextra-headers/Qt3DExtras/QText2DEntity
  38. +1 −0 external/qt3dextra-headers/Qt3DExtras/QTextureMaterial
  39. +1 −0 external/qt3dextra-headers/Qt3DExtras/QTorusGeometry
  40. +1 −0 external/qt3dextra-headers/Qt3DExtras/QTorusMesh
  41. +44 −0 external/qt3dextra-headers/Qt3DExtras/Qt3DExtras
  42. +9 −0 external/qt3dextra-headers/Qt3DExtras/Qt3DExtrasDepends
  43. +1 −0 external/qt3dextra-headers/Qt3DExtras/Qt3DExtrasVersion
  44. +1 −0 external/qt3dextra-headers/Qt3DExtras/Qt3DWindow
  45. +127 −0 external/qt3dextra-headers/Qt3DExtras/qabstractcameracontroller.h
  46. +93 −0 external/qt3dextra-headers/Qt3DExtras/qabstractspritesheet.h
  47. +120 −0 external/qt3dextra-headers/Qt3DExtras/qconegeometry.h
  48. +108 −0 external/qt3dextra-headers/Qt3DExtras/qconemesh.h
  49. +122 −0 external/qt3dextra-headers/Qt3DExtras/qcuboidgeometry.h
  50. +108 −0 external/qt3dextra-headers/Qt3DExtras/qcuboidmesh.h
  51. +109 −0 external/qt3dextra-headers/Qt3DExtras/qcylindergeometry.h
  52. +97 −0 external/qt3dextra-headers/Qt3DExtras/qcylindermesh.h
  53. +100 −0 external/qt3dextra-headers/Qt3DExtras/qdiffusemapmaterial.h
  54. +99 −0 external/qt3dextra-headers/Qt3DExtras/qdiffusespecularmapmaterial.h
  55. +102 −0 external/qt3dextra-headers/Qt3DExtras/qdiffusespecularmaterial.h
  56. +113 −0 external/qt3dextra-headers/Qt3DExtras/qextrudedtextgeometry.h
  57. +93 −0 external/qt3dextra-headers/Qt3DExtras/qextrudedtextmesh.h
  58. +62 −0 external/qt3dextra-headers/Qt3DExtras/qfirstpersoncameracontroller.h
  59. +106 −0 external/qt3dextra-headers/Qt3DExtras/qforwardrenderer.h
  60. +105 −0 external/qt3dextra-headers/Qt3DExtras/qgoochmaterial.h
  61. +105 −0 external/qt3dextra-headers/Qt3DExtras/qmetalroughmaterial.h
  62. +92 −0 external/qt3dextra-headers/Qt3DExtras/qmorphphongmaterial.h
  63. +67 −0 external/qt3dextra-headers/Qt3DExtras/qnormaldiffusemapalphamaterial.h
  64. +107 −0 external/qt3dextra-headers/Qt3DExtras/qnormaldiffusemapmaterial.h
  65. +101 −0 external/qt3dextra-headers/Qt3DExtras/qnormaldiffusespecularmapmaterial.h
  66. +78 −0 external/qt3dextra-headers/Qt3DExtras/qorbitcameracontroller.h
  67. +69 −0 external/qt3dextra-headers/Qt3DExtras/qpervertexcolormaterial.h
  68. +117 −0 external/qt3dextra-headers/Qt3DExtras/qphongalphamaterial.h
  69. +90 −0 external/qt3dextra-headers/Qt3DExtras/qphongmaterial.h
  70. +113 −0 external/qt3dextra-headers/Qt3DExtras/qplanegeometry.h
  71. +98 −0 external/qt3dextra-headers/Qt3DExtras/qplanemesh.h
  72. +84 −0 external/qt3dextra-headers/Qt3DExtras/qskyboxentity.h
  73. +112 −0 external/qt3dextra-headers/Qt3DExtras/qspheregeometry.h
  74. +98 −0 external/qt3dextra-headers/Qt3DExtras/qspheremesh.h
  75. +82 −0 external/qt3dextra-headers/Qt3DExtras/qspritegrid.h
  76. +81 −0 external/qt3dextra-headers/Qt3DExtras/qspritesheet.h
  77. +86 −0 external/qt3dextra-headers/Qt3DExtras/qspritesheetitem.h
  78. +59 −0 external/qt3dextra-headers/Qt3DExtras/qt3dextras_global.h
  79. +9 −0 external/qt3dextra-headers/Qt3DExtras/qt3dextrasversion.h
  80. +124 −0 external/qt3dextra-headers/Qt3DExtras/qt3dwindow.h
  81. +98 −0 external/qt3dextra-headers/Qt3DExtras/qtext2dentity.h
  82. +67 −0 external/qt3dextra-headers/Qt3DExtras/qtexturedmetalroughmaterial.h
  83. +97 −0 external/qt3dextra-headers/Qt3DExtras/qtexturematerial.h
  84. +111 −0 external/qt3dextra-headers/Qt3DExtras/qtorusgeometry.h
  85. +96 −0 external/qt3dextra-headers/Qt3DExtras/qtorusmesh.h
  86. +1 −0 external/qt3dextra-headers/README
  87. +8 −0 external/qt3dextra-headers/cmake/Qt53DExtras/Qt53DExtrasConfig.cmake
  88. +1 −1 scripts/astyle.sh
  89. +1 −0 src/3d/CMakeLists.txt
  90. +3 −0 src/app/CMakeLists.txt
@@ -40,8 +40,7 @@ Build-Depends:
graphviz,
xvfb, xauth,
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
#sid buster bionic cosmic# libosgearth-dev,
#bionic# qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#sid buster bionic cosmic# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#oracle# oracle-instantclient12.1-devel, oracle-instantclient12.1-basiclite,
locales, ca-certificates, ninja-build
Build-Conflicts: libqgis-dev, qgis-dev
@@ -148,19 +147,19 @@ Description: QGIS - shared native gui library
.
This package contains the shared native gui library.

#bionic#Package: libqgis-3d{QGIS_ABI}
#bionic#Architecture: any
#bionic#Section: libs
#bionic#Depends:
#bionic# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#bionic# ${shlibs:Depends},
#bionic# ${misc:Depends}
#bionic#Description: QGIS - shared 3d library
#bionic# QGIS is a Geographic Information System (GIS) which manages, analyzes and
#bionic# display databases of geographic information.
#bionic# .
#bionic# This package contains the shared 3d library.
#bionic#
#sid buster bionic cosmic#Package: libqgis-3d{QGIS_ABI}
#sid buster bionic cosmic#Architecture: any
#sid buster bionic cosmic#Section: libs
#sid buster bionic cosmic#Depends:
#sid buster bionic cosmic# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#sid buster bionic cosmic# ${shlibs:Depends},
#sid buster bionic cosmic# ${misc:Depends}
#sid buster bionic cosmic#Description: QGIS - shared 3d library
#sid buster bionic cosmic# QGIS is a Geographic Information System (GIS) which manages, analyzes and
#sid buster bionic cosmic# display databases of geographic information.
#sid buster bionic cosmic# .
#sid buster bionic cosmic# This package contains the shared 3d library.
#sid buster bionic cosmic#
Package: libqgisgrass{GRASSVER}-{QGIS_ABI}
Architecture: any
Section: libs
@@ -8,4 +8,4 @@ usr/lib/libqgis_server.so
usr/lib/libqgisgrass{GRASSVER}.so
usr/lib/libqgispython.so
usr/share/qgis/FindQGIS.cmake
#artful bionic#usr/lib/libqgis_3d.so
#sid buster bionic cosmic#usr/lib/libqgis_3d.so
@@ -104,11 +104,18 @@ ifneq (,$(findstring $(DISTRIBUTION),"sid buster stretch"))
CMAKE_OPTS += -DPOSTGRES_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libpq.so
endif

ifneq (,$(findstring $(DISTRIBUTION),"bionic"))
# Only on bionic - Qt3DExtras intentionally removed from debian (#895386) and in turn ubuntu
ifneq (,$(findstring $(DISTRIBUTION),"sid buster bionic cosmic"))
CMAKE_OPTS += \
-DWITH_3D=TRUE \
-DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so

ifneq (,$(findstring $(DISTRIBUTION),"sid buster cosmic"))
# Qt3DExtras intentionally removed from debian (#895386) and in turn ubuntu
CMAKE_OPTS += \
-DCMAKE_PREFIX_PATH=$(realpath external/qt3dextra-headers/cmake) \
-DQT5_3DEXTRA_INCLUDE_DIR=$(realpath external/qt3dextra-headers) \
-DQT5_3DEXTRA_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libQt53DExtras.so
endif
endif

ifneq (,$(WITH_ORACLE))
@@ -0,0 +1 @@
#include "qabstractcameracontroller.h"
@@ -0,0 +1 @@
#include "qabstractspritesheet.h"
@@ -0,0 +1 @@
#include "qconegeometry.h"
@@ -0,0 +1 @@
#include "qconemesh.h"
@@ -0,0 +1 @@
#include "qcuboidgeometry.h"
@@ -0,0 +1 @@
#include "qcuboidmesh.h"
@@ -0,0 +1 @@
#include "qcylindergeometry.h"
@@ -0,0 +1 @@
#include "qcylindermesh.h"
@@ -0,0 +1 @@
#include "qdiffusemapmaterial.h"
@@ -0,0 +1 @@
#include "qdiffusespecularmapmaterial.h"
@@ -0,0 +1 @@
#include "qdiffusespecularmaterial.h"
@@ -0,0 +1 @@
#include "qextrudedtextgeometry.h"
@@ -0,0 +1 @@
#include "qextrudedtextmesh.h"
@@ -0,0 +1 @@
#include "qfirstpersoncameracontroller.h"
@@ -0,0 +1 @@
#include "qforwardrenderer.h"
@@ -0,0 +1 @@
#include "qgoochmaterial.h"
@@ -0,0 +1 @@
#include "qmetalroughmaterial.h"
@@ -0,0 +1 @@
#include "qmorphphongmaterial.h"
@@ -0,0 +1 @@
#include "qnormaldiffusemapalphamaterial.h"
@@ -0,0 +1 @@
#include "qnormaldiffusemapmaterial.h"
@@ -0,0 +1 @@
#include "qnormaldiffusespecularmapmaterial.h"
@@ -0,0 +1 @@
#include "qorbitcameracontroller.h"
@@ -0,0 +1 @@
#include "qpervertexcolormaterial.h"
@@ -0,0 +1 @@
#include "qphongalphamaterial.h"
@@ -0,0 +1 @@
#include "qphongmaterial.h"
@@ -0,0 +1 @@
#include "qplanegeometry.h"
@@ -0,0 +1 @@
#include "qplanemesh.h"
@@ -0,0 +1 @@
#include "qskyboxentity.h"
@@ -0,0 +1 @@
#include "qspheregeometry.h"
@@ -0,0 +1 @@
#include "qspheremesh.h"
@@ -0,0 +1 @@
#include "qspritegrid.h"
@@ -0,0 +1 @@
#include "qspritesheet.h"
@@ -0,0 +1 @@
#include "qspritesheetitem.h"
@@ -0,0 +1 @@
#include "qtext2dentity.h"
@@ -0,0 +1 @@
#include "qtexturematerial.h"
@@ -0,0 +1 @@
#include "qtorusgeometry.h"
@@ -0,0 +1 @@
#include "qtorusmesh.h"
@@ -0,0 +1,44 @@
#ifndef QT_QT3DEXTRAS_MODULE_H
#define QT_QT3DEXTRAS_MODULE_H
#include <Qt3DExtras/Qt3DExtrasDepends>
#include "qabstractcameracontroller.h"
#include "qabstractspritesheet.h"
#include "qconegeometry.h"
#include "qconemesh.h"
#include "qcuboidgeometry.h"
#include "qcuboidmesh.h"
#include "qcylindergeometry.h"
#include "qcylindermesh.h"
#include "qdiffusemapmaterial.h"
#include "qdiffusespecularmapmaterial.h"
#include "qdiffusespecularmaterial.h"
#include "qextrudedtextgeometry.h"
#include "qextrudedtextmesh.h"
#include "qfirstpersoncameracontroller.h"
#include "qforwardrenderer.h"
#include "qgoochmaterial.h"
#include "qmetalroughmaterial.h"
#include "qmorphphongmaterial.h"
#include "qnormaldiffusemapalphamaterial.h"
#include "qnormaldiffusemapmaterial.h"
#include "qnormaldiffusespecularmapmaterial.h"
#include "qorbitcameracontroller.h"
#include "qpervertexcolormaterial.h"
#include "qphongalphamaterial.h"
#include "qphongmaterial.h"
#include "qplanegeometry.h"
#include "qplanemesh.h"
#include "qskyboxentity.h"
#include "qspheregeometry.h"
#include "qspheremesh.h"
#include "qspritegrid.h"
#include "qspritesheet.h"
#include "qspritesheetitem.h"
#include "qt3dwindow.h"
#include "qtext2dentity.h"
#include "qtexturedmetalroughmaterial.h"
#include "qtexturematerial.h"
#include "qtorusgeometry.h"
#include "qtorusmesh.h"
#include "qt3dextrasversion.h"
#endif
@@ -0,0 +1,9 @@
/* This file was generated by qmake with the info from <root>/src/extras/extras.pro. */
#ifdef __cplusplus /* create empty PCH in C mode */
#include <QtCore/QtCore>
#include <QtGui/QtGui>
#include <Qt3DCore/Qt3DCore>
#include <Qt3DRender/Qt3DRender>
#include <Qt3DInput/Qt3DInput>
#include <Qt3DLogic/Qt3DLogic>
#endif
@@ -0,0 +1 @@
#include "qt3dextrasversion.h"
@@ -0,0 +1 @@
#include "qt3dwindow.h"
@@ -0,0 +1,127 @@
/****************************************************************************
**
** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#ifndef QT3DEXTRAS_QABSTRACTCAMERACONTROLLER_H
#define QT3DEXTRAS_QABSTRACTCAMERACONTROLLER_H

#include <Qt3DCore/QEntity>
#include <Qt3DExtras/qt3dextras_global.h>

QT_BEGIN_NAMESPACE

namespace Qt3DInput {
class QKeyboardDevice;
class QMouseDevice;
}

namespace Qt3DRender {
class QCamera;
}

namespace Qt3DExtras {

class QAbstractCameraControllerPrivate;

class QT3DEXTRASSHARED_EXPORT QAbstractCameraController : public Qt3DCore::QEntity
{
Q_OBJECT
Q_PROPERTY(Qt3DRender::QCamera *camera READ camera WRITE setCamera NOTIFY cameraChanged)
Q_PROPERTY(float linearSpeed READ linearSpeed WRITE setLinearSpeed NOTIFY linearSpeedChanged)
Q_PROPERTY(float lookSpeed READ lookSpeed WRITE setLookSpeed NOTIFY lookSpeedChanged)
Q_PROPERTY(float acceleration READ acceleration WRITE setAcceleration NOTIFY accelerationChanged)
Q_PROPERTY(float deceleration READ deceleration WRITE setDeceleration NOTIFY decelerationChanged)

public:
~QAbstractCameraController();

Qt3DRender::QCamera *camera() const;
float linearSpeed() const;
float lookSpeed() const;

float acceleration() const;
float deceleration() const;

void setCamera(Qt3DRender::QCamera *camera);
void setLinearSpeed(float linearSpeed);
void setLookSpeed(float lookSpeed);

void setAcceleration(float acceleration);
void setDeceleration(float deceleration);

Q_SIGNALS:
void cameraChanged();
void linearSpeedChanged();
void lookSpeedChanged();

void accelerationChanged(float acceleration);
void decelerationChanged(float deceleration);

protected:
explicit QAbstractCameraController(Qt3DCore::QNode *parent = nullptr);
QAbstractCameraController(QAbstractCameraControllerPrivate &dd, Qt3DCore::QNode *parent = nullptr);

Qt3DInput::QKeyboardDevice *keyboardDevice() const;
Qt3DInput::QMouseDevice *mouseDevice() const;

public:
struct InputState
{
float rxAxisValue;
float ryAxisValue;
float txAxisValue;
float tyAxisValue;
float tzAxisValue;

bool leftMouseButtonActive;
bool middleMouseButtonActive;
bool rightMouseButtonActive;

bool altKeyActive;
bool shiftKeyActive;
};

private:
virtual void moveCamera(const InputState &state, float dt) = 0;

private:
Q_DECLARE_PRIVATE(QAbstractCameraController)
};

} // Qt3DExtras

QT_END_NAMESPACE

#endif // QT3DEXTRAS_QABSTRACTCAMERACONTROLLER_H

5 comments on commit 1f91858

@nirvn

This comment has been minimized.

Copy link
Contributor

@nirvn nirvn replied Sep 5, 2018

@jef-n , oh great, I was waiting for that to update my system to ubuntu cosmic; thanks.

@nirvn

This comment has been minimized.

Copy link
Contributor

@nirvn nirvn replied Sep 18, 2018

@jef-n , the Qt53DExtrasConfig.cmake seems to be malformed (this line:

), cmake complains, I suspect it's because of the mixed use of spaces and tabs alignment.

@jef-n

This comment has been minimized.

Copy link
Member Author

@jef-n jef-n replied Sep 18, 2018

@jef-n , the Qt53DExtrasConfig.cmake seems to be malformed

Did you set QT5_3DEXTRA_LIBRARY/QT5_3DEXTRA_INCLUDE_DIR (see debian/rules)?

@nirvn

This comment has been minimized.

Copy link
Contributor

@nirvn nirvn replied Sep 18, 2018

@jef-n , that did it, thanks.

Is there a change that's required in our cmakefile so that cmake -DWITH_3D=On works without the need to manually set those variables?

@jef-n

This comment has been minimized.

Copy link
Member Author

@jef-n jef-n replied Sep 18, 2018

@nirvn maybe, but this is just a workaround for debian where headers and cmake files that are usually available were removed.

Please sign in to comment.
You can’t perform that action at this time.