]> git.pld-linux.org Git - packages/FlightGear.git/commitdiff
- proper fix for OpenSceneGraph API changes
authorJan Rękorajski <baggins@pld-linux.org>
Thu, 6 Nov 2014 23:46:46 +0000 (00:46 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Fri, 7 Nov 2014 00:07:58 +0000 (01:07 +0100)
- updated BRs
- builds, but segfaults on startup

FlightGear.spec
OpenSceneGraph-3.3.2.patch

index 1efc76b44f6438ca9b8ded5c609771dafd62d01e..2432a2daa6c78fbe1080e557b98ae03246607893 100644 (file)
@@ -20,12 +20,16 @@ Patch1:             OpenSceneGraph-3.3.2.patch
 URL:           http://www.flightgear.org/
 BuildRequires: OpenAL-devel
 BuildRequires: OpenGL-devel
+BuildRequires: OpenSceneGraph-devel
 BuildRequires: SimGear-devel = %{version}
 BuildRequires: cmake
+BuildRequires: flite-devel
 BuildRequires: fltk-gl-devel
 BuildRequires: freeglut-devel
+BuildRequires: libgsm-devel
 BuildRequires: libstdc++-devel
-BuildRequires: libxml-devel
+BuildRequires: speex-devel
+BuildRequires: sqlite3-devel
 BuildRequires: plib-devel >= 1.8.5-3
 BuildRequires: zlib-devel
 Requires:      %{name}-data = %{version}
@@ -71,12 +75,15 @@ EOF
 %build
 install -d build
 cd build
-%cmake ..
+%cmake .. \
+       -DSYSTEM_SQLITE:BOOL=ON
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_datadir}/games/%{name}
+
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
index c38d5858345f107d7cfe136afe77290a893d381f..e84b8b73cbc358f78d0e94719ab6f4d4f75e8786 100644 (file)
-diff --git a/src/Canvas/canvas_mgr.cxx b/src/Canvas/canvas_mgr.cxx
-index 6646b77..820934e 100644
---- a/src/Canvas/canvas_mgr.cxx
-+++ b/src/Canvas/canvas_mgr.cxx
-@@ -18,6 +18,8 @@
- #include "canvas_mgr.hxx"
-+#include <osg/Version>
-+
- #include <Cockpit/od_gauge.hxx>
- #include <Main/fg_props.hxx>
- #include <Scripting/NasalModelData.hxx>
-@@ -49,7 +51,11 @@ static sc::Placements addSceneObjectPlacement( SGPropertyNode* placement,
-     model_data->getNode(),
-     placement,
-     canvas->getTexture(),
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-     canvas->getCullCallback(),
-+#else
-+    dynamic_cast<osg::NodeCallback*>(canvas->getCullCallback()),
-+#endif
-     canvas
-   );
- }
-diff --git a/src/FDM/groundcache.cxx b/src/FDM/groundcache.cxx
-index 0b34115..379d70a 100644
---- a/src/FDM/groundcache.cxx
-+++ b/src/FDM/groundcache.cxx
-@@ -36,6 +36,7 @@
- #include <osg/MatrixTransform>
- #include <osg/PositionAttitudeTransform>
- #include <osg/CameraView>
-+#include <osg/Version>
- #include <simgear/sg_inlines.h>
- #include <simgear/constants.h>
-@@ -92,7 +93,11 @@ public:
-     }
-     virtual void apply(osg::Node& node)
-     {
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(node.getBound()))
-+#else
-+        if (!testBoundingSphere(node.getBoundingSphere()))
-+#endif
-             return;
-         addBoundingVolume(node);
-@@ -100,7 +105,11 @@ public:
-     
-     virtual void apply(osg::Group& group)
-     {
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(group.getBound()))
-+#else
-+        if (!testBoundingSphere(group.getBoundingSphere()))
-+#endif
-             return;
-         simgear::BVHSubTreeCollector::NodeList parentNodeList;
-@@ -133,7 +142,11 @@ public:
-         if (transform.getReferenceFrame() != osg::Transform::RELATIVE_RF)
-             return;
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(transform.getBound()))
-+#else
-+        if (!testBoundingSphere(transform.getBoundingSphere()))
-+#endif
-             return;
-         osg::Matrix inverseMatrix;
-diff --git a/src/Scenery/scenery.cxx b/src/Scenery/scenery.cxx
-index 73d0b7f..d5fa933 100644
---- a/src/Scenery/scenery.cxx
-+++ b/src/Scenery/scenery.cxx
-@@ -34,6 +34,7 @@
- #include <osg/PositionAttitudeTransform>
- #include <osg/CameraView>
- #include <osg/LOD>
+--- flightgear-3.2.0/src/Model/panelnode.cxx.orig      2014-08-17 15:40:24.000000000 +0200
++++ flightgear-3.2.0/src/Model/panelnode.cxx   2014-11-02 12:27:29.031193511 +0100
+@@ -10,6 +10,7 @@
+ #include <osg/Geode>
+ #include <osg/Switch>
+ #include <osg/BlendFunc>
 +#include <osg/Version>
  
