[freecad] 03/11: Refresh/Remove patches.

Anton Gladky gladk at moszumanska.debian.org
Fri May 13 17:47:21 UTC 2016


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

gladk pushed a commit to branch master
in repository freecad.

commit 010b5c842d69189525ed8ff05a2b25be33c87872
Author: Anton Gladky <gladk at debian.org>
Date:   Wed May 11 20:10:48 2016 +0200

    Refresh/Remove patches.
---
 debian/patches/GCS_eigen3.patch                    | 116 -------
 debian/patches/disable_memory_check.patch          |  12 +-
 .../patches/do_not_install_binary_examples.patch   |   9 +-
 debian/patches/eigen3.patch                        | 376 ---------------------
 debian/patches/exclude_ply.patch                   |  10 +-
 debian/patches/fix_FTBFS_on_precise.patch          |   6 +-
 debian/patches/fix_armel_FTBFS.patch               |  30 +-
 debian/patches/fix_clang_compilation.patch         | 340 -------------------
 debian/patches/gcc5.patch                          | 108 ------
 debian/patches/remove_doc-files.patch              |  31 +-
 debian/patches/remove_getting_webpage.patch        |  17 -
 debian/patches/series                              |   6 -
 debian/patches/unittest_to_stdout.patch            |  47 ---
 debian/patches/use_share.patch                     |  12 +-
 14 files changed, 58 insertions(+), 1062 deletions(-)

diff --git a/debian/patches/GCS_eigen3.patch b/debian/patches/GCS_eigen3.patch
deleted file mode 100644
index b1ea878..0000000
--- a/debian/patches/GCS_eigen3.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Description: Sketcher: Solver: FullPivLU::compute for Eigen-3.3
-Author: Abdullah Tahiri <abdullah.tahiri.yo at gmail.com>
-Bug-Debian: https://bugs.debian.org/811239
-Forwarded: https://github.com/FreeCAD/FreeCAD/commit/86f045441468724de9fb45af67b982be26c8a48b
-Reviewed-By: Anton Gladky <gladk at debian.org>
-Last-Update: 2016-01-17
-
---- freecad-0.15.4671+dfsg1.orig/src/Mod/Sketcher/App/planegcs/GCS.cpp
-+++ freecad-0.15.4671+dfsg1/src/Mod/Sketcher/App/planegcs/GCS.cpp
-@@ -39,105 +39,7 @@
- #include <boost/graph/adjacency_list.hpp>
- #include <boost/graph/connected_components.hpp>
- 
--// http://forum.freecadweb.org/viewtopic.php?f=3&t=4651&start=40
--namespace Eigen {
--
--typedef Matrix<double,-1,-1,0,-1,-1> MatrixdType;
--template<>
--FullPivLU<MatrixdType>& FullPivLU<MatrixdType>::compute(const MatrixdType& matrix)
--{
--  m_isInitialized = true;
--  m_lu = matrix;
--
--  const Index size = matrix.diagonalSize();
--  const Index rows = matrix.rows();
--  const Index cols = matrix.cols();
--
--  // will store the transpositions, before we accumulate them at the end.
--  // can't accumulate on-the-fly because that will be done in reverse order for the rows.
--  m_rowsTranspositions.resize(matrix.rows());
--  m_colsTranspositions.resize(matrix.cols());
--  Index number_of_transpositions = 0; // number of NONTRIVIAL transpositions, i.e. m_rowsTranspositions[i]!=i
--
--  m_nonzero_pivots = size; // the generic case is that in which all pivots are nonzero (invertible case)
--  m_maxpivot = RealScalar(0);
--  RealScalar cutoff(0);
--
--  for(Index k = 0; k < size; ++k)
--  {
--    // First, we need to find the pivot.
--
--    // biggest coefficient in the remaining bottom-right corner (starting at row k, col k)
--    Index row_of_biggest_in_corner, col_of_biggest_in_corner;
--    RealScalar biggest_in_corner;
--    biggest_in_corner = m_lu.bottomRightCorner(rows-k, cols-k)
--                        .cwiseAbs()
--                        .maxCoeff(&row_of_biggest_in_corner, &col_of_biggest_in_corner);
--    row_of_biggest_in_corner += k; // correct the values! since they were computed in the corner,
--    col_of_biggest_in_corner += k; // need to add k to them.
--
--    // when k==0, biggest_in_corner is the biggest coeff absolute value in the original matrix
--    if(k == 0) cutoff = biggest_in_corner * NumTraits<Scalar>::epsilon();
--
--    // if the pivot (hence the corner) is "zero", terminate to avoid generating nan/inf values.
--    // Notice that using an exact comparison (biggest_in_corner==0) here, as Golub-van Loan do in
--    // their pseudo-code, results in numerical instability! The cutoff here has been validated
--    // by running the unit test 'lu' with many repetitions.
--    if(biggest_in_corner < cutoff)
--    {
--      // before exiting, make sure to initialize the still uninitialized transpositions
--      // in a sane state without destroying what we already have.
--      m_nonzero_pivots = k;
--      for(Index i = k; i < size; ++i)
--      {
--        m_rowsTranspositions.coeffRef(i) = i;
--        m_colsTranspositions.coeffRef(i) = i;
--      }
--      break;
--    }
--
--    if(biggest_in_corner > m_maxpivot) m_maxpivot = biggest_in_corner;
--
--    // Now that we've found the pivot, we need to apply the row/col swaps to
--    // bring it to the location (k,k).
--
--    m_rowsTranspositions.coeffRef(k) = row_of_biggest_in_corner;
--    m_colsTranspositions.coeffRef(k) = col_of_biggest_in_corner;
--    if(k != row_of_biggest_in_corner) {
--      m_lu.row(k).swap(m_lu.row(row_of_biggest_in_corner));
--      ++number_of_transpositions;
--    }
--    if(k != col_of_biggest_in_corner) {
--      m_lu.col(k).swap(m_lu.col(col_of_biggest_in_corner));
--      ++number_of_transpositions;
--    }
--
--    // Now that the pivot is at the right location, we update the remaining
--    // bottom-right corner by Gaussian elimination.
--
--    if(k<rows-1)
--      m_lu.col(k).tail(rows-k-1) /= m_lu.coeff(k,k);
--    if(k<size-1)
--      m_lu.block(k+1,k+1,rows-k-1,cols-k-1).noalias() -= m_lu.col(k).tail(rows-k-1) * m_lu.row(k).tail(cols-k-1);
--  }
--
--  // the main loop is over, we still have to accumulate the transpositions to find the
--  // permutations P and Q
--
--  m_p.setIdentity(rows);
--  for(Index k = size-1; k >= 0; --k)
--    m_p.applyTranspositionOnTheRight(k, m_rowsTranspositions.coeff(k));
--
--  m_q.setIdentity(cols);
--  for(Index k = 0; k < size; ++k)
--    m_q.applyTranspositionOnTheRight(k, m_colsTranspositions.coeff(k));
--
--  m_det_pq = (number_of_transpositions%2) ? -1 : 1;
--  return *this;
--}
--
--} // Eigen
--
-+#define EIGEN_STOCK_FULLPIVLU_COMPUTE
- namespace GCS
- {
- 
diff --git a/debian/patches/disable_memory_check.patch b/debian/patches/disable_memory_check.patch
index c7a2b41..98580cc 100644
--- a/debian/patches/disable_memory_check.patch
+++ b/debian/patches/disable_memory_check.patch
@@ -7,10 +7,10 @@ Author: Anton Gladky <gladky.anton at gmail.com>
 Bug-Debian: http://bugs.debian.org/623560
 Last-Update: 2011-09-24
 
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
 @@ -42,12 +42,6 @@
  #include <iterator>
  using namespace std;
@@ -75,10 +75,10 @@ Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
  }
  
  ///////////////////////////////////////////////////////////////////////////////
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp
 @@ -27,11 +27,6 @@
  // This is not done inside a function of SALOME because allocated memory is not returned
  // to the system. (PAL16631)
