Bug#753767: ember: diff for NMU version 0.6.2+dfsg-2.1
Tobias Frost
tobi at debian.org
Sat Aug 16 15:18:15 UTC 2014
Control: tags 704786 + patch
Control: tags 753767 + patch
Dear maintainer,
I've prepared an NMU for ember (versioned as 0.6.2+dfsg-2.1). The diff
is attached to this message.
Regards.
diff -Nru ember-0.6.2+dfsg/debian/changelog ember-0.6.2+dfsg/debian/changelog
--- ember-0.6.2+dfsg/debian/changelog 2012-06-13 21:46:01.000000000 +0200
+++ ember-0.6.2+dfsg/debian/changelog 2014-08-16 17:07:14.000000000 +0200
@@ -1,3 +1,15 @@
+ember (0.6.2+dfsg-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Apply patch 0014-boost-1.53.patch from git repository.
+ * Patching to support wfmath-1.0 and ogre-1.8 (Backport from new upstream
+ version): Patch 0015-ogre18-wfmath10.patch. (Closes: #704786)
+ * The rebuild will also allow installing it again (Closes: #753767)
+ * Adding versioned B-D on liberis-dev >1.3.21-0.1 to ensure that the NMU
+ of eris is considered. (Can be removed the next upload)
+
+ -- Tobias Frost <tobi at debian.org> Sat, 16 Aug 2014 17:05:12 +0200
+
ember (0.6.2+dfsg-2) unstable; urgency=low
* fixed a FTBFS on random arches due to --parallel on dh_install
diff -Nru ember-0.6.2+dfsg/debian/control ember-0.6.2+dfsg/debian/control
--- ember-0.6.2+dfsg/debian/control 2012-06-09 17:01:51.000000000 +0200
+++ ember-0.6.2+dfsg/debian/control 2014-08-16 17:11:15.000000000 +0200
@@ -9,10 +9,10 @@
libatlas-cpp-0.6-dev (>= 0.6.1),
libboost-thread-dev,
libcegui-mk2-dev (>= 0.7.5),
- liberis-1.3-dev (>= 1.3.19),
+ liberis-1.3-dev (>= 1.3.21-0.1~),
liblua5.1-0-dev,
libmercator-0.3-dev (>= 0.3.0),
- libogre-dev (>= 1.7.0),
+ libogre-1.8-dev,
libopenal-dev,
libpcre3-dev,
libsdl1.2-dev,
diff -Nru ember-0.6.2+dfsg/debian/patches/0014-boost-1.53.patch ember-0.6.2+dfsg/debian/patches/0014-boost-1.53.patch
--- ember-0.6.2+dfsg/debian/patches/0014-boost-1.53.patch 1970-01-01 01:00:00.000000000 +0100
+++ ember-0.6.2+dfsg/debian/patches/0014-boost-1.53.patch 2014-08-16 10:55:18.000000000 +0200
@@ -0,0 +1,14 @@
+Description: fixes FTBFS using boost1.53-dev
+Author: Stephen M. Webb <stephen.webb at bregmasoft.ca>
+
+--- a/src/components/ogre/SceneManagers/EmberPagingSceneManager/src/OgrePagingLandScapeData2D.cpp
++++ b/src/components/ogre/SceneManagers/EmberPagingSceneManager/src/OgrePagingLandScapeData2D.cpp
+@@ -116,7 +116,7 @@
+ _save ();
+ //Use the shared pointer for deletion
+ // delete[] mHeightData;
+- mHeightDataPtr.reset(0);
++ mHeightDataPtr.reset();
+ mHeightData = 0;
+ _unload();
+ mIsLoaded = false;
diff -Nru ember-0.6.2+dfsg/debian/patches/0015-ogre18-wfmath10.patch ember-0.6.2+dfsg/debian/patches/0015-ogre18-wfmath10.patch
--- ember-0.6.2+dfsg/debian/patches/0015-ogre18-wfmath10.patch 1970-01-01 01:00:00.000000000 +0100
+++ ember-0.6.2+dfsg/debian/patches/0015-ogre18-wfmath10.patch 2014-08-16 15:32:13.000000000 +0200
@@ -0,0 +1,233 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -252,7 +252,7 @@
+ # Check for OGRE
+ OGRE_VERSION=1.7.0
+ OGRE_MAX_VERSION=1.8.0
+-PKG_CHECK_MODULES(OGRE, [OGRE >= $OGRE_VERSION OGRE < $OGRE_MAX_VERSION],
++PKG_CHECK_MODULES(OGRE, [OGRE >= $OGRE_VERSION OGRE <= $OGRE_MAX_VERSION],
+ [
+ CXXFLAGS="$CXXFLAGS $OGRE_CFLAGS"
+ LIBS="$LIBS $OGRE_LIBS"
+@@ -448,7 +448,7 @@
+
+ # Check for the WorldForge libs
+ PKG_CHECK_MODULES(WF, [eris-1.3 >= 1.3.19 \
+- varconf-1.0 >= 0.6.7 mercator-0.3 >= 0.3.0 atlascpp-0.6 >= 0.6.2 wfmath-0.3 >= 0.3.11 libwfut-0.2 >= 0.2.1],
++ varconf-1.0 >= 0.6.7 mercator-0.3 >= 0.3.0 atlascpp-0.6 >= 0.6.2 wfmath-1.0 libwfut-0.2 >= 0.2.1],
+ [
+ CXXFLAGS="$CXXFLAGS $WF_CFLAGS"
+ LIBS="$LIBS $WF_LIBS"
+--- a/src/components/ogre/scripting/bindings/lua/ogre/OgreEntity.pkg
++++ b/src/components/ogre/scripting/bindings/lua/ogre/OgreEntity.pkg
+@@ -278,7 +278,7 @@
+ morph animation, 'includes_pose_animation true' if using pose animation
+ and 'includes_skeletal_animation true' if using skeletal animation.
+ */
+- bool isHardwareAnimationEnabled(void) const;
++ bool isHardwareAnimationEnabled(void);
+
+ /** Overridden from MovableObject */
+ // void _notifyAttached(Node* parent, bool isTagPoint = false);
+@@ -433,7 +433,7 @@
+ BIND_HARDWARE_MORPH
+ };
+ /// Choose which vertex data to bind to the renderer
+- Ogre::Entity::VertexDataBindChoice chooseVertexDataForBinding(bool hasVertexAnim) const;
++ Ogre::Entity::VertexDataBindChoice chooseVertexDataForBinding(bool hasVertexAnim);
+
+ /** Are buffers already marked as vertex animated? */
+ bool _getBuffersMarkedForAnimation(void) const;
+--- a/src/components/ogre/environment/caelum/src/CaelumPlugin.cpp
++++ b/src/components/ogre/environment/caelum/src/CaelumPlugin.cpp
+@@ -21,19 +21,10 @@
+ #include "CaelumPrecompiled.h"
+ #include "CaelumPlugin.h"
+
+-template<> Caelum::CaelumPlugin* Ogre::Singleton<Caelum::CaelumPlugin>::ms_Singleton = 0;
++template<> Caelum::CaelumPlugin* Ogre::Singleton<Caelum::CaelumPlugin>::msSingleton = 0;
+
+ namespace Caelum
+ {
+- CaelumPlugin* CaelumPlugin::getSingletonPtr () {
+- return ms_Singleton;
+- }
+-
+- CaelumPlugin& CaelumPlugin::getSingleton () {
+- assert (ms_Singleton);
+- return *ms_Singleton;
+- }
+-
+ extern "C" void CAELUM_EXPORT dllStartPlugin () {
+ assert (CaelumPlugin::getSingletonPtr () == 0);
+ CaelumPlugin* plugin = new CaelumPlugin();
+--- a/src/components/ogre/scripting/bindings/lua/ogre/OgreQuaternion.pkg
++++ b/src/components/ogre/scripting/bindings/lua/ogre/OgreQuaternion.pkg
+@@ -141,7 +141,7 @@
+ const Ogre::Quaternion& rkQ, bool shortestPath = false);
+
+ // cutoff for sine near zero
+- static const float ms_fEpsilon;
++ static const float msEpsilon;
+
+ // special values
+ static const Ogre::Quaternion ZERO;
+--- a/src/components/ogre/model/ModelRepresentation.cpp
++++ b/src/components/ogre/model/ModelRepresentation.cpp
+@@ -331,7 +331,7 @@
+ if (velocity != WFMath::Vector<3>::ZERO()) {
+ if (velocity.isValid()) {
+ //Use WFMATH_EPSILON to remove any rounding errors
+- if (velocity.x() + WFMATH_EPSILON < 0.0f) {
++ if (velocity.x() + WFMath::numeric_constants<WFMath::CoordType>::epsilon() < 0.0f) {
+ newMode = MM_WALKING_BACKWARDS;
+ } else {
+ if (velocity.mag() > 2.6) {
+--- a/src/components/ogre/terrain/foliage/ClusterPopulator.cpp
++++ b/src/components/ogre/terrain/foliage/ClusterPopulator.cpp
+@@ -135,7 +135,7 @@
+ PlantAreaQueryResult::PlantStore& plants = result.getStore();
+ Mercator::Segment& mercatorSegment = segmentRef->getSegment().getMercatorSegment();
+
+- float volume = (cluster.radius() * cluster.radius()) * WFMath::Pi;
++ float volume = (cluster.radius() * cluster.radius()) * WFMath::numeric_constants<WFMath::CoordType>::pi();
+ unsigned int instancesInEachCluster = volume * mDensity;
+ WFMath::MTRand::uint32 seed(mPlantIndex + (static_cast<WFMath::MTRand::uint32> (cluster.center().x()) << 4) + (static_cast<WFMath::MTRand::uint32> (cluster.center().y()) << 8));
+ WFMath::MTRand rng(seed);
+@@ -147,7 +147,7 @@
+ WFMath::Vector<3> normal;
+ //place one cluster
+ for (unsigned int j = 0; j < instancesInEachCluster; ++j) {
+- float theta = rng.rand(WFMath::Pi * 2);
++ float theta = rng.rand(WFMath::numeric_constants<WFMath::CoordType>::pi() * 2);
+ float length = rng.rand(mMaxClusterRadius);
+
+ WFMath::Point<2> pos(cos(theta) * length, sin(theta) * length);
+--- a/src/components/ogre/Avatar.cpp
++++ b/src/components/ogre/Avatar.cpp
+@@ -170,11 +170,11 @@
+
+ mClientSideAvatarOrientation = adjustedOrientation;
+ //For some not quite explained reason we need to rotate the orientation 90 degrees around the z axis for the orientation to be correct.
+- mClientSideAvatarOrientation.rotate(WFMath::Quaternion(WFMath::Vector<3>(0, 0, 1), WFMath::Pi / 2));
++ mClientSideAvatarOrientation.rotate(WFMath::Quaternion(WFMath::Vector<3>(0, 0, 1), WFMath::numeric_constants<WFMath::CoordType>::pi() / 2));
+ }
+ //...and then adjust the rotation 90 degrees in the other direction when calculating how to rotate the movement direction
+ WFMath::Quaternion adjustedOrientation = mClientSideAvatarOrientation;
+- adjustedOrientation.rotate(WFMath::Quaternion(WFMath::Vector<3>(0, 0, -1), WFMath::Pi / 2));
++ adjustedOrientation.rotate(WFMath::Quaternion(WFMath::Vector<3>(0, 0, -1), WFMath::numeric_constants<WFMath::CoordType>::pi() / 2));
+ mCurrentMovement.rotate(adjustedOrientation);
+ mClientSideAvatarPosition += mCurrentMovement * timeslice;
+
+--- a/src/components/ogre/OgreLogObserver.cpp
++++ b/src/components/ogre/OgreLogObserver.cpp
+@@ -44,16 +44,15 @@
+
+ }
+
+-
+-
+-void OgreLogObserver::messageLogged( const String& message, LogMessageLevel lml, bool maskDebug, const String &logName )
++void OgreLogObserver::messageLogged(const String& message, LogMessageLevel lml, bool maskDebug, const String &logName, bool& skipThisMessage)
+ {
+- static std::string ogre("(Ogre) ");
+- //if there's a problem setting material name, log as verbose as these messages are quite common and not necessarily errors since the Model format in many cases overrides the material defined in the mesh
+- if (Ogre::StringUtil::startsWith(message, "Can't assign material", false)) {
+- lml = Ogre::LML_TRIVIAL;
+- }
+- switch (lml) {
++ if (!skipThisMessage) {
++ static std::string ogre("(Ogre) ");
++ //if there's a problem setting material name, log as verbose as these messages are quite common and not necessarily errors since the Model format in many cases overrides the material defined in the mesh
++ if (Ogre::StringUtil::startsWith(message, "Can't assign material", false)) {
++ lml = Ogre::LML_TRIVIAL;
++ }
++ switch (lml) {
+ case Ogre::LML_TRIVIAL:
+ Log::slog("Ogre", Log::VERBOSE) << ogre << message << Log::END_MESSAGE;
+ break;
+@@ -64,11 +63,9 @@
+ Log::slog("Ogre", Log::FAILURE) << ogre << message << Log::END_MESSAGE;
+ break;
+
++ }
+ }
+ }
+
+-
+-
+-
+ }
+ }
+--- a/src/components/ogre/OgreLogObserver.h
++++ b/src/components/ogre/OgreLogObserver.h
+@@ -42,7 +42,7 @@
+ */
+ OgreLogObserver();
+ virtual ~OgreLogObserver();
+- virtual void messageLogged( const Ogre::String& message, Ogre::LogMessageLevel lml, bool maskDebug, const Ogre::String &logName );
++ virtual void messageLogged( const Ogre::String& message, Ogre::LogMessageLevel lml, bool maskDebug, const Ogre::String &logName, bool& skipThisMessage );
+
+ protected:
+
+--- a/src/components/ogre/EmberOgreFileSystem.cpp
++++ b/src/components/ogre/EmberOgreFileSystem.cpp
+@@ -261,7 +261,7 @@
+
+ //-----------------------------------------------------------------------
+ void FileSystemArchive::findFiles(const String& pattern, bool recursive,
+- bool dirs, StringVector* simpleList, FileInfoList* detailList)
++ bool dirs, StringVector* simpleList, FileInfoList* detailList) const
+ {
+ long lHandle, res;
+ struct _finddata_t tagData;
+@@ -431,7 +431,7 @@
+ }
+ //-----------------------------------------------------------------------
+ FileInfoListPtr FileSystemArchive::findFileInfo(const String& pattern,
+- bool recursive, bool dirs)
++ bool recursive, bool dirs) const
+ {
+ FileInfoListPtr ret(OGRE_NEW_T(FileInfoList, MEMCATEGORY_GENERAL)(), SPFM_DELETE_T);
+
+--- a/src/components/ogre/EmberOgreFileSystem.h
++++ b/src/components/ogre/EmberOgreFileSystem.h
+@@ -58,7 +58,7 @@
+ archive, for file naming
+ */
+ void findFiles(const Ogre::String& pattern, bool recursive, bool dirs,
+- Ogre::StringVector* simpleList, Ogre::FileInfoList* detailList);
++ Ogre::StringVector* simpleList, Ogre::FileInfoList* detailList) const;
+
+ public:
+ FileSystemArchive(const Ogre::String& name, const Ogre::String& archType );
+@@ -87,7 +87,7 @@
+
+ /// @copydoc Archive::findFileInfo
+ Ogre::FileInfoListPtr findFileInfo(const Ogre::String& pattern, bool recursive = true,
+- bool dirs = false);
++ bool dirs = false) const;
+
+ /// @copydoc Archive::exists
+ bool exists(const Ogre::String& filename);
+--- a/src/components/ogre/environment/caelum/include/CaelumPlugin.h
++++ b/src/components/ogre/environment/caelum/include/CaelumPlugin.h
+@@ -25,6 +25,7 @@
+ #include "CaelumScriptTranslator.h"
+ #include "TypeDescriptor.h"
+ #include "OgrePlugin.h"
++#include <OgreSingleton.h>
+
+ namespace Caelum
+ {
+@@ -37,10 +38,6 @@
+ class CAELUM_EXPORT CaelumPlugin: public Ogre::Singleton<CaelumPlugin>, public Ogre::Plugin
+ {
+ public:
+- /// Get reference to singleton instance; or crash if N/A.
+- static CaelumPlugin& getSingleton(void);
+- /// Get pointer to singleton instance; or pointer if N/A.
+- static CaelumPlugin* getSingletonPtr(void);
+
+ CaelumPlugin();
+ ~CaelumPlugin();
diff -Nru ember-0.6.2+dfsg/debian/patches/series ember-0.6.2+dfsg/debian/patches/series
--- ember-0.6.2+dfsg/debian/patches/series 2012-06-09 17:01:51.000000000 +0200
+++ ember-0.6.2+dfsg/debian/patches/series 2014-08-16 14:38:26.000000000 +0200
@@ -11,3 +11,5 @@
0011-qualify-template-functions.patch
0012-fix-osdir-headers.patch
0013-remove-invalid-linker-flags.patch
+0014-boost-1.53.patch
+0015-ogre18-wfmath10.patch
More information about the Pkg-games-devel
mailing list