- #include <osgViewer/Viewer>
-@@ -112,7 +113,11 @@ public:
-     {
-         if (&node == _skipNode)
-             return;
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(node.getBound()))
-+#else
-+        if (!testBoundingSphere(node.getBoundingSphere()))
-+#endif
-             return;
-         addBoundingVolume(node);
-@@ -122,7 +127,11 @@ public:
-     {
-         if (&group == _skipNode)
-             return;
-+#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(group.getBound()))
-+#else
-+        if (!testBoundingSphere(group.getBoundingSphere()))
-+#endif
-             return;
-         traverse(group);
-@@ -153,7 +162,11 @@ private:
-         if (transform.getReferenceFrame() != osg::Transform::RELATIVE_RF)
-             return;
+ #include <simgear/compiler.h>
+ #include <simgear/structure/exception.hxx>
+@@ -315,7 +316,11 @@
+ }
  
+ osg::BoundingBox
 +#if OSG_VERSION_LESS_THAN(3,3,2)
-         if (!testBoundingSphere(transform.getBound()))
+ FGPanelNode::computeBound() const
 +#else
-+        if (!testBoundingSphere(transform.getBoundingSphere()))
++FGPanelNode::computeBoundingBox() const
 +#endif
-             return;
+ {
  
-         osg::Matrix inverseMatrix;
-diff --git a/src/Scenery/tileentry.cxx b/src/Scenery/tileentry.cxx
-index 31d14c7..d49c1b1 100644
---- a/src/Scenery/tileentry.cxx
-+++ b/src/Scenery/tileentry.cxx
-@@ -29,6 +29,7 @@
- #include <istream>
- #include <osg/LOD>
+   osg::Vec3 coords[3];
+--- flightgear-3.2.0/src/Model/panelnode.hxx.orig      2014-08-17 15:40:24.000000000 +0200
++++ flightgear-3.2.0/src/Model/panelnode.hxx   2014-11-02 12:27:11.551194127 +0100
+@@ -4,6 +4,7 @@
+ #include <osg/Vec3>
+ #include <osg/Matrix>
+ #include <osg/Drawable>
 +#include <osg/Version>
  
- #include <simgear/bucket/newbucket.hxx>
- #include <simgear/debug/logstream.hxx>
-@@ -81,7 +82,11 @@ void TileEntry::prep_ssg_node(float vis) {
-         return;
-     // visibility can change from frame to frame so we update the
-     // range selector cutoff's each time.
+ #include <memory>
+ #include <simgear/structure/SGSharedPtr.hxx>
+@@ -30,7 +31,11 @@
+     { drawImplementation(*renderInfo.getState()); }
+   
+     void drawImplementation(osg::State& state) const;
 +#if OSG_VERSION_LESS_THAN(3,3,2)
-     float bounding_radius = _node->getChild(0)->getBound().radius();
+     virtual osg::BoundingBox computeBound() const;
 +#else
-+    float bounding_radius = _node->getChild(0)->getBoundingSphere().radius();
++    virtual osg::BoundingBox computeBoundingBox() const;
 +#endif
-     _node->setRange( 0, 0, vis + bounding_radius );
- }
  
+     /** Return true, FGPanelNode does support accept(PrimitiveFunctor&). */
+     virtual bool supports(const osg::PrimitiveFunctor&) const { return true; }
This page took 0.052255 seconds and 4 git commands to generate.