diff --git a/debian/patches/do_not_install_binary_examples.patch b/debian/patches/do_not_install_binary_examples.patch
index 812b9cb..274ba1b 100644
--- a/debian/patches/do_not_install_binary_examples.patch
+++ b/debian/patches/do_not_install_binary_examples.patch
@@ -2,11 +2,11 @@ Description: binary examples were removed, remove them from Cmake-target
 Author: Anton Gladky <gladk at debian.org>
 Last-Update: 2013-09-18
 
-Index: freecad-0.15.4671/data/examples/CMakeLists.txt
+Index: FreeCAD-0.16/data/examples/CMakeLists.txt
 ===================================================================
---- freecad-0.15.4671.orig/data/examples/CMakeLists.txt
-+++ freecad-0.15.4671/data/examples/CMakeLists.txt
-@@ -1,11 +1,6 @@
+--- FreeCAD-0.16.orig/data/examples/CMakeLists.txt
++++ FreeCAD-0.16/data/examples/CMakeLists.txt
+@@ -1,12 +1,6 @@
  
  SET(Examples_Files 
      Schenkel.stp
@@ -15,6 +15,7 @@ Index: freecad-0.15.4671/data/examples/CMakeLists.txt
 -    PartDesignExample.FCStd
 -    RobotExample.FCStd
 -    ArchDetail.FCStd
+-    FemCalculixCantilever3D.FCStd
  )
  
  ADD_CUSTOM_TARGET(Example_data ALL
diff --git a/debian/patches/eigen3.patch b/debian/patches/eigen3.patch
deleted file mode 100644
index 5f68c36..0000000
--- a/debian/patches/eigen3.patch
+++ /dev/null
@@ -1,376 +0,0 @@
-Description: Drop EIGEN2_SUPPORT
-Author: Anton Gladky <gladk at debian.org>
-Bug-Debian: https://bugs.debian.org/786356
-Last-Update: 2015-09-20
-
-Index: freecad-0.15.4671/src/Mod/Mesh/App/Core/Approximation.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Mesh/App/Core/Approximation.cpp
-+++ freecad-0.15.4671/src/Mod/Mesh/App/Core/Approximation.cpp
-@@ -26,6 +26,7 @@
- #ifndef _PreComp_
- # include <algorithm>
- #endif
-+#include <Eigen/Dense>
- 
- #include "Approximation.h"
- 
-@@ -56,8 +57,6 @@ extern "C" void LAPACK_DGESV (int const*
- 
- #endif
- 
--# include <Eigen/LeastSquares>
--
- using namespace MeshCore;
- 
- 
-@@ -700,7 +699,7 @@ double SurfaceFit::PolynomFit()
-     //std::clog << b << std::endl;
- #else
-     // A.llt().solve(b,&x); // not sure if always positive definite
--    A.qr().solve(b,&x);
-+    x = A.colPivHouseholderQr().solve(b);
- #endif
- 
-     _fCoeff[0] = (float)(-x(5));
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/articulatedbodyinertia.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/articulatedbodyinertia.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/articulatedbodyinertia.cpp
-@@ -29,8 +29,8 @@ namespace KDL{
-     
-     ArticulatedBodyInertia::ArticulatedBodyInertia(const RigidBodyInertia& rbi)
-     {
--        this->M.part<SelfAdjoint>()=Matrix3d::Identity()*rbi.m;
--        this->I.part<SelfAdjoint>()=Map<Matrix3d>(rbi.I.data);
-+        this->M=Matrix3d::Identity()*rbi.m;
-+        this->I=Map<Matrix3d>(rbi.I.data);
-         this->H << 0,-rbi.h[2],rbi.h[1],
-             rbi.h[2],0,-rbi.h[0],
-             -rbi.h[1],rbi.h[0],0;
-@@ -43,8 +43,8 @@ namespace KDL{
- 
-     ArticulatedBodyInertia::ArticulatedBodyInertia(const Eigen::Matrix3d& M, const Eigen::Matrix3d& H, const Eigen::Matrix3d& I)
-     {
--        this->M.part<SelfAdjoint>()=M;
--        this->I.part<SelfAdjoint>()=I;
-+        this->M=M;
-+        this->I=I;
-         this->H=H;
-     }
-     
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.cpp
-@@ -68,9 +68,9 @@ namespace KDL
-         //std::cout<<"# sweeps: "<<ret<<std::endl;
- 
-         if(transpose)
--            UY = (V.transpose() * v_in_eigen).lazy();
-+            UY = (V.transpose() * v_in_eigen);
-         else
--            UY = (U.transpose() * v_in_eigen).lazy();
-+            UY = (U.transpose() * v_in_eigen);
- 
-         for (unsigned int i = 0; i < n; i++){
-             double wi = UY(i);
-@@ -83,9 +83,9 @@ namespace KDL
-             SUY(i)= alpha * wi;
-         }
-         if(transpose)
--            qdot_eigen = (U * SUY).lazy();
-+            qdot_eigen = (U * SUY);
-         else
--            qdot_eigen = (V * SUY).lazy();
-+            qdot_eigen = (V * SUY);
- 
-         for (unsigned int j=0;j<chain.getNrOfJoints();j++)
-             qdot_out(j)=qdot_eigen(j);
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_pinv_givens.hpp
-@@ -8,7 +8,7 @@
- 
- #include <Eigen/Core>
- 
--USING_PART_OF_NAMESPACE_EIGEN;
-+using namespace Eigen;
- 
- namespace KDL
- {
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_wdls.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/chainiksolvervel_wdls.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/chainiksolvervel_wdls.cpp
-@@ -78,15 +78,15 @@ namespace KDL
-         */
-         
-         // Create the Weighted jacobian
--        tmp_jac_weight1 = (jac.data*weight_js).lazy();
--        tmp_jac_weight2 = (weight_ts*tmp_jac_weight1).lazy();
-+        tmp_jac_weight1 = (jac.data*weight_js);
-+        tmp_jac_weight2 = (weight_ts*tmp_jac_weight1);
-    
-         // Compute the SVD of the weighted jacobian
-         int ret = svd_eigen_HH(tmp_jac_weight2,U,S,V,tmp,maxiter);
-                 
-         //Pre-multiply U and V by the task space and joint space weighting matrix respectively
--        tmp_ts = (weight_ts*U.corner(Eigen::TopLeft,6,6)).lazy();
--        tmp_js = (weight_js*V).lazy(); 
-+        tmp_ts = (weight_ts*U.topLeftCorner(6,6));
-+        tmp_js = (weight_js*V); 
-         
-         // tmp = (Si*U'*Ly*y), 
-         for (i=0;i<jac.columns();i++) {
-@@ -112,7 +112,7 @@ namespace KDL
-             qdot_out(i)=sum;
-         }
-         */
--        qdot_out.data=(tmp_js*tmp).lazy();
-+        qdot_out.data=(tmp_js*tmp);
-         return ret;
-     }
-     
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-@@ -23,7 +23,7 @@
- 
- namespace KDL
- {
--    USING_PART_OF_NAMESPACE_EIGEN
-+    using namespace Eigen;
- 
-     Jacobian::Jacobian()
-     {
-@@ -147,8 +147,8 @@ namespace KDL
-     }
-     
-     void Jacobian::setColumn(unsigned int i,const Twist& t){
--        data.col(i).start<3>()=Eigen::Map<Vector3d>(t.vel.data);
--        data.col(i).end<3>()=Eigen::Map<Vector3d>(t.rot.data);
-+        data.col(i).head<3>()=Eigen::Map<Vector3d>(t.vel.data);
-+        data.col(i).tail<3>()=Eigen::Map<Vector3d>(t.rot.data);
-     }
- 
- }
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarray.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntarray.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarray.cpp
-@@ -23,7 +23,7 @@
- 
- namespace KDL
- {
--    USING_PART_OF_NAMESPACE_EIGEN
-+    using namespace Eigen;
- 
-     JntArray::JntArray()
-     {
-@@ -101,7 +101,7 @@ namespace KDL
- 
-     void MultiplyJacobian(const Jacobian& jac, const JntArray& src, Twist& dest)
-     {
--        Eigen::Matrix<double,6,1> t=(jac.data*src.data).lazy();
-+        Eigen::Matrix<double,6,1> t=(jac.data*src.data);
-         dest=Twist(Vector(t(0),t(1),t(2)),Vector(t(3),t(4),t(5)));
-     }
-     
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-@@ -23,7 +23,7 @@
- 
- namespace KDL
- {
--    USING_PART_OF_NAMESPACE_EIGEN
-+    using namespace Eigen;
- 
-     JntSpaceInertiaMatrix::JntSpaceInertiaMatrix()
-     {
-@@ -100,7 +100,7 @@ namespace KDL
- 
-     void Multiply(const JntSpaceInertiaMatrix& src, const JntArray& vec, JntArray& dest)
-     {
--        dest.data=(src.data*vec.data).lazy();
-+        dest.data=(src.data*vec.data);
-     }
-     
-     void SetToZero(JntSpaceInertiaMatrix& mat)
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.cpp
-@@ -76,15 +76,15 @@ namespace KDL {
-         
-         //Lets use the wdls algorithm to find the qdot:
-         // Create the Weighted jacobian
--        J_Wq = (J * Wq).lazy();
--        Wy_J_Wq = (Wy * J_Wq).lazy();
-+        J_Wq = (J * Wq);
-+        Wy_J_Wq = (Wy * J_Wq);
-         
-         // Compute the SVD of the weighted jacobian
-         int ret = svd_eigen_HH(Wy_J_Wq, U, S, V, tmp);
-         
-         //Pre-multiply U and V by the task space and joint space weighting matrix respectively
--        Wy_t = (Wy * t).lazy();
--        Wq_V = (Wq * V).lazy();
-+        Wy_t = (Wy * t);
-+        Wq_V = (Wq * V);
-         
-         // tmp = (Si*Wy*U'*y),
-         for (unsigned int i = 0; i < J.cols(); i++) {
-@@ -99,7 +99,7 @@ namespace KDL {
-         }
-         
-         // x = Lx^-1*V*tmp + x
--        qdot_out.data = (Wq_V * tmp).lazy();
-+        qdot_out.data = (Wq_V * tmp);
-         
-         return Wy_t.norm();
-     }
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/treeiksolvervel_wdls.hpp
-@@ -14,7 +14,7 @@
- 
- namespace KDL {
- 
--    USING_PART_OF_NAMESPACE_EIGEN;
-+    using namespace Eigen;
- 
-     class TreeIkSolverVel_wdls: public TreeIkSolverVel {
-     public:
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.cpp
-@@ -30,7 +30,7 @@ namespace KDL{
-         const int cols = A.cols();
-     
-         U.setZero();
--        U.corner(Eigen::TopLeft,rows,cols)=A;
-+        U.topLeftCorner(rows,cols)=A;
- 
-         int i(-1),its(-1),j(-1),jj(-1),k(-1),nm=0;
-         int ppi(0);
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_HH.hpp
-@@ -28,7 +28,7 @@
- #include <Eigen/Core>
- #include <algorithm>
- 
--USING_PART_OF_NAMESPACE_EIGEN;
-+using namespace Eigen;
- 
- namespace KDL
- {
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_Macie.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_Macie.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/utilities/svd_eigen_Macie.hpp
-@@ -26,7 +26,7 @@
- #define SVD_BOOST_MACIE
- 
- #include <Eigen/Core>
--USING_PART_OF_NAMESPACE_EIGEN
-+using namespace Eigen;
- 
- namespace KDL
- {
-@@ -39,7 +39,7 @@ namespace KDL
-         unsigned int rotations=0;
-         if(toggle){
-             //Calculate B from new A and previous V
--            B=(A*V).lazy();
-+            B=(A*V);
-             while(rotate){
-                 rotate=false;
-                 rotations=0;
-@@ -76,9 +76,9 @@ namespace KDL
-                         B.col(i) = tempi;
-                         
-                         //Apply plane rotation to columns of V
--                        tempi.start(V.rows()) = cos*V.col(i) + sin*V.col(j);
-+                        tempi.head(V.rows()) = cos*V.col(i) + sin*V.col(j);
-                         V.col(j) = - sin*V.col(i) + cos*V.col(j);
--                        V.col(i) = tempi.start(V.rows());
-+                        V.col(i) = tempi.head(V.rows());
- 
-                         rotate=true;
-                     }
-@@ -103,7 +103,7 @@ namespace KDL
-             return sweeps;
-         }else{
-             //Calculate B from new A and previous U'
--            B =(U.transpose() * A).lazy();
-+            B =(U.transpose() * A);
-             while(rotate){
-                 rotate=false;
-                 rotations=0;
-@@ -137,15 +137,15 @@ namespace KDL
-                         }
- 
-                         //Apply plane rotation to rows of B
--                        tempi.start(B.cols()) =  cos*B.row(i) + sin*B.row(j);
-+                        tempi.head(B.cols()) =  cos*B.row(i) + sin*B.row(j);
-                         B.row(j) =  - sin*B.row(i) + cos*B.row(j);
--                        B.row(i) =  tempi.start(B.cols());
-+                        B.row(i) =  tempi.head(B.cols());
- 
- 
-                         //Apply plane rotation to rows of U
--                        tempi.start(U.rows()) = cos*U.col(i) + sin*U.col(j);
-+                        tempi.head(U.rows()) = cos*U.col(i) + sin*U.col(j);
-                         U.col(j) = - sin*U.col(i) + cos*U.col(j);
--                        U.col(i) = tempi.start(U.rows());
-+                        U.col(i) = tempi.head(U.rows());
- 
-                         rotate=true;
-                     }
-Index: freecad-0.15.4671/src/Mod/Mesh/App/CMakeLists.txt
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Mesh/App/CMakeLists.txt
-+++ freecad-0.15.4671/src/Mod/Mesh/App/CMakeLists.txt
-@@ -1,7 +1,5 @@
- if(WIN32)
-     add_definitions(-DFCAppMesh -DWM4_FOUNDATION_DLL_EXPORT -DEIGEN2_SUPPORT)
--else (Win32)
--    add_definitions(-DEIGEN2_SUPPORT)
- endif(WIN32)
- 
- include_directories(
-Index: freecad-0.15.4671/src/Mod/Robot/App/CMakeLists.txt
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/CMakeLists.txt
-+++ freecad-0.15.4671/src/Mod/Robot/App/CMakeLists.txt
-@@ -1,7 +1,7 @@
- if(MSVC)
-     add_definitions(-DFCAppRobot -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH -DEIGEN2_SUPPORT)
- else(MSVC)
--    add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H -DEIGEN2_SUPPORT)
-+    add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H)
- endif(MSVC)
- 
- 
-Index: freecad-0.15.4671/src/Mod/Robot/Gui/CMakeLists.txt
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/Gui/CMakeLists.txt
-+++ freecad-0.15.4671/src/Mod/Robot/Gui/CMakeLists.txt
-@@ -1,7 +1,7 @@
- if(MSVC)
-     add_definitions(-DFCGuiRobot -DHAVE_ACOSH -DHAVE_ASINH -DHAVE_ATANH -DEIGEN2_SUPPORT)
- else(MSVC)
--    add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H -DEIGEN2_SUPPORT)
-+    add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H)
- endif(MSVC)
- 
- 
diff --git a/debian/patches/exclude_ply.patch b/debian/patches/exclude_ply.patch
index b32ad71..f15f735 100644
--- a/debian/patches/exclude_ply.patch
+++ b/debian/patches/exclude_ply.patch
@@ -2,11 +2,11 @@ Description: exclude ply from build-sources, use packaged version
 Author: Anton Gladky <gladk at debian.org>, Sebastian Hoogen <sebastian at hoogen.de>
 Last-Update: 2013-09-25
 
-Index: freecad-0.15.4671/src/Mod/OpenSCAD/CMakeLists.txt
+Index: FreeCAD-0.16/src/Mod/OpenSCAD/CMakeLists.txt
 ===================================================================
---- freecad-0.15.4671.orig/src/Mod/OpenSCAD/CMakeLists.txt
-+++ freecad-0.15.4671/src/Mod/OpenSCAD/CMakeLists.txt
-@@ -24,7 +24,7 @@ SET(ply_SRCS
+--- FreeCAD-0.16.orig/src/Mod/OpenSCAD/CMakeLists.txt
++++ FreeCAD-0.16/src/Mod/OpenSCAD/CMakeLists.txt
+@@ -26,7 +26,7 @@ SET(ply_SRCS
  )
  SOURCE_GROUP("ply" FILES ${ply_SRCS})
  
@@ -15,7 +15,7 @@ Index: freecad-0.15.4671/src/Mod/OpenSCAD/CMakeLists.txt
  
  ADD_CUSTOM_TARGET(OpenSCAD ALL
      SOURCES ${allfiles} ${OpenSCAD_QRC_SRCS}
-@@ -39,12 +39,6 @@ fc_target_copy_resource(OpenSCAD
+@@ -43,12 +43,6 @@ ENDIF (BUILD_GUI)
  
  INSTALL(
      FILES
diff --git a/debian/patches/fix_FTBFS_on_precise.patch b/debian/patches/fix_FTBFS_on_precise.patch
index b2b9027..51b8c9b 100644
--- a/debian/patches/fix_FTBFS_on_precise.patch
+++ b/debian/patches/fix_FTBFS_on_precise.patch
@@ -4,10 +4,10 @@ Origin: https://bugs.launchpad.net/ubuntu/+source/freecad/+bug/932723/comments/2
 Author: Anton Gladky <gladky.anton at gmail.com>
 Last-Update: 2012-02-17
 
-Index: freecad-0.15.4671/src/Mod/Image/Gui/GLImageBox.cpp
+Index: FreeCAD-0.16/src/Mod/Image/Gui/GLImageBox.cpp
 ===================================================================
---- freecad-0.15.4671.orig/src/Mod/Image/Gui/GLImageBox.cpp
-+++ freecad-0.15.4671/src/Mod/Image/Gui/GLImageBox.cpp
+--- FreeCAD-0.16.orig/src/Mod/Image/Gui/GLImageBox.cpp
++++ FreeCAD-0.16/src/Mod/Image/Gui/GLImageBox.cpp
 @@ -16,6 +16,7 @@
   *                                                                         *
   ***************************************************************************/
diff --git a/debian/patches/fix_armel_FTBFS.patch b/debian/patches/fix_armel_FTBFS.patch
index baf3ac4..b5248bd 100644
--- a/debian/patches/fix_armel_FTBFS.patch
+++ b/debian/patches/fix_armel_FTBFS.patch
@@ -4,10 +4,10 @@ Description: fix compilation on Armel due to coincident variables in
 Author: Anton Gladky <gladky.anton at gmail.com>
 Last-Update: 2011-10-27
 
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/Rn.h
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/inc/Rn.h
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/inc/Rn.h
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/inc/Rn.h
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/inc/Rn.h
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/inc/Rn.h
 @@ -33,7 +33,7 @@
  #include <gp_Dir.hxx>      //Dans OpenCascade
  
@@ -270,10 +270,10 @@ Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/Rn.h
 +{return R_3(P.x>Q.x ? P.x : Q.x, P.y>Q.y ? P.y : Q.y, P.z>Q.z ? P.z : Q.z);} //Pt de xyz Max
  
  #endif
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
 @@ -61,7 +61,7 @@ public:
    typedef std::vector< StdMeshers_FaceSidePtr > TWireVector;
  
@@ -292,10 +292,10 @@ Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx
  		    std::vector< const SMDS_MeshNode*>& mefistoToDS,
                      double scalex, double scaley);
  					  
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/aptrte.h
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/inc/aptrte.h
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/inc/aptrte.h
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/inc/aptrte.h
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/inc/aptrte.h
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/inc/aptrte.h
 @@ -60,9 +60,9 @@
  
  MEFISTO2D_EXPORT
@@ -401,10 +401,10 @@ Index: freecad-0.15.4671/src/3rdParty/salomesmesh/inc/aptrte.h
  //calcul de la surface d'un triangle defini par 3 points de r**2
  
  #endif
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
 @@ -70,9 +70,9 @@ void MEFISTO2D_STDCALL deltacpu_( R & dt
  
  
@@ -468,10 +468,10 @@ Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp
  		   Z & mosoar, Z & mxsoar, Z *mnsoar,
  		   Z & moartr, Z & mxartr, Z *mnartr,
  		   Z & nbtria, R & quamoy, R & quamin )
-Index: freecad-0.15.4671/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
+Index: FreeCAD-0.16/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
 ===================================================================
---- freecad-0.15.4671.orig/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
-+++ freecad-0.15.4671/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
+--- FreeCAD-0.16.orig/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
++++ FreeCAD-0.16/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp
 @@ -218,12 +218,12 @@ bool StdMeshers_MEFISTO_2D::Compute(SMES
  
    Z nblf;                 //nombre de lignes fermees (enveloppe en tete)
diff --git a/debian/patches/fix_clang_compilation.patch b/debian/patches/fix_clang_compilation.patch
deleted file mode 100644
index 5b34cd9..0000000
--- a/debian/patches/fix_clang_compilation.patch
+++ /dev/null
@@ -1,340 +0,0 @@
-Description: fixes compilation with clang
-Author: Alexander <sanek23994 at gmail.com>
-Bug-Debian: http://bugs.debian.org/755305
-Reviewed-By: Anton Gladky <gladk at debian.org>
-Last-Update: 2014-08-23
-
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frameacc.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/frameacc.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frameacc.hpp
-@@ -79,9 +79,9 @@ public:
-     IMETHOD friend VectorAcc operator / (const VectorAcc& r2,const doubleAcc& r1);
- 
- 
--    IMETHOD friend bool Equal(const VectorAcc& r1,const VectorAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Vector& r1,const VectorAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const VectorAcc& r1,const Vector& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const VectorAcc& r1,const VectorAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const Vector& r1,const VectorAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const VectorAcc& r1,const Vector& r2,double eps);
-     IMETHOD friend VectorAcc operator - (const VectorAcc& r);
-     IMETHOD friend doubleAcc dot(const VectorAcc& lhs,const VectorAcc& rhs);
-     IMETHOD friend doubleAcc dot(const VectorAcc& lhs,const Vector& rhs);
-@@ -133,9 +133,9 @@ public:
-     IMETHOD friend RotationAcc operator* (const RotationAcc& r1,const RotationAcc& r2);
-     IMETHOD friend RotationAcc operator* (const Rotation& r1,const RotationAcc& r2);
-     IMETHOD friend RotationAcc operator* (const RotationAcc& r1,const Rotation& r2);
--    IMETHOD friend bool Equal(const RotationAcc& r1,const RotationAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Rotation& r1,const RotationAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const RotationAcc& r1,const Rotation& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const RotationAcc& r1,const RotationAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const Rotation& r1,const RotationAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const RotationAcc& r1,const Rotation& r2,double eps);
-     IMETHOD TwistAcc Inverse(const TwistAcc& arg) const;
-     IMETHOD TwistAcc Inverse(const Twist& arg) const;
-     IMETHOD TwistAcc operator * (const TwistAcc& arg) const;
-@@ -171,9 +171,9 @@ public:
-     IMETHOD friend FrameAcc operator * (const FrameAcc& f1,const FrameAcc& f2);
-     IMETHOD friend FrameAcc operator * (const Frame& f1,const FrameAcc& f2);
-     IMETHOD friend FrameAcc operator * (const FrameAcc& f1,const Frame& f2);
--    IMETHOD friend bool Equal(const FrameAcc& r1,const FrameAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Frame& r1,const FrameAcc& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const FrameAcc& r1,const Frame& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const FrameAcc& r1,const FrameAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const Frame& r1,const FrameAcc& r2,double eps);
-+    IMETHOD friend bool Equal(const FrameAcc& r1,const Frame& r2,double eps);
- 
-     IMETHOD TwistAcc  Inverse(const TwistAcc& arg) const;
-     IMETHOD TwistAcc  Inverse(const Twist& arg) const;
-@@ -227,9 +227,9 @@ public:
-      // the new point.
-      // Complexity : 6M+6A
- 
--     IMETHOD friend bool Equal(const TwistAcc& a,const TwistAcc& b,double eps=epsilon);
--     IMETHOD friend bool Equal(const Twist& a,const TwistAcc& b,double eps=epsilon);
--     IMETHOD friend bool Equal(const TwistAcc& a,const Twist& b,double eps=epsilon);
-+     IMETHOD friend bool Equal(const TwistAcc& a,const TwistAcc& b,double eps);
-+     IMETHOD friend bool Equal(const Twist& a,const TwistAcc& b,double eps);
-+     IMETHOD friend bool Equal(const TwistAcc& a,const Twist& b,double eps);
- 
- 
-      IMETHOD Twist GetTwist() const;
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/frames.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.cpp
-@@ -377,7 +377,7 @@ double Rotation::GetRotAngle(Vector& axi
- 
- bool operator==(const Rotation& a,const Rotation& b) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-     return ( a.data[0]==b.data[0] &&
-              a.data[1]==b.data[1] &&
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/frames.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.hpp
-@@ -244,7 +244,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Vector& a,const Vector& b,double eps=epsilon);
-+     inline friend bool Equal(const Vector& a,const Vector& b,double eps);
- 
- 	 //! The literal equality operator==(), also identical.
-      inline friend bool operator==(const Vector& a,const Vector& b);
-@@ -493,7 +493,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     friend bool Equal(const Rotation& a,const Rotation& b,double eps=epsilon);
-+     friend bool Equal(const Rotation& a,const Rotation& b,double eps);
- 
- 	 //! The literal equality operator==(), also identical.
-      friend bool operator==(const Rotation& a,const Rotation& b);
-@@ -651,7 +651,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Frame& a,const Frame& b,double eps=epsilon);
-+     inline friend bool Equal(const Frame& a,const Frame& b,double eps);
- 
- 	 //! The literal equality operator==(), also identical.
-      inline friend bool operator==(const Frame& a,const Frame& b);
-@@ -726,7 +726,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Twist& a,const Twist& b,double eps=epsilon);
-+     inline friend bool Equal(const Twist& a,const Twist& b,double eps);
- 
- 	 //! The literal equality operator==(), also identical.
-      inline friend bool operator==(const Twist& a,const Twist& b);
-@@ -889,7 +889,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Wrench& a,const Wrench& b,double eps=epsilon);
-+     inline friend bool Equal(const Wrench& a,const Wrench& b,double eps);
- 
- 	 //! The literal equality operator==(), also identical.
-      inline friend bool operator==(const Wrench& a,const Wrench& b);
-@@ -982,7 +982,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Vector2& a,const Vector2& b,double eps=epsilon);
-+     inline friend bool Equal(const Vector2& a,const Vector2& b,double eps);
- 
- 	//! The literal equality operator==(), also identical.
- 	inline friend bool operator==(const Vector2& a,const Vector2& b);
-@@ -1034,7 +1034,7 @@ public:
- 
-      //! do not use operator == because the definition of Equal(.,.) is slightly
-      //! different.  It compares whether the 2 arguments are equal in an eps-interval
--     inline friend bool Equal(const Rotation2& a,const Rotation2& b,double eps=epsilon);
-+     inline friend bool Equal(const Rotation2& a,const Rotation2& b,double eps);
- };
- 
- //! A 2D frame class, for further documentation see the Frames class
-@@ -1075,7 +1075,7 @@ public:
-         tmp.SetIdentity();
-         return tmp;
-      }
--     inline friend bool Equal(const Frame2& a,const Frame2& b,double eps=epsilon);
-+     inline friend bool Equal(const Frame2& a,const Frame2& b,double eps);
- };
- 
- IMETHOD Vector diff(const Vector& a,const Vector& b,double dt=1);
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.inl
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/frames.inl
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/frames.inl
-@@ -1294,7 +1294,7 @@ IMETHOD void posrandom(Frame& F) {
- 
- IMETHOD bool operator==(const Frame& a,const Frame& b ) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-         return (a.p == b.p &&
-                 a.M == b.M );
-@@ -1307,7 +1307,7 @@ IMETHOD bool operator!=(const Frame& a,c
- 
- IMETHOD bool operator==(const Vector& a,const Vector& b) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-         return (a.data[0]==b.data[0]&&
-                 a.data[1]==b.data[1]&&
-@@ -1321,7 +1321,7 @@ IMETHOD bool operator!=(const Vector& a,
- 
- IMETHOD bool operator==(const Twist& a,const Twist& b) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-         return (a.rot==b.rot &&
-                 a.vel==b.vel  );
-@@ -1334,7 +1334,7 @@ IMETHOD bool operator!=(const Twist& a,c
- 
- IMETHOD bool operator==(const Wrench& a,const Wrench& b ) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-     return (a.force==b.force &&
-             a.torque==b.torque );
-@@ -1350,7 +1350,7 @@ IMETHOD bool operator!=(const Rotation&
- 
- IMETHOD bool operator==(const Vector2& a,const Vector2& b) {
- #ifdef KDL_USE_EQUAL
--    return Equal(a,b);
-+    return Equal(a,b, epsilon);
- #else
-         return (a.data[0]==b.data[0]&&
-                 a.data[1]==b.data[1] );
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/framevel.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/framevel.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/framevel.hpp
-@@ -111,9 +111,9 @@ public:
-     IMETHOD friend void SetToZero(VectorVel& v);
- 
- 
--    IMETHOD friend bool Equal(const VectorVel& r1,const VectorVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Vector& r1,const VectorVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const VectorVel& r1,const Vector& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const VectorVel& r1,const VectorVel& r2,double eps);
-+    IMETHOD friend bool Equal(const Vector& r1,const VectorVel& r2,double eps);
-+    IMETHOD friend bool Equal(const VectorVel& r1,const Vector& r2,double eps);
-     IMETHOD friend VectorVel operator - (const VectorVel& r);
-     IMETHOD friend doubleVel dot(const VectorVel& lhs,const VectorVel& rhs);
-     IMETHOD friend doubleVel dot(const VectorVel& lhs,const Vector& rhs);
-@@ -167,9 +167,9 @@ public:
-     IMETHOD friend RotationVel operator* (const RotationVel& r1,const RotationVel& r2);
-     IMETHOD friend RotationVel operator* (const Rotation& r1,const RotationVel& r2);
-     IMETHOD friend RotationVel operator* (const RotationVel& r1,const Rotation& r2);
--    IMETHOD friend bool Equal(const RotationVel& r1,const RotationVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Rotation& r1,const RotationVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const RotationVel& r1,const Rotation& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const RotationVel& r1,const RotationVel& r2,double eps);
-+    IMETHOD friend bool Equal(const Rotation& r1,const RotationVel& r2,double eps);
-+    IMETHOD friend bool Equal(const RotationVel& r1,const Rotation& r2,double eps);
- 
-     IMETHOD TwistVel Inverse(const TwistVel& arg) const;
-     IMETHOD TwistVel Inverse(const Twist& arg) const;
-@@ -221,9 +221,9 @@ public:
-     IMETHOD friend FrameVel operator * (const FrameVel& f1,const FrameVel& f2);
-     IMETHOD friend FrameVel operator * (const Frame& f1,const FrameVel& f2);
-     IMETHOD friend FrameVel operator * (const FrameVel& f1,const Frame& f2);
--    IMETHOD friend bool Equal(const FrameVel& r1,const FrameVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const Frame& r1,const FrameVel& r2,double eps=epsilon);
--    IMETHOD friend bool Equal(const FrameVel& r1,const Frame& r2,double eps=epsilon);
-+    IMETHOD friend bool Equal(const FrameVel& r1,const FrameVel& r2,double eps);
-+    IMETHOD friend bool Equal(const Frame& r1,const FrameVel& r2,double eps);
-+    IMETHOD friend bool Equal(const FrameVel& r1,const Frame& r2,double eps);
- 
-     IMETHOD TwistVel  Inverse(const TwistVel& arg) const;
-     IMETHOD TwistVel  Inverse(const Twist& arg) const;
-@@ -293,9 +293,9 @@ public:
-      // = Equality operators
-      // do not use operator == because the definition of Equal(.,.) is slightly
-      // different.  It compares whether the 2 arguments are equal in an eps-interval
--     IMETHOD friend bool Equal(const TwistVel& a,const TwistVel& b,double eps=epsilon);
--     IMETHOD friend bool Equal(const Twist& a,const TwistVel& b,double eps=epsilon);
--     IMETHOD friend bool Equal(const TwistVel& a,const Twist& b,double eps=epsilon);
-+     IMETHOD friend bool Equal(const TwistVel& a,const TwistVel& b,double eps);
-+     IMETHOD friend bool Equal(const Twist& a,const TwistVel& b,double eps);
-+     IMETHOD friend bool Equal(const TwistVel& a,const Twist& b,double eps);
- 
- // = Conversion to other entities
-      IMETHOD Twist GetTwist() const;
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.cpp
-@@ -126,12 +126,12 @@ namespace KDL
- 
-     bool Jacobian::operator ==(const Jacobian& arg)const
-     {
--        return Equal((*this),arg);
-+        return Equal((*this),arg, epsilon);
-     }
-     
-     bool Jacobian::operator!=(const Jacobian& arg)const
-     {
--        return !Equal((*this),arg);
-+        return !Equal((*this),arg, epsilon);
-     }
-     
-     bool Equal(const Jacobian& a,const Jacobian& b,double eps)
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jacobian.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jacobian.hpp
-@@ -44,7 +44,7 @@ namespace KDL
-         bool operator ==(const Jacobian& arg)const;
-         bool operator !=(const Jacobian& arg)const;
-         
--        friend bool Equal(const Jacobian& a,const Jacobian& b,double eps=epsilon);
-+        friend bool Equal(const Jacobian& a,const Jacobian& b,double eps);
-         
- 
-         ~Jacobian();
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarrayacc.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntarrayacc.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarrayacc.hpp
-@@ -61,7 +61,7 @@ namespace KDL
-         friend void Divide(const JntArrayAcc& src,const doubleVel& factor,JntArrayAcc& dest);
-         friend void Divide(const JntArrayAcc& src,const doubleAcc& factor,JntArrayAcc& dest);
-         friend void SetToZero(JntArrayAcc& array);
--        friend bool Equal(const JntArrayAcc& src1,const JntArrayAcc& src2,double eps=epsilon);
-+        friend bool Equal(const JntArrayAcc& src1,const JntArrayAcc& src2,double eps);
- 
-     };
- }
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarrayvel.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntarrayvel.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntarrayvel.hpp
-@@ -54,7 +54,7 @@ namespace KDL
-         friend void Divide(const JntArrayVel& src,const double& factor,JntArrayVel& dest);
-         friend void Divide(const JntArrayVel& src,const doubleVel& factor,JntArrayVel& dest);
-         friend void SetToZero(JntArrayVel& array);
--        friend bool Equal(const JntArrayVel& src1,const JntArrayVel& src2,double eps=epsilon);
-+        friend bool Equal(const JntArrayVel& src1,const JntArrayVel& src2,double eps);
- 
-     };
- }
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.cpp
-@@ -115,7 +115,7 @@ namespace KDL
-         return src1.data.isApprox(src2.data,eps);
-     }
- 
--    bool operator==(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2){return Equal(src1,src2);};
-+    bool operator==(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2){return Equal(src1,src2, epsilon);};
-     //bool operator!=(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2){return Equal(src1,src2);};
- 
- }
-Index: freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.hpp
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.hpp
-+++ freecad-0.15.4671/src/Mod/Robot/App/kdl_cp/jntspaceinertiamatrix.hpp
-@@ -203,7 +203,7 @@ class MyTask : public RTT::TaskContext
-          * @return true if each element of src1 is within eps of the same
- 		 * element in src2, or if both src1 and src2 have no data (ie 0==rows())
-          */
--        friend bool Equal(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2,double eps=epsilon);
-+        friend bool Equal(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2,double eps);
- 
-         friend bool operator==(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2);
-         //friend bool operator!=(const JntSpaceInertiaMatrix& src1,const JntSpaceInertiaMatrix& src2);
diff --git a/debian/patches/gcc5.patch b/debian/patches/gcc5.patch
deleted file mode 100644
index e5b5033..0000000
--- a/debian/patches/gcc5.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-Description: Work around Qt4 not being compatible with boost+gcc5.
-Author: Martin Pitt <martin.pitt at ubuntu.com>
-Acked-By: Anton Gladky <gladk at debian.org>
-Bug-Debian: http://bugs.debian.org/795069
-Last-Update: 2015-08-12
-
-Index: freecad-0.15.4671/src/Gui/ManualAlignment.h
-===================================================================
---- freecad-0.15.4671.orig/src/Gui/ManualAlignment.h
-+++ freecad-0.15.4671/src/Gui/ManualAlignment.h
-@@ -30,7 +30,9 @@
- #include <Gui/Application.h>
- #include <Gui/Document.h>
- #include <Gui/ViewProviderDocumentObject.h>
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
-+#endif
- 
- class SbVec3f;
- class SoPickedPoint;
-Index: freecad-0.15.4671/src/App/Application.h
-===================================================================
---- freecad-0.15.4671.orig/src/App/Application.h
-+++ freecad-0.15.4671/src/App/Application.h
-@@ -25,7 +25,9 @@
- #ifndef APP_APPLICATION_H
- #define APP_APPLICATION_H
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signal.hpp>
-+#endif
- 
- #include <vector>
- 
-Index: freecad-0.15.4671/src/App/Document.h
-===================================================================
---- freecad-0.15.4671.orig/src/App/Document.h
-+++ freecad-0.15.4671/src/App/Document.h
-@@ -35,9 +35,10 @@
- #include <vector>
- #include <stack>
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
- #include <boost/graph/adjacency_list.hpp>
--
-+#endif
- 
- namespace Base {
-     class Writer;
-Index: freecad-0.15.4671/src/App/DocumentObserver.h
-===================================================================
---- freecad-0.15.4671.orig/src/App/DocumentObserver.h
-+++ freecad-0.15.4671/src/App/DocumentObserver.h
-@@ -24,7 +24,9 @@
- #ifndef APP_DOCUMENTOBSERVER_H
- #define APP_DOCUMENTOBSERVER_H
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
-+#endif
- #include <set>
- 
- namespace App
-Index: freecad-0.15.4671/src/App/DocumentObserverPython.h
-===================================================================
---- freecad-0.15.4671.orig/src/App/DocumentObserverPython.h
-+++ freecad-0.15.4671/src/App/DocumentObserverPython.h
-@@ -26,8 +26,10 @@
- 
- #include <CXX/Objects.hxx>
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
- #include <boost/bind.hpp>
-+#endif
- 
- namespace App
- {
-Index: freecad-0.15.4671/src/Gui/MergeDocuments.h
-===================================================================
---- freecad-0.15.4671.orig/src/Gui/MergeDocuments.h
-+++ freecad-0.15.4671/src/Gui/MergeDocuments.h
-@@ -24,7 +24,9 @@
- #ifndef GUI_MERGEDOCUMENTS_H
- #define GUI_MERGEDOCUMENTS_H
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
-+#endif
- #include <Base/Persistence.h>
- 
- namespace zipios {
-Index: freecad-0.15.4671/src/Gui/Placement.h
-===================================================================
---- freecad-0.15.4671.orig/src/Gui/Placement.h
-+++ freecad-0.15.4671/src/Gui/Placement.h
-@@ -28,8 +28,10 @@
- #include <Gui/TaskView/TaskView.h>
- #include <Base/Placement.h>
- 
-+#ifndef Q_MOC_RUN
- #include <boost/signals.hpp>
- #include <boost/bind.hpp>
-+#endif
- 
- class QSignalMapper;
- 
diff --git a/debian/patches/remove_doc-files.patch b/debian/patches/remove_doc-files.patch
index 0cc8bce..805b389 100644
--- a/debian/patches/remove_doc-files.patch
+++ b/debian/patches/remove_doc-files.patch
@@ -2,25 +2,30 @@ Description: Remove documentation, which was shipped as binary
 Author: Anton Gladky <gladk at debian.org>
 Last-Update: 2015-08-27
 
-Index: freecad-0.15.4671/src/CMakeLists.txt
+Index: FreeCAD-0.16/src/CMakeLists.txt
 ===================================================================
---- freecad-0.15.4671.orig/src/CMakeLists.txt
-+++ freecad-0.15.4671/src/CMakeLists.txt
-@@ -8,8 +8,6 @@ add_subdirectory(Mod)
+--- FreeCAD-0.16.orig/src/CMakeLists.txt
++++ FreeCAD-0.16/src/CMakeLists.txt
+@@ -7,8 +7,6 @@ add_subdirectory(Main)
+ add_subdirectory(Mod)
  if(BUILD_GUI)
  	add_subdirectory(Gui)
- 	configure_file(Doc/Start_Page.html ${CMAKE_BINARY_DIR}/doc/Start_Page.html COPYONLY)
 -	configure_file(Doc/freecad.qhc ${CMAKE_BINARY_DIR}/doc/freecad.qhc COPYONLY)
 -	configure_file(Doc/freecad.qch ${CMAKE_BINARY_DIR}/doc/freecad.qch COPYONLY)
  endif(BUILD_GUI)
  
  if(BUILD_TEMPLATE)
-@@ -21,7 +19,7 @@ add_subdirectory(Doc)
- if(FREECAD_MAINTAINERS_BUILD AND WIN32)
- 	#add_subdirectory(WindowsInstaller)
- endif(FREECAD_MAINTAINERS_BUILD AND WIN32)
--INSTALL(FILES Doc/Start_Page.html Doc/freecad.qhc Doc/freecad.qch
-+INSTALL(FILES Doc/Start_Page.html
-     DESTINATION ${CMAKE_INSTALL_DOCDIR}
- )
+@@ -17,13 +15,6 @@ endif(BUILD_TEMPLATE)
  
+ add_subdirectory(Doc)
+ 
+-if(FREECAD_MAINTAINERS_BUILD AND WIN32)
+-	#add_subdirectory(WindowsInstaller)
+-endif(FREECAD_MAINTAINERS_BUILD AND WIN32)
+-INSTALL(FILES Doc/freecad.qhc Doc/freecad.qch
+-    DESTINATION ${CMAKE_INSTALL_DOCDIR}
+-)
+-
+ if(FREECAD_CREATE_MAC_APP)
+     add_subdirectory(MacAppBundle)
+ endif(FREECAD_CREATE_MAC_APP)
diff --git a/debian/patches/remove_getting_webpage.patch b/debian/patches/remove_getting_webpage.patch
deleted file mode 100644
index 48e3cd4..0000000
--- a/debian/patches/remove_getting_webpage.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Description: Drop the load of news-page
-Author: Anton Gladky <gladk at debian.org>
-Bug-Debian: https://bugs.debian.org/787948
-Last-Update: 2015-08-27
-
---- freecad-0.15.4671+dfsg1.orig/src/Mod/Start/StartPage/StartPage.py
-+++ freecad-0.15.4671+dfsg1/src/Mod/Start/StartPage/StartPage.py
-@@ -182,9 +182,6 @@ page = """
-             // load latest news
-             ddiv = document.getElementById("news");
-             ddiv.innerHTML = "Connecting...";
--            var tobj=new JSONscriptRequest('http://pipes.yahoo.com/pipes/pipe.run?_id=da8b612e97a6bb4588b1ce27db30efd9&_render=json&_callback=showTweets');
--            tobj.buildScriptTag(); // Build the script tag
--            tobj.addScriptTag(); // Execute (add) the script tag
-             ddiv.innerHTML = "Downloading latest news...";
-             
-             // load version
diff --git a/debian/patches/series b/debian/patches/series
index 72036d8..3432118 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,10 +4,4 @@ use_share.patch
 do_not_install_binary_examples.patch
 exclude_ply.patch
 disable_memory_check.patch
-unittest_to_stdout.patch
-fix_clang_compilation.patch
-gcc5.patch
 remove_doc-files.patch
-remove_getting_webpage.patch
-eigen3.patch
-GCS_eigen3.patch
diff --git a/debian/patches/unittest_to_stdout.patch b/debian/patches/unittest_to_stdout.patch
deleted file mode 100644
index 430795b..0000000
--- a/debian/patches/unittest_to_stdout.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Description: move output from unittest into stdout
-Author: Anton Gladky <gladk at debian.org>
-Last-Update: 2014-07-22
-
-Index: freecad-0.15.4671/src/Mod/Test/TestApp.py
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Test/TestApp.py
-+++ freecad-0.15.4671/src/Mod/Test/TestApp.py
-@@ -22,7 +22,7 @@
- #*   Juergen Riegel 2002                                                   *
- #***************************************************************************/
- 
--import FreeCAD, os, unittest
-+import FreeCAD, os, unittest, sys
- 
- 	
- #---------------------------------------------------------------------------
-@@ -58,7 +58,7 @@ def All():
-     
- def TestText(s):
-     s = unittest.defaultTestLoader.loadTestsFromName(s)
--    r = unittest.TextTestRunner()
-+    r = unittest.TextTestRunner(stream=sys.stdout,verbosity=2)
-     r.run(s)
- 
- def Test(s):
-Index: freecad-0.15.4671/src/Mod/Test/TestGui.py
-===================================================================
---- freecad-0.15.4671.orig/src/Mod/Test/TestGui.py
-+++ freecad-0.15.4671/src/Mod/Test/TestGui.py
-@@ -31,6 +31,7 @@
- import FreeCAD,FreeCADGui
- # import the App Test module
- import TestApp               #Test as Module name not possible
-+import sys
- 
- #---------------------------------------------------------------------------
- # define the Commands of the Test Application module
-@@ -97,7 +98,7 @@ class TestAllTextCmd:
-     "Test all commando object"
-     def Activated(self):
-         import unittest, TestApp
--        unittest.TextTestRunner().run(unittest.defaultTestLoader.loadTestsFromName("TestApp.All"))
-+        unittest.TextTestRunner(stream=sys.stdout,verbosity=2).run(unittest.defaultTestLoader.loadTestsFromName("TestApp.All"))
- 
-     def GetResources(self):
-         return {'Pixmap'  : 'Std_Tool1', 
diff --git a/debian/patches/use_share.patch b/debian/patches/use_share.patch
index 3039c53..4cc156e 100644
--- a/debian/patches/use_share.patch
+++ b/debian/patches/use_share.patch
@@ -1,7 +1,7 @@
-Index: freecad-0.15.4671/src/App/FreeCADInit.py
+Index: FreeCAD-0.16/src/App/FreeCADInit.py
 ===================================================================
---- freecad-0.15.4671.orig/src/App/FreeCADInit.py
-+++ freecad-0.15.4671/src/App/FreeCADInit.py
+--- FreeCAD-0.16.orig/src/App/FreeCADInit.py
++++ FreeCAD-0.16/src/App/FreeCADInit.py
 @@ -43,6 +43,8 @@ def InitApplications():
  	# Checking on FreeCAD module path ++++++++++++++++++++++++++++++++++++++++++
  	ModDir = FreeCAD.getHomePath()+'Mod'
@@ -11,7 +11,7 @@ Index: freecad-0.15.4671/src/App/FreeCADInit.py
  	BinDir = FreeCAD.getHomePath()+'bin'
  	BinDir = os.path.realpath(BinDir)
  	LibDir = FreeCAD.getHomePath()+'lib'
-@@ -64,6 +66,14 @@ def InitApplications():
+@@ -68,6 +70,14 @@ def InitApplications():
  		for i in ModDirs: ModDict[i.lower()] = os.path.join(ModDir,i)
  	else:
  		Wrn ("No modules found in " + ModDir + "\n")
@@ -26,8 +26,8 @@ Index: freecad-0.15.4671/src/App/FreeCADInit.py
  	# Search for additional modules in the home directory
  	if os.path.isdir(HomeMod):
  		HomeMods = os.listdir(HomeMod)
-@@ -104,6 +114,8 @@ def InitApplications():
- 	sys.path.insert(0,LibDir)
+@@ -114,6 +124,8 @@ def InitApplications():
+ 	sys.path.insert(0,Lib64Dir)
  	sys.path.insert(0,ModDir)
  	Log("Using "+ModDir+" as module path!\n")
 +	sys.path.insert(0,ModShareDir)

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



More information about the debian-science-commits mailing list