[yade] 01/04: Refresh, update patches.

Anton Gladky gladk at moszumanska.debian.org
Sun Jun 19 17:04:16 UTC 2016


This is an automated email from the git hooks/post-receive script.

gladk pushed a commit to branch master
in repository yade.

commit a70d0b679c9dc939c8b2d24dfa15954f8aeceff4
Author: Anton Gladky <gladk at debian.org>
Date:   Sun Jun 19 17:20:42 2016 +0200

    Refresh, update patches.
---
 debian/patches/01_remove_google_analytics.patch    |   6 +-
 .../01fea359c04d08f93d2feddcd07b31bc794dbb37.patch | 128 --------
 debian/patches/02_FixMatplotLibWarning.patch       |  62 ----
 debian/patches/05_reproducible-builds.patch        |  24 +-
 debian/patches/fix_glibc223.patch                  | 364 ---------------------
 debian/patches/series                              |   3 -
 6 files changed, 19 insertions(+), 568 deletions(-)

diff --git a/debian/patches/01_remove_google_analytics.patch b/debian/patches/01_remove_google_analytics.patch
index dc6fd35..f9ee87b 100644
--- a/debian/patches/01_remove_google_analytics.patch
+++ b/debian/patches/01_remove_google_analytics.patch
@@ -2,10 +2,10 @@ Description: remove google analytics script
 Author: Anton Gladky <gladk at debian.org>
 Last-Update: 2014-01-14
 
-Index: yade/doc/sphinx/templates/layout.html
+Index: trunk-2016.06a/doc/sphinx/templates/layout.html
 ===================================================================
---- yade.orig/doc/sphinx/templates/layout.html
-+++ yade/doc/sphinx/templates/layout.html
+--- trunk-2016.06a.orig/doc/sphinx/templates/layout.html
++++ trunk-2016.06a/doc/sphinx/templates/layout.html
 @@ -16,19 +16,6 @@
  {% endblock %}
  
