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