diff --git a/debian/patches/01fea359c04d08f93d2feddcd07b31bc794dbb37.patch b/debian/patches/01fea359c04d08f93d2feddcd07b31bc794dbb37.patch
deleted file mode 100644
index 3063012..0000000
--- a/debian/patches/01fea359c04d08f93d2feddcd07b31bc794dbb37.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 01fea359c04d08f93d2feddcd07b31bc794dbb37 Mon Sep 17 00:00:00 2001
-From: Anton Gladky <gladky.anton at gmail.com>
-Date: Thu, 19 May 2016 22:51:22 +0200
-Subject: [PATCH] Split QGLViewer.cmake on qt4 and qt5 versions.
-
-Qt4 support will be completely removed after the next
-stable Yade release.
----
- CMakeLists.txt                |  3 ++-
- cMake/FindQGLVIEWER-qt4.cmake | 24 ++++++++++++++++++++++++
- cMake/FindQGLVIEWER-qt5.cmake | 24 ++++++++++++++++++++++++
- cMake/FindQGLVIEWER.cmake     | 25 -------------------------
- 4 files changed, 50 insertions(+), 26 deletions(-)
- create mode 100644 cMake/FindQGLVIEWER-qt4.cmake
- create mode 100644 cMake/FindQGLVIEWER-qt5.cmake
- delete mode 100644 cMake/FindQGLVIEWER.cmake
-
-Index: trunk-1.20.0/CMakeLists.txt
-===================================================================
---- trunk-1.20.0.orig/CMakeLists.txt
-+++ trunk-1.20.0/CMakeLists.txt
-@@ -219,9 +219,9 @@ IF(ENABLE_GUI)
-   FIND_PACKAGE(OpenGL)
-   FIND_PACKAGE(GLUT)
-   FIND_PACKAGE(glib2)
--  FIND_PACKAGE(QGLVIEWER)
-     
-   IF(USE_QT5)
-+    FIND_PACKAGE(QGLVIEWER-qt5 REQUIRED)
-     FIND_PACKAGE(Qt5 CONFIG REQUIRED Widgets Xml OpenGL)
-     SET(CMAKE_AUTOMOC ON)
-     FIND_PACKAGE(Qt5Widgets)
-@@ -238,6 +238,7 @@ IF(ENABLE_GUI)
-       SET(ENABLE_GUI OFF)
-     ENDIF(Qt5Widgets_FOUND AND OPENGL_FOUND AND GLUT_FOUND AND GLIB2_FOUND AND QGLVIEWER_FOUND)
-   ELSE(USE_QT5)   # Use Qt4
-+    FIND_PACKAGE(QGLVIEWER-qt4 REQUIRED)
-     FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtOpenGL)
-     IF(QT4_FOUND AND OPENGL_FOUND AND GLUT_FOUND AND GLIB2_FOUND AND QGLVIEWER_FOUND)
-       SET(GUI_LIBS ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${QGLVIEWER_LIBRARIES})
-Index: trunk-1.20.0/cMake/FindQGLVIEWER-qt4.cmake
-===================================================================
---- /dev/null
-+++ trunk-1.20.0/cMake/FindQGLVIEWER-qt4.cmake
-@@ -0,0 +1,24 @@
-+# - Try to find QGLViewer
-+# Once done this will define
-+#
-+#  QGLVIEWER_FOUND - system has QGLViewer
-+#  QGLVIEWER_INCLUDE_DIR - the QGLViewer include directory
-+#  QGLVIEWER_LIBRARIES - Link these to use QGLViewer
-+
-+find_path(QGLVIEWER_INCLUDE_DIR 
-+          NAMES qglviewer.h
-+          PATHS /usr/include/QGLViewer
-+         )
-+
-+find_library(QGLVIEWER_LIBRARIES
-+             NAMES QGLViewer QGLViewer-qt4
-+)
-+
-+IF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
-+   SET(QGLVIEWER_FOUND TRUE)
-+   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQGLVIEWER_FOUND")
-+ENDIF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
-+
-+
-+include(FindPackageHandleStandardArgs)
-+FIND_PACKAGE_HANDLE_STANDARD_ARGS(QGLVIEWER-qt4 DEFAULT_MSG QGLVIEWER_INCLUDE_DIR QGLVIEWER_LIBRARIES)
-Index: trunk-1.20.0/cMake/FindQGLVIEWER-qt5.cmake
-===================================================================
---- /dev/null
-+++ trunk-1.20.0/cMake/FindQGLVIEWER-qt5.cmake
-@@ -0,0 +1,24 @@
-+# - Try to find QGLViewer
-+# Once done this will define
-+#
-+#  QGLVIEWER_FOUND - system has QGLViewer
-+#  QGLVIEWER_INCLUDE_DIR - the QGLViewer include directory
-+#  QGLVIEWER_LIBRARIES - Link these to use QGLViewer
-+
-+find_path(QGLVIEWER_INCLUDE_DIR 
-+          NAMES qglviewer.h
-+          PATHS /usr/include/QGLViewer
-+         )
-+
-+find_library(QGLVIEWER_LIBRARIES
-+             NAMES QGLViewer QGLViewer-qt5
-+)
-+
-+IF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
-+   SET(QGLVIEWER_FOUND TRUE)
-+   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQGLVIEWER_FOUND")
-+ENDIF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
-+
-+
-+include(FindPackageHandleStandardArgs)
-+FIND_PACKAGE_HANDLE_STANDARD_ARGS(QGLVIEWER-qt5 DEFAULT_MSG QGLVIEWER_INCLUDE_DIR QGLVIEWER_LIBRARIES)
-Index: trunk-1.20.0/cMake/FindQGLVIEWER.cmake
-===================================================================
---- trunk-1.20.0.orig/cMake/FindQGLVIEWER.cmake
-+++ /dev/null
-@@ -1,25 +0,0 @@
--# - Try to find QGLViewer
--# Once done this will define
--#
--#  QGLVIEWER_FOUND - system has QGLViewer
--#  QGLVIEWER_INCLUDE_DIR - the QGLViewer include directory
--#  QGLVIEWER_LIBRARIES - Link these to use QGLViewer
--
--find_path(QGLVIEWER_INCLUDE_DIR 
--          NAMES qglviewer.h
--          PATHS /usr/include/QGLViewer
--         )
--
--find_library(QGLVIEWER_LIBRARIES
--             NAMES QGLViewer QGLViewer-qt4
--)
--
--IF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
--   SET(QGLVIEWER_FOUND TRUE)
--   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQGLVIEWER_FOUND")
--ENDIF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
--
--
--
--include(FindPackageHandleStandardArgs)
--FIND_PACKAGE_HANDLE_STANDARD_ARGS(QGLVIEWER DEFAULT_MSG QGLVIEWER_INCLUDE_DIR QGLVIEWER_LIBRARIES)
diff --git a/debian/patches/02_FixMatplotLibWarning.patch b/debian/patches/02_FixMatplotLibWarning.patch
deleted file mode 100644
index fa2123a..0000000
--- a/debian/patches/02_FixMatplotLibWarning.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 00b36dcb963b5be397cdce6dca8e543e9f374668 Mon Sep 17 00:00:00 2001
-From: Anton Gladky <gladky.anton at gmail.com>
-Date: Thu, 3 Dec 2015 17:41:45 +0100
-Subject: [PATCH] Fix warning in newer matplotlib.
-
----
- py/plot.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/py/plot.py b/py/plot.py
-index b51e3fe..538c59d 100644
---- a/py/plot.py
-+++ b/py/plot.py
-@@ -352,7 +352,7 @@ def update(self):
- 						#	dx,dy=[numpy.average(numpy.diff(dta[current-window:current])) for dta in self.xdata,self.ydata]
- 						#except IndexError: pass
- 						# there must be an easier way to find on-screen derivative angle, ask on the matplotlib mailing list
--						axes=self.line.get_axes()
-+						axes=self.line.axes()
- 						p=axes.patch; xx,yy=p.get_verts()[:,0],p.get_verts()[:,1]; size=max(xx)-min(xx),max(yy)-min(yy)
- 						aspect=(size[1]/size[0])*(1./axes.get_data_ratio())
- 						angle=math.atan(aspect*dy/dx)
-@@ -435,7 +435,7 @@ def createLines(pStrip,ySpecs,isY1=True,y2Exists=False):
- 				# if current value is NaN, use zero instead
- 				scatter=pylab.scatter(scatterPt[0] if not math.isnan(scatterPt[0]) else 0,scatterPt[1] if not math.isnan(scatterPt[1]) else 0,s=scatterSize,color=line.get_color(),**scatterMarkerKw)
- 				currLineRefs.append(LineRef(line,scatter,line2,data[pStrip],data[d[0]]))
--			axes=line.get_axes()
-+			axes=line.axes
- 			labelLoc=(legendLoc[0 if isY1 else 1] if y2Exists>0 else 'best')
- 			l=pylab.legend(loc=labelLoc)
- 			if hasattr(l,'draggable'): l.draggable(True)
-@@ -472,7 +472,7 @@ def liveUpdate(timestamp):
- 		for l in currLineRefs:
- 			l.update()
- 			figs.add(l.line.get_figure())
--			axes.add(l.line.get_axes())
-+			axes.add(l.line.axes)
- 			linesData.add(id(l.ydata))
- 		# find callables in y specifiers, create new lines if necessary
- 		for ax in axes:
-@@ -591,7 +591,7 @@ def plot(noShow=False,subPlots=True):
- 	"""
- 	createPlots(subPlots=subPlots)
- 	global currLineRefs
--	figs=set([l.line.get_axes().get_figure() for l in currLineRefs])
-+	figs=set([l.line.axes.get_figure() for l in currLineRefs])
- 	if not hasattr(list(figs)[0],'show') and not noShow:
- 		import warnings
- 		warnings.warn('plot.plot not showing figure (matplotlib using headless backend?)')
-@@ -612,10 +612,10 @@ def closeFigureCallback(event):
- 						ff=event.canvas.figure
- 						# remove closed axes from our update list
- 						global currLineRefs
--						currLineRefs=[l for l in currLineRefs if l.line.get_axes().get_figure()!=ff] 
-+						currLineRefs=[l for l in currLineRefs if l.line.axes.get_figure()!=ff] 
- 					f.canvas.mpl_connect('close_event',closeFigureCallback)
- 	else:
--		figs=list(set([l.line.get_axes().get_figure() for l in currLineRefs]))
-+		figs=list(set([l.line.get_figure() for l in currLineRefs]))
- 		if len(figs)==1: return figs[0]
- 		else: return figs
- 
diff --git a/debian/patches/05_reproducible-builds.patch b/debian/patches/05_reproducible-builds.patch
index 5aa7225..54d54b1 100644
--- a/debian/patches/05_reproducible-builds.patch
+++ b/debian/patches/05_reproducible-builds.patch
@@ -2,8 +2,10 @@ Description: Fix some machine-specific items in documentation.
 Author: Anton Gladky <gladk at debian.org>
 Last-Update: 2016-06-02
 
---- yade-1.20.0.orig/doc/sphinx/introduction.rst
-+++ yade-1.20.0/doc/sphinx/introduction.rst
+Index: trunk-2016.06a/doc/sphinx/introduction.rst
+===================================================================
+--- trunk-2016.06a.orig/doc/sphinx/introduction.rst
++++ trunk-2016.06a/doc/sphinx/introduction.rst
 @@ -157,15 +157,11 @@ Normal simulations, however, are run con
  
  	In [1]: O.pause()
@@ -82,8 +84,10 @@ Last-Update: 2016-06-02
  
  	In [6]: O.interactions[100,10111]
  	ValueError: No such interaction
---- yade-1.20.0.orig/doc/sphinx/tutorial-geo.rst
-+++ yade-1.20.0/doc/sphinx/tutorial-geo.rst
+Index: trunk-2016.06a/doc/sphinx/tutorial-geo.rst
+===================================================================
+--- trunk-2016.06a.orig/doc/sphinx/tutorial-geo.rst
++++ trunk-2016.06a/doc/sphinx/tutorial-geo.rst
 @@ -85,9 +85,9 @@ The following creates periodic cloud of
  	
  	Yade [1]: sp=pack.SpherePack()
@@ -96,8 +100,10 @@ Last-Update: 2016-06-02
  
  	Yade [1]: O.engines+=[PeriTriaxController(goal=(-1e4,-1e4,-.1),stressMask=0b011,maxUnbalanced=.2,doneHook='functionToRunWhenFinished()')]
  
---- yade-1.20.0.orig/doc/sphinx/tutorial-hands-on.rst
-+++ yade-1.20.0/doc/sphinx/tutorial-hands-on.rst
+Index: trunk-2016.06a/doc/sphinx/tutorial-hands-on.rst
+===================================================================
+--- trunk-2016.06a.orig/doc/sphinx/tutorial-hands-on.rst
++++ trunk-2016.06a/doc/sphinx/tutorial-hands-on.rst
 @@ -320,8 +320,6 @@ In order to avoid such tasks, shorthand
  	
  	Yade [1]: s=utils.sphere((0,0,0),radius=1)    # create sphere particle centered at (0,0,0) with radius=1
@@ -142,8 +148,10 @@ Last-Update: 2016-06-02
  	Yade [1]: newton.damping
  
  Instead of typing everything into the command-line, one can describe simulation in a file (*script*) and then run yade with that file as an argument. We will therefore no longer show the command-line unless necessary; instead, only the script part will be shown. Like this::
---- yade-1.20.0.orig/doc/sphinx/user.rst
-+++ yade-1.20.0/doc/sphinx/user.rst
+Index: trunk-2016.06a/doc/sphinx/user.rst
+===================================================================
+--- trunk-2016.06a.orig/doc/sphinx/user.rst
++++ trunk-2016.06a/doc/sphinx/user.rst
 @@ -45,10 +45,6 @@ If no :yref:`Material` is specified when
  
  	Yade [2]: idConcrete=O.materials.append(FrictMat(young=30e9,poisson=.2,frictionAngle=.6,label="concrete"))
diff --git a/debian/patches/fix_glibc223.patch b/debian/patches/fix_glibc223.patch
deleted file mode 100644
index 7cd3ba6..0000000
--- a/debian/patches/fix_glibc223.patch
+++ /dev/null
@@ -1,364 +0,0 @@
-Description: fix FTBFS with glibc 2.23
-Author: Graham Inggs <ginggs at debian.org>
-Acked-By: Anton Gladky <gladk at debian.org>
-Last-Update: 2016-06-02
-
-Index: trunk-1.20.0/gui/qt5/GLViewer.cpp
-===================================================================
---- trunk-1.20.0.orig/gui/qt5/GLViewer.cpp
-+++ trunk-1.20.0/gui/qt5/GLViewer.cpp
-@@ -350,7 +350,7 @@ void GLViewer::centerScene(){
- 	if(not(rb->bound)){ rb->updateBound();}
- 	
- 	min=rb->bound->min; max=rb->bound->max;
--	bool hasNan=(isnan(min[0])||isnan(min[1])||isnan(min[2])||isnan(max[0])||isnan(max[1])||isnan(max[2]));
-+	bool hasNan=(std::isnan(min[0])||std::isnan(min[1])||std::isnan(min[2])||std::isnan(max[0])||std::isnan(max[1])||std::isnan(max[2]));
- 	Real minDim=std::min(max[0]-min[0],std::min(max[1]-min[1],max[2]-min[2]));
- 	if(minDim<=0 || hasNan){
- 		// Aabb is not yet calculated...
-@@ -362,7 +362,7 @@ void GLViewer::centerScene(){
- 			max=max.cwiseMax(b->state->pos);
- 			min=min.cwiseMin(b->state->pos);
- 		}
--		if(isinf(min[0])||isinf(min[1])||isinf(min[2])||isinf(max[0])||isinf(max[1])||isinf(max[2])){ LOG_DEBUG("No min/max computed from bodies either, setting cube (-1,-1,-1)×(1,1,1)"); min=-Vector3r::Ones(); max=Vector3r::Ones(); }
-+		if(std::isinf(min[0])||std::isinf(min[1])||std::isinf(min[2])||std::isinf(max[0])||std::isinf(max[1])||std::isinf(max[2])){ LOG_DEBUG("No min/max computed from bodies either, setting cube (-1,-1,-1)×(1,1,1)"); min=-Vector3r::Ones(); max=Vector3r::Ones(); }
- 	} else {LOG_DEBUG("Using scene's Aabb");}
- 
- 	LOG_DEBUG("Got scene box min="<<min<<" and max="<<max);
-Index: trunk-1.20.0/pkg/common/Cylinder.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/Cylinder.cpp
-+++ trunk-1.20.0/pkg/common/Cylinder.cpp
-@@ -450,7 +450,7 @@ bool Ig2_ChainedCylinder_ChainedCylinder
- 		
- 		ChainedCylinder *cc1=static_cast<ChainedCylinder*>(cm1.get());
- 		ChainedCylinder *cc2=static_cast<ChainedCylinder*>(cm2.get());
--		if(isnan(dist)){ //now if we didn't found a suitable distance because the segments don't cross each other, we try to find a sphere-cylinder distance.
-+		if(std::isnan(dist)){ //now if we didn't found a suitable distance because the segments don't cross each other, we try to find a sphere-cylinder distance.
- 			Vector3r pointsToCheck[4]={A,A+a,B,B+b}; Real resultDist=dist, resultProj=dist ; int whichCaseIsCloser=-1 ;
- 			for (int i=0;i<4;i++){  //loop on the 4 cylinder's extremities and look at the extremity-cylinder distance
- 				Vector3r S=pointsToCheck[i], C=(i<2)?B:A, vec=(i<2)?b:a; Vector3r CS=S-C;
-@@ -458,7 +458,7 @@ bool Ig2_ChainedCylinder_ChainedCylinder
- 				if(d<0.) resultDist=CS.norm();
- 				else if(d>vec.norm()) resultDist=(C+vec-S).norm();
- 				else resultDist=(CS.cross(vec)).norm()/(vec.norm());
--				if(dist>resultDist or isnan(dist)){dist=resultDist ; whichCaseIsCloser=i; resultProj=d;}
-+				if(dist>resultDist or std::isnan(dist)){dist=resultDist ; whichCaseIsCloser=i; resultProj=d;}
- 			}
- 			//we know which extremity may be in contact (i), so k and m are computed to generate the right fictiousStates.
- 			insideCyl1=1 ; insideCyl2=1;
-Index: trunk-1.20.0/pkg/common/ZECollider.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/ZECollider.cpp
-+++ trunk-1.20.0/pkg/common/ZECollider.cpp
-@@ -68,7 +68,7 @@ void ZECollider::action(){
- 				minR=min(s->radius,minR);
- 			}
- 			// if no spheres, disable stride
--			verletDist=isinf(minR) ? 0 : std::abs(verletDist)*minR;
-+			verletDist=std::isinf(minR) ? 0 : std::abs(verletDist)*minR;
- 		}
- 		
- 		// update bounds via boundDispatcher
-Index: trunk-1.20.0/pkg/common/MatchMaker.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/MatchMaker.cpp
-+++ trunk-1.20.0/pkg/common/MatchMaker.cpp
-@@ -9,7 +9,7 @@ Real MatchMaker::operator()(int id1, int
- 		if(((int)m[0]==id1 && (int)m[1]==id2) || ((int)m[0]==id2 && (int)m[1]==id1)) return m[2];
- 	}
- 	// no match
--	if(fbNeedsValues && (isnan(val1) || isnan(val2))) throw std::invalid_argument("MatchMaker: no match for ("+boost::lexical_cast<string>(id1)+","+boost::lexical_cast<string>(id2)+"), and values required for algo computation '"+algo+"' not specified.");
-+	if(fbNeedsValues && (std::isnan(val1) || std::isnan(val2))) throw std::invalid_argument("MatchMaker: no match for ("+boost::lexical_cast<string>(id1)+","+boost::lexical_cast<string>(id2)+"), and values required for algo computation '"+algo+"' not specified.");
- 	return computeFallback(val1,val2);
- }
- 
-Index: trunk-1.20.0/pkg/common/Gl1_NormPhys.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/Gl1_NormPhys.cpp
-+++ trunk-1.20.0/pkg/common/Gl1_NormPhys.cpp
-@@ -34,7 +34,7 @@
- 		fnNorm=std::abs(fnNorm);
- 		Real radiusScale=1.;
- 		// weak/strong fabric, only used if maxWeakFn is set
--		if(!isnan(maxWeakFn)){
-+		if(!std::isnan(maxWeakFn)){
- 			if(fnNorm*fnSign<maxWeakFn){ // weak fabric
- 				if(weakFilter>0) return;
- 				radiusScale=weakScale;
-Index: trunk-1.20.0/pkg/common/InsertionSortCollider.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/InsertionSortCollider.cpp
-+++ trunk-1.20.0/pkg/common/InsertionSortCollider.cpp
-@@ -241,9 +241,9 @@ void InsertionSortCollider::action(){
- 				if(!s) continue;
- 				minR=min(s->radius,minR);
- 			}
--			if (isinf(minR)) LOG_ERROR("verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script.");
-+			if (std::isinf(minR)) LOG_ERROR("verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script.");
- 			// if no spheres, disable stride
--			verletDist=isinf(minR) ? 0 : std::abs(verletDist)*minR;
-+			verletDist=std::isinf(minR) ? 0 : std::abs(verletDist)*minR;
- 		}
- 		// if interactions are dirty, force reinitialization
- 		if(scene->interactions->dirty){
-Index: trunk-1.20.0/pkg/common/Facet.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/common/Facet.cpp
-+++ trunk-1.20.0/pkg/common/Facet.cpp
-@@ -20,7 +20,7 @@ void Facet::postLoad(Facet&)
- 	// in the future, a fixed-size array should be used instead of vector<Vector3r> for vertices
- 	// this is prevented by yade::serialization now IIRC
- 	if(vertices.size()!=3){ throw runtime_error(("Facet must have exactly 3 vertices (not "+boost::lexical_cast<string>(vertices.size())+")").c_str()); }
--	if(isnan(vertices[0][0])) return;  // not initialized, nothing to do
-+	if(std::isnan(vertices[0][0])) return;  // not initialized, nothing to do
- 	Vector3r e[3] = {vertices[1]-vertices[0] ,vertices[2]-vertices[1] ,vertices[0]-vertices[2]};
- 	#define CHECK_EDGE(i) if(e[i].squaredNorm()==0){LOG_FATAL("Facet has coincident vertices "<<i<<" ("<<vertices[i]<<") and "<<(i+1)%3<<" ("<<vertices[(i+1)%3]<<")!");}
- 		CHECK_EDGE(0); CHECK_EDGE(1);CHECK_EDGE(2);
-Index: trunk-1.20.0/pkg/dem/NewtonIntegrator.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/NewtonIntegrator.cpp
-+++ trunk-1.20.0/pkg/dem/NewtonIntegrator.cpp
-@@ -102,7 +102,7 @@ void NewtonIntegrator::action()
- 	// its velocity will count as max velocity of bodies
- 	// otherwise the collider might not run if only the cell were changing without any particle motion
- 	// FIXME: will not work for pure shear transformation, which does not change Cell::getSize()
--	if(scene->isPeriodic && ((prevCellSize!=scene->cell->getSize())) && /* initial value */!isnan(prevCellSize[0]) ){ cellChanged=true; maxVelocitySq=(prevCellSize-scene->cell->getSize()).squaredNorm()/pow(dt,2); }
-+	if(scene->isPeriodic && ((prevCellSize!=scene->cell->getSize())) && /* initial value */!std::isnan(prevCellSize[0]) ){ cellChanged=true; maxVelocitySq=(prevCellSize-scene->cell->getSize()).squaredNorm()/pow(dt,2); }
- 	else { maxVelocitySq=0; cellChanged=false; }
- 
- 	#ifdef YADE_BODY_CALLBACK
-Index: trunk-1.20.0/lib/triangulation/FlowBoundingSphere.ipp
-===================================================================
---- trunk-1.20.0.orig/lib/triangulation/FlowBoundingSphere.ipp
-+++ trunk-1.20.0/lib/triangulation/FlowBoundingSphere.ipp
-@@ -895,7 +895,7 @@ void FlowBoundingSphere<Tesselation>::ga
- 						} else {							
- 						/// INCOMPRESSIBLE 
- 							m += (cell->info().kNorm())[j2] * cell->neighbor(j2)->info().p();
--							if ( isinf(m) && j<10 ) cout << "(cell->info().kNorm())[j2] = " << (cell->info().kNorm())[j2] << " cell->neighbor(j2)->info().p() = " << cell->neighbor(j2)->info().p() << endl;
-+							if ( std::isinf(m) && j<10 ) cout << "(cell->info().kNorm())[j2] = " << (cell->info().kNorm())[j2] << " cell->neighbor(j2)->info().p() = " << cell->neighbor(j2)->info().p() << endl;
- 							if (j==0) n += (cell->info().kNorm())[j2];
- 						}  
- 					}
-Index: trunk-1.20.0/lib/triangulation/PeriodicFlow.hpp
-===================================================================
---- trunk-1.20.0.orig/lib/triangulation/PeriodicFlow.hpp
-+++ trunk-1.20.0/lib/triangulation/PeriodicFlow.hpp
-@@ -406,7 +406,7 @@ void PeriodicFlow<_Tesselation>::gaussSe
- 				if (j==0) n += compFlowFactor*(cell->info().kNorm())[j2];
- 			} else {
- 				m += (cell->info().kNorm())[j2]*cell->neighbor(j2)->info().shiftedP();
--				if ( isinf(m) && j<10 ) cout << "(cell->info().kNorm())[j2] = " << (cell->info().kNorm())[j2] << " cell->neighbor(j2)->info().shiftedP() = " << cell->neighbor(j2)->info().shiftedP() << endl;
-+				if ( std::isinf(m) && j<10 ) cout << "(cell->info().kNorm())[j2] = " << (cell->info().kNorm())[j2] << " cell->neighbor(j2)->info().shiftedP() = " << cell->neighbor(j2)->info().shiftedP() << endl;
- 				if (j==0) n += (cell->info().kNorm())[j2];
- 			} 
- 		  }
-Index: trunk-1.20.0/pkg/dem/GeneralIntegratorInsertionSortCollider.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/GeneralIntegratorInsertionSortCollider.cpp
-+++ trunk-1.20.0/pkg/dem/GeneralIntegratorInsertionSortCollider.cpp
-@@ -86,9 +86,9 @@ void GeneralIntegratorInsertionSortColli
- 				if(!s) continue;
- 				minR=min(s->radius,minR);
- 			}
--			if (isinf(minR)) LOG_ERROR("verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script.");
-+			if (std::isinf(minR)) LOG_ERROR("verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script.");
- 			// if no spheres, disable stride
--			verletDist=isinf(minR) ? 0 : std::abs(verletDist)*minR;
-+			verletDist=std::isinf(minR) ? 0 : std::abs(verletDist)*minR;
- 		}
- 		
- 		// update bounds via boundDispatcher
-Index: trunk-1.20.0/pkg/dem/UniaxialStrainer.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/UniaxialStrainer.cpp
-+++ trunk-1.20.0/pkg/dem/UniaxialStrainer.cpp
-@@ -38,13 +38,13 @@ void UniaxialStrainer::init(){
- 	if(originalLength<=0) throw runtime_error(("UniaxialStrainer: Initial length is negative or zero (swapped reference particles?)! "+boost::lexical_cast<string>(originalLength)).c_str());
- 	/* this happens is nan propagates from e.g. brefcom consitutive law in case 2 bodies have _exactly_ the same position
- 	 * (the the normal strain is 0./0.=nan). That is an user's error, however and should not happen. */
--	if(isnan(originalLength)) throw logic_error("UniaxialStrainer: Initial length is NaN!");
--	assert(originalLength>0 && !isnan(originalLength));
-+	if(std::isnan(originalLength)) throw logic_error("UniaxialStrainer: Initial length is NaN!");
-+	assert(originalLength>0 && !std::isnan(originalLength));
- 
--	assert(!isnan(strainRate) || !isnan(absSpeed));
--	if(!isnan(std::numeric_limits<Real>::quiet_NaN())){ throw runtime_error("UniaxialStrainer: NaN's are not properly supported (compiled with -ffast-math?), which is required."); }
-+	assert(!std::isnan(strainRate) || !std::isnan(absSpeed));
-+	if(!std::isnan(std::numeric_limits<Real>::quiet_NaN())){ throw runtime_error("UniaxialStrainer: NaN's are not properly supported (compiled with -ffast-math?), which is required."); }
- 
--	if(isnan(strainRate)){ strainRate=absSpeed/originalLength; LOG_INFO("Computed new strainRate "<<strainRate); }
-+	if(std::isnan(strainRate)){ strainRate=absSpeed/originalLength; LOG_INFO("Computed new strainRate "<<strainRate); }
- 	else {absSpeed=strainRate*originalLength;}
- 
- 	if(!setSpeeds){
-@@ -77,7 +77,7 @@ void UniaxialStrainer::init(){
- 			b->state->vel[axis]=pNormalized*(v1-v0)+v0;
- 		}
- 	}
--	if(isnan(crossSectionArea)){ throw std::invalid_argument("UniaxialStrain.crossSectionArea must be specified."); }
-+	if(std::isnan(crossSectionArea)){ throw std::invalid_argument("UniaxialStrain.crossSectionArea must be specified."); }
- }
- 
- void UniaxialStrainer::action(){
-@@ -93,7 +93,7 @@ void UniaxialStrainer::action(){
- 	} else currentStrainRate=strainRate;
- 	// how much do we move (in total, symmetry handled below)
- 	Real dAX=currentStrainRate*originalLength*scene->dt;
--	if(!isnan(stopStrain)){
-+	if(!std::isnan(stopStrain)){
- 		Real axialLength=axisCoord(posIds[0])-axisCoord(negIds[0]);
- 		Real newStrain=(axialLength+dAX)/originalLength-1;
- 		if((newStrain*stopStrain>0) && std::abs(newStrain)>=stopStrain){ // same sign of newStrain and stopStrain && over the limit from below in abs values
-Index: trunk-1.20.0/pkg/dem/Polyhedra_Ig2.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/Polyhedra_Ig2.cpp
-+++ trunk-1.20.0/pkg/dem/Polyhedra_Ig2.cpp
-@@ -64,7 +64,7 @@ bool Ig2_Polyhedra_Polyhedra_PolyhedraGe
- 	Real volume;
- 	Vector3r centroid;	
- 	P_volume_centroid(Int, &volume, &centroid);
-- 	if(isnan(volume) || volume<=1E-25 || volume > min(A->GetVolume(),B->GetVolume())) {
-+ 	if(std::isnan(volume) || volume<=1E-25 || volume > min(A->GetVolume(),B->GetVolume())) {
- 		bang->equivalentPenetrationDepth=0;
- 		bang->penetrationVolume=min(A->GetVolume(),B->GetVolume());
- 		bang->normal = (A->GetVolume()>B->GetVolume() ? 1 : -1)*(se32.position+shift2-se31.position);
-@@ -155,7 +155,7 @@ bool Ig2_Wall_Polyhedra_PolyhedraGeom::g
- 	Real volume;
- 	Vector3r centroid;	
- 	P_volume_centroid(Int, &volume, &centroid);
--	if(isnan(volume) || volume<=1E-25 || volume > B->GetVolume())  {bang->equivalentPenetrationDepth=0; return true;}
-+	if(std::isnan(volume) || volume<=1E-25 || volume > B->GetVolume())  {bang->equivalentPenetrationDepth=0; return true;}
- 	if (!Is_inside_Polyhedron(PB, ToCGALPoint(centroid)))  {bang->equivalentPenetrationDepth=0; return true;}
- 
- 	//calculate area of projection of Intersection into the normal plane
-@@ -250,7 +250,7 @@ bool Ig2_Facet_Polyhedra_PolyhedraGeom::
- 	Real volume;
- 	Vector3r centroid;	
- 	P_volume_centroid(Int, &volume, &centroid);
-- 	if(isnan(volume) || volume<=1E-25 || volume > B->GetVolume()) {bang->equivalentPenetrationDepth=0; return true;}
-+ 	if(std::isnan(volume) || volume<=1E-25 || volume > B->GetVolume()) {bang->equivalentPenetrationDepth=0; return true;}
- 	if (!Is_inside_Polyhedron(PB, ToCGALPoint(centroid)))  {bang->equivalentPenetrationDepth=0; return true;}
- 
- 	//find normal direction
-Index: trunk-1.20.0/pkg/dem/ScGeom.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/ScGeom.cpp
-+++ trunk-1.20.0/pkg/dem/ScGeom.cpp
-@@ -104,7 +104,7 @@ void ScGeom6D::precomputeRotations(const
- // add -DYADE_SCGEOM_DEBUG to CXXFLAGS to enable this piece or just do
- // #define YADE_SCGEOM_DEBUG //(but do not commit with that enabled in the code)
- #ifdef YADE_SCGEOM_DEBUG
--		if (isnan(aa.angle())) {
-+		if (std::isnan(aa.angle())) {
- 			cerr<<"NaN angle found in angleAxisr(q), for quaternion "<<delta<<", after quaternion product"<<endl;
- 			cerr<<"rbp1.ori * (initialOrientation1.conjugate())) * (initialOrientation2 * (rbp2.ori.conjugate()) with quaternions :"<<endl;
- 			cerr<<rbp1.ori<<" * "<<initialOrientation1<<" * "<<initialOrientation2<<" * "<<rbp2.ori<<endl<<" and sub-products :"<<endl<<rbp1.ori * (initialOrientation1.conjugate())<<" * "<<initialOrientation2 * (rbp2.ori.conjugate())<<endl;
-@@ -115,7 +115,7 @@ void ScGeom6D::precomputeRotations(const
- 			cerr<<delta<<" "<<bb.angle()<<endl;
- 		}
- #else
--		if (isnan(aa.angle())) aa.angle()=0;
-+		if (std::isnan(aa.angle())) aa.angle()=0;
- #endif
- 		if (aa.angle() > Mathr::PI) aa.angle() -= Mathr::TWO_PI;   // angle is between 0 and 2*pi, but should be between -pi and pi
- 		twist = (aa.angle() * aa.axis().dot(normal));
-Index: trunk-1.20.0/pkg/dem/Shop_02.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/Shop_02.cpp
-+++ trunk-1.20.0/pkg/dem/Shop_02.cpp
-@@ -87,7 +87,7 @@ boost::tuple<Real,Real,Real> Shop::spira
- 	else theta=0;
- 	Real hRef=dH_dTheta*(theta-theta0);
- 	long period;
--	if(isnan(periodStart)){
-+	if(std::isnan(periodStart)){
- 		Real h=Shop::periodicWrap(pt[axis]-hRef,hRef-Mathr::PI*dH_dTheta,hRef+Mathr::PI*dH_dTheta,&period);
- 		return boost::make_tuple(r,h,theta);
- 	}
-@@ -238,7 +238,7 @@ py::tuple Shop::normalShearStressTensors
- 		Real N=(compressionPositive?-1:1)*phys->normalForce.dot(n);
- 		// Real R=(Body::byId(I->getId2(),scene)->state->pos+cellHsize*I->cellDist.cast<Real>()-Body::byId(I->getId1(),scene)->state->pos).norm();
- 		Real R=.5*(geom->refR1+geom->refR2);
--		Real Fsplit=(!isnan(thresholdForce))?thresholdForce:Fmean;
-+		Real Fsplit=(!std::isnan(thresholdForce))?thresholdForce:Fmean;
- 		if (compressionPositive?(N<Fsplit):(N>Fsplit)){
- 			for(int i=0; i<3; i++) for(int j=i; j<3; j++){
- 				sigNStrong(i,j)+=R*N*n[i]*n[j];}
-@@ -304,7 +304,7 @@ void Shop::fabricTensor(Real& Fmean, Mat
- 	fabricStrong=Matrix3r::Zero(); 
- 	fabricWeak=Matrix3r::Zero(); 
- 	int nStrong(0), nWeak(0); // number of strong and weak contacts respectively
--	if (!splitTensor & !isnan(thresholdForce)) {LOG_WARN("The bool splitTensor should be set to True if you specified a threshold value for the contact force, otherwise the function will return only the fabric tensor and not the two separate contributions.");}
-+	if (!splitTensor & !std::isnan(thresholdForce)) {LOG_WARN("The bool splitTensor should be set to True if you specified a threshold value for the contact force, otherwise the function will return only the fabric tensor and not the two separate contributions.");}
- 	FOREACH(const shared_ptr<Interaction>& I, *scene->interactions){
- 		if(!I->isReal()) continue;
- 		GenericSpheresContact* geom=YADE_CAST<GenericSpheresContact*>(I->geom.get());
-@@ -312,7 +312,7 @@ void Shop::fabricTensor(Real& Fmean, Mat
- 		const Vector3r& n=geom->normal;
- 		Real  f=(revertSign?-1:1)*phys->normalForce.dot(n); 
- 		// slipt the tensor according to the mean contact force or a threshold value if this is given
--		Real Fsplit=(!isnan(thresholdForce))?thresholdForce:Fmean;
-+		Real Fsplit=(!std::isnan(thresholdForce))?thresholdForce:Fmean;
- 		if (revertSign?(f<Fsplit):(f>Fsplit)){ // reminder: forces are compared with their sign
- 			for(int i=0; i<3; i++) for(int j=i; j<3; j++){
- 				fabricStrong(i,j)+=n[i]*n[j];
-Index: trunk-1.20.0/pkg/dem/ConcretePM.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/ConcretePM.cpp
-+++ trunk-1.20.0/pkg/dem/ConcretePM.cpp
-@@ -43,14 +43,14 @@ void Ip2_CpmMat_CpmMat_CpmPhys::go(const
- 
- 	// check unassigned values
- 	if (!mat1->neverDamage) {
--		assert(!isnan(mat1->sigmaT));
--		assert(!isnan(mat1->epsCrackOnset));
--		assert(!isnan(mat1->relDuctility));
-+		assert(!std::isnan(mat1->sigmaT));
-+		assert(!std::isnan(mat1->epsCrackOnset));
-+		assert(!std::isnan(mat1->relDuctility));
- 	}
- 	if (!mat2->neverDamage) {
--		assert(!isnan(mat2->sigmaT));
--		assert(!isnan(mat2->epsCrackOnset));
--		assert(!isnan(mat2->relDuctility));
-+		assert(!std::isnan(mat2->sigmaT));
-+		assert(!std::isnan(mat2->epsCrackOnset));
-+		assert(!std::isnan(mat2->relDuctility));
- 	}
- 
- 	cpmPhys->damLaw = mat1->damLaw;
-@@ -273,7 +273,7 @@ Real Law2_ScGeom_CpmPhys_Cpm::elasticEne
- 
- #ifdef YADE_DEBUG
- 	#define CPM_YADE_DEBUG_A \
--		if(isnan(epsN)){\
-+		if(std::isnan(epsN)){\
- 			/*LOG_FATAL("refLength="<<geom->refLength<<"; pos1="<<geom->se31.position<<"; pos2="<<geom->se32.position<<"; displacementN="<<geom->displacementN());*/ \
- 			throw runtime_error("!! epsN==NaN !!");\
- 		}
-@@ -283,8 +283,8 @@ Real Law2_ScGeom_CpmPhys_Cpm::elasticEne
- 
- 
- #define YADE_VERIFY(condition) if(!(condition)){LOG_FATAL("Verification `"<<#condition<<"' failed!"); LOG_FATAL("in interaction #"<<I->getId1()<<"+#"<<I->getId2()); Omega::instance().saveSimulation("/tmp/verificationFailed.xml"); throw;}
--#define NNAN(a) YADE_VERIFY(!isnan(a));
--#define NNANV(v) YADE_VERIFY(!isnan(v[0])); assert(!isnan(v[1])); assert(!isnan(v[2]));
-+#define NNAN(a) YADE_VERIFY(!std::isnan(a));
-+#define NNANV(v) YADE_VERIFY(!std::isnan(v[0])); assert(!std::isnan(v[1])); assert(!std::isnan(v[2]));
- 
- bool Law2_ScGeom_CpmPhys_Cpm::go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I){
- 	TIMING_DELTAS_START();
-Index: trunk-1.20.0/pkg/dem/PeriIsoCompressor.cpp
-===================================================================
---- trunk-1.20.0.orig/pkg/dem/PeriIsoCompressor.cpp
-+++ trunk-1.20.0/pkg/dem/PeriIsoCompressor.cpp
-@@ -154,7 +154,7 @@ void PeriTriaxController::action()
- 	if(doUpdate || min(stiff[0],min(stiff[1],stiff[2])) <=0 || dynCell){ strainStressStiffUpdate(); }
- 
- 	// set mass to be sum of masses, if not set by the user
--	if(dynCell && isnan(mass)){
-+	if(dynCell && std::isnan(mass)){
- 		mass=0; FOREACH(const shared_ptr<Body>& b, *scene->bodies){ if(b && b->state) mass+=b->state->mass; }
- 		LOG_INFO("Setting cell mass to "<<mass<<" automatically.");}
- 	bool allOk=true;
diff --git a/debian/patches/series b/debian/patches/series
index 81d0246..e58712f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,2 @@
 01_remove_google_analytics.patch
-02_FixMatplotLibWarning.patch
-01fea359c04d08f93d2feddcd07b31bc794dbb37.patch
-fix_glibc223.patch
 05_reproducible-builds.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/yade.git



More information about the debian-science-commits mailing list