[magics] 34/63: refresh patches

Alastair McKinstry mckinstry at moszumanska.debian.org
Fri Mar 24 10:41:52 UTC 2017


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

mckinstry pushed a commit to branch debian/master
in repository magics.

commit bca3dff4d759317f28d3a9da57750ecb4392b625
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Fri Oct 28 19:51:08 2016 +0100

    refresh patches
---
 debian/patches/cmake-config.patch    |   6 +-
 debian/patches/numpy-fixes.patch     | 400 +++++++++--------------------------
 debian/patches/pkgconfig-fix.patch   |  14 +-
 debian/patches/python3.patch         | 105 ++++-----
 debian/patches/reproducibility.patch |  46 ++--
 debian/patches/soname-version.patch  |  12 +-
 debian/patches/terralib.patch        |   6 +-
 7 files changed, 180 insertions(+), 409 deletions(-)

diff --git a/debian/patches/cmake-config.patch b/debian/patches/cmake-config.patch
index acfda65..b9fc1c9 100644
--- a/debian/patches/cmake-config.patch
+++ b/debian/patches/cmake-config.patch
@@ -3,10 +3,10 @@ Description: Ensure /usr/include/magics on include path in Metview
 Last-Updated: 2016-01-09
 Forwarded: not-needed
 
-Index: magics++-2.29.2/cmake/project-config.cmake.in
+Index: magics++-2.29.6/cmake/project-config.cmake.in
 ===================================================================
---- magics++-2.29.2.orig/cmake/project-config.cmake.in
-+++ magics++-2.29.2/cmake/project-config.cmake.in
+--- magics++-2.29.6.orig/cmake/project-config.cmake.in
++++ magics++-2.29.6/cmake/project-config.cmake.in
 @@ -19,7 +19,7 @@
  
  get_filename_component(@PNAME at _CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
diff --git a/debian/patches/numpy-fixes.patch b/debian/patches/numpy-fixes.patch
index 1951c7e..fa453c6 100644
--- a/debian/patches/numpy-fixes.patch
+++ b/debian/patches/numpy-fixes.patch
@@ -1,13 +1,13 @@
 Author: Alastair McKinstry <mckinstry at debian.org>
 Description: Update the numpy.i from a copy in numpy.git to add
  python3 support
-Last-Updated: 2016-06-14
+Last-Updated: 2016-10-29
 Forwarded: no
 
-Index: magics++-2.29.2/python/Magics/numpy.i
+Index: magics++-2.29.6/python/numpy.i
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/numpy.i
-+++ magics++-2.29.2/python/Magics/numpy.i
+--- magics++-2.29.6.orig/python/numpy.i
++++ magics++-2.29.6/python/numpy.i
 @@ -1,11 +1,46 @@
  /* -*- C -*-  (not really, but good for syntax highlighting) */
 +
@@ -174,7 +174,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
      if (py_obj == NULL          ) return "C NULL value";
      if (py_obj == Py_None       ) return "Python None" ;
      if (PyCallable_Check(py_obj)) return "callable"    ;
-@@ -107,40 +117,71 @@
+@@ -107,10 +117,11 @@
      if (PyDict_Check(    py_obj)) return "dict"        ;
      if (PyList_Check(    py_obj)) return "list"        ;
      if (PyTuple_Check(   py_obj)) return "tuple"       ;
@@ -182,87 +182,12 @@ Index: magics++-2.29.2/python/Magics/numpy.i
      if (PyFile_Check(    py_obj)) return "file"        ;
      if (PyModule_Check(  py_obj)) return "module"      ;
      if (PyInstance_Check(py_obj)) return "instance"    ;
+-
 +%#endif
- 
--    return "unkown type";
-+    return "unknown type";
+     return "unknown type";
    }
  
-   /* Given a NumPy typecode, return a string describing the type.
-    */
--  const char* typecode_string(int typecode) {
--    static const char* type_names[25] = {"bool", "byte", "unsigned byte",
--                                   "short", "unsigned short", "int",
--                                   "unsigned int", "long", "unsigned long",
--                                   "long long", "unsigned long long",
--                                   "float", "double", "long double",
--                                   "complex float", "complex double",
--                                   "complex long double", "object",
--                                   "string", "unicode", "void", "ntypes",
--                                   "notype", "char", "unknown"};
-+  const char* typecode_string(int typecode)
-+  {
-+    static const char* type_names[25] = {"bool",
-+                                         "byte",
-+                                         "unsigned byte",
-+                                         "short",
-+                                         "unsigned short",
-+                                         "int",
-+                                         "unsigned int",
-+                                         "long",
-+                                         "unsigned long",
-+                                         "long long",
-+                                         "unsigned long long",
-+                                         "float",
-+                                         "double",
-+                                         "long double",
-+                                         "complex float",
-+                                         "complex double",
-+                                         "complex long double",
-+                                         "object",
-+                                         "string",
-+                                         "unicode",
-+                                         "void",
-+                                         "ntypes",
-+                                         "notype",
-+                                         "char",
-+                                         "unknown"};
-     return typecode < 24 ? type_names[typecode] : type_names[24];
-   }
- 
--  /* Make sure input has correct numpy type.  Allow character and byte
--   * to match.  Also allow int and long to match.  This is deprecated.
--   * You should use PyArray_EquivTypenums() instead.
-+  /* Make sure input has correct numpy type.  This now just calls
-+     PyArray_EquivTypenums().
-    */
--  int type_match(int actual_type, int desired_type) {
-+  int type_match(int actual_type,
-+                 int desired_type)
-+  {
-     return PyArray_EquivTypenums(actual_type, desired_type);
-   }
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+  void free_cap(PyObject * cap)
-+  {
-+    void* array = (void*) PyCapsule_GetPointer(cap,SWIGPY_CAPSULE_NAME);
-+    if (array != NULL) free(array);
-+  }
-+%#endif
-+
-+
- }
- 
- /**********************************************************************/
- 
--%fragment("NumPy_Object_to_Array", "header",
-+%fragment("NumPy_Object_to_Array",
-+          "header",
-           fragment="NumPy_Backward_Compatibility",
-           fragment="NumPy_Macros",
-           fragment="NumPy_Utilities")
-@@ -149,7 +190,8 @@
+@@ -149,7 +160,8 @@
     * legal.  If not, set the python error string appropriately and
     * return NULL.
     */
@@ -272,7 +197,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    {
      PyArrayObject* ary = NULL;
      if (is_array(input) && (typecode == NPY_NOTYPE ||
-@@ -168,11 +210,12 @@
+@@ -168,11 +180,12 @@
      }
      else
      {
@@ -288,7 +213,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        ary = NULL;
      }
      return ary;
-@@ -183,11 +226,12 @@
+@@ -183,11 +196,12 @@
     * correct type.  On failure, the python error string will be set and
     * the routine returns NULL.
     */
@@ -304,7 +229,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
      if (is_array(input) && (typecode == NPY_NOTYPE ||
                              PyArray_EquivTypenums(array_type(input),typecode)))
      {
-@@ -196,7 +240,7 @@
+@@ -196,7 +210,7 @@
      }
      else
      {
@@ -313,7 +238,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        /* If NULL, PyArray_FromObject will have set python error value.*/
        ary = (PyArrayObject*) py_obj;
        *is_new_object = 1;
-@@ -209,8 +253,10 @@
+@@ -209,8 +223,10 @@
     * not contiguous, create a new PyArrayObject using the original data,
     * flag it as a new object and return the pointer.
     */
@@ -326,7 +251,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    {
      PyArrayObject* result;
      if (array_is_contiguous(ary))
-@@ -221,9 +267,9 @@
+@@ -221,9 +237,9 @@
      else
      {
        result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary,
@@ -339,7 +264,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        *is_new_object = 1;
      }
      return result;
-@@ -235,8 +281,8 @@
+@@ -235,8 +251,8 @@
     * PyArrayObject using the original data, flag it as a new object
     * and return the pointer.
     */
@@ -350,7 +275,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    {
      PyArrayObject* result;
      if (array_is_fortran(ary))
-@@ -246,8 +292,10 @@
+@@ -246,8 +262,10 @@
      }
      else
      {
@@ -363,7 +288,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        *is_new_object = 1;
      }
      return result;
-@@ -259,13 +307,14 @@
+@@ -259,13 +277,14 @@
     * will be set.
     */
    PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input,
@@ -381,7 +306,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                          &is_new1);
      if (ary1)
      {
-@@ -286,17 +335,18 @@
+@@ -286,17 +305,18 @@
     * will be set.
     */
    PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input,
@@ -404,7 +329,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        if (is_new1 && is_new2)
        {
          Py_DECREF(ary1);
-@@ -306,13 +356,12 @@
+@@ -306,13 +326,12 @@
      *is_new_object = is_new1 || is_new2;
      return ary1;
    }
@@ -420,7 +345,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
            fragment="NumPy_Backward_Compatibility",
            fragment="NumPy_Macros")
  {
-@@ -332,6 +381,22 @@
+@@ -332,6 +351,22 @@
      return contiguous;
    }
  
@@ -443,7 +368,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    /* Require that a numpy array is not byte-swapped.  If the array is
     * not byte-swapped, return 1.  Otherwise, set the python error string
     * and return 0.
-@@ -353,14 +418,16 @@
+@@ -353,14 +388,16 @@
     * dimensions.  If the array has the specified number of dimensions,
     * return 1.  Otherwise, set the python error string and return 0.
     */
@@ -462,7 +387,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
        success = 0;
      }
      return success;
-@@ -371,7 +438,9 @@
+@@ -371,7 +408,9 @@
     * of dimensions, return 1.  Otherwise, set the python error string
     * and return 0.
     */
@@ -473,7 +398,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    {
      int success = 0;
      int i;
-@@ -395,7 +464,8 @@
+@@ -395,7 +434,8 @@
        strcat(dims_str,s);
        PyErr_Format(PyExc_TypeError,
                     "Array must have %s dimensions.  Given array has %d dimensions",
@@ -483,7 +408,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
      }
      return success;
    }
-@@ -404,7 +474,9 @@
+@@ -404,7 +444,9 @@
     * array has the specified shape, return 1.  Otherwise, set the python
     * error string and return 0.
     */
@@ -494,7 +419,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    {
      int i;
      int success = 1;
-@@ -444,104 +516,152 @@
+@@ -444,104 +486,152 @@
        actual_dims[len-1] = ']';
        PyErr_Format(PyExc_TypeError,
                     "Array must have shape of %s.  Given array has shape of %s",
@@ -711,7 +636,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
   * multidimensional arrays.  In python, the dimensions will not need
   * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1"
   * typemaps).  The IN_ARRAYs can be a numpy array or any sequence that
-@@ -601,7 +721,8 @@
+@@ -601,7 +691,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[1] = { $1_dim0 };
@@ -721,7 +646,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 1) ||
        !require_size(array, size, 1)) SWIG_fail;
-@@ -628,7 +749,8 @@
+@@ -628,7 +719,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[1] = { -1 };
@@ -731,7 +656,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 1) ||
        !require_size(array, size, 1)) SWIG_fail;
-@@ -656,7 +778,8 @@
+@@ -656,7 +748,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[1] = {-1};
@@ -741,7 +666,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 1) ||
        !require_size(array, size, 1)) SWIG_fail;
-@@ -684,7 +807,8 @@
+@@ -684,7 +777,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[2] = { $1_dim0, $1_dim1 };
@@ -751,7 +676,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 2) ||
        !require_size(array, size, 2)) SWIG_fail;
-@@ -740,7 +864,8 @@
+@@ -740,7 +834,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[2] = { -1, -1 };
@@ -761,7 +686,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 2) ||
        !require_size(array, size, 2)) SWIG_fail;
-@@ -769,7 +894,8 @@
+@@ -769,7 +864,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[2] = { -1, -1 };
@@ -771,7 +696,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                  &is_new_object);
    if (!array || !require_dimensions(array, 2) ||
        !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
-@@ -798,7 +924,8 @@
+@@ -798,7 +894,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[2] = { -1, -1 };
@@ -781,7 +706,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 2) ||
        !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
-@@ -827,7 +954,8 @@
+@@ -827,7 +924,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
@@ -791,7 +716,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 3) ||
        !require_size(array, size, 3)) SWIG_fail;
-@@ -871,6 +999,88 @@
+@@ -871,6 +969,88 @@
      { Py_DECREF(array$argnum); }
  }
  
@@ -880,7 +805,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
   *                    DATA_TYPE* IN_ARRAY3)
   */
-@@ -948,7 +1158,8 @@
+@@ -948,7 +1128,8 @@
    (PyArrayObject* array=NULL, int is_new_object=0)
  {
    npy_intp size[3] = { -1, -1, -1 };
@@ -890,7 +815,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
                                                     &is_new_object);
    if (!array || !require_dimensions(array, 3) ||
        !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail;
-@@ -964,6 +1175,245 @@
+@@ -964,6 +1145,245 @@
      { Py_DECREF(array$argnum); }
  }
  
@@ -1136,54 +1061,28 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  /***************************/
  /* In-Place Array Typemaps */
  /***************************/
-@@ -1187,41 +1637,107 @@
+@@ -1187,6 +1607,72 @@
    $4 = (DIM_TYPE) array_size(array,2);
  }
  
--/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
-- *                    DATA_TYPE* INPLACE_ARRAY3)
 +/* Typemap suite for (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
 + *                    DIM_TYPE DIM3)
-  */
- %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-            fragment="NumPy_Macros")
--  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
++ */
++%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
++           fragment="NumPy_Macros")
 +  (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
- {
--  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
--                                                 DATA_TYPECODE);
++{
 +  $1 = PySequence_Check($input);
- }
- %typemap(in,
-          fragment="NumPy_Fragments")
--  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
--  (PyArrayObject* array=NULL)
++}
++%typemap(in,
++         fragment="NumPy_Fragments")
 +  (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
 +  (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL)
- {
--  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
--  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
--      || !require_native(array)) SWIG_fail;
--  $1 = (DIM_TYPE) array_size(array,0);
--  $2 = (DIM_TYPE) array_size(array,1);
--  $3 = (DIM_TYPE) array_size(array,2);
--  $4 = (DATA_TYPE*) array_data(array);
--}
++{
 +  npy_intp size[2] = { -1, -1 };
 +  PyArrayObject* temp_array;
 +  Py_ssize_t i;
- 
--/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
-- *                    DIM_TYPE DIM3)
-- */
--%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
--           fragment="NumPy_Macros")
--  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
--{
--  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
--                                                 DATA_TYPECODE);
--}
--%typemap(in,
++
 +  /* length of the list */
 +  $2 = PyList_Size($input);
 +
@@ -1232,45 +1131,10 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +  if (object_array$argnum!=NULL) free(object_array$argnum);
 +}
 +
-+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
-+ *                    DATA_TYPE* INPLACE_ARRAY3)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+           fragment="NumPy_Macros")
-+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
-+{
-+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+                                                 DATA_TYPECODE);
-+}
-+%typemap(in,
-+         fragment="NumPy_Fragments")
-+  (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
-+  (PyArrayObject* array=NULL)
-+{
-+  array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+  if (!array || !require_dimensions(array,3) || !require_contiguous(array)
-+      || !require_native(array)) SWIG_fail;
-+  $1 = (DIM_TYPE) array_size(array,0);
-+  $2 = (DIM_TYPE) array_size(array,1);
-+  $3 = (DIM_TYPE) array_size(array,2);
-+  $4 = (DATA_TYPE*) array_data(array);
-+}
-+
-+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ *                    DIM_TYPE DIM3)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+           fragment="NumPy_Macros")
-+  (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+{
-+  $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+                                                 DATA_TYPECODE);
-+}
-+%typemap(in,
-          fragment="NumPy_Fragments")
-   (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-   (PyArrayObject* array=NULL)
-@@ -1259,6 +1775,195 @@
+ /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
+  *                    DATA_TYPE* INPLACE_ARRAY3)
+  */
+@@ -1259,6 +1745,195 @@
    $4 = (DATA_TYPE*) array_data(array);
  }
  
@@ -1466,7 +1330,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  /*************************/
  /* Argout Array Typemaps */
  /*************************/
-@@ -1268,7 +1973,7 @@
+@@ -1268,7 +1943,7 @@
  %typemap(in,numinputs=0,
           fragment="NumPy_Backward_Compatibility,NumPy_Macros")
    (DATA_TYPE ARGOUT_ARRAY1[ANY])
@@ -1475,7 +1339,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    npy_intp dims[1] = { $1_dim0 };
    array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
-@@ -1278,7 +1983,7 @@
+@@ -1278,7 +1953,7 @@
  %typemap(argout)
    (DATA_TYPE ARGOUT_ARRAY1[ANY])
  {
@@ -1484,7 +1348,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
-@@ -1286,7 +1991,7 @@
+@@ -1286,7 +1961,7 @@
  %typemap(in,numinputs=1,
           fragment="NumPy_Fragments")
    (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
@@ -1493,7 +1357,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    npy_intp dims[1];
    if (!PyInt_Check($input))
-@@ -1306,7 +2011,7 @@
+@@ -1306,7 +1981,7 @@
  %typemap(argout)
    (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
  {
@@ -1502,7 +1366,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
-@@ -1314,7 +2019,7 @@
+@@ -1314,7 +1989,7 @@
  %typemap(in,numinputs=1,
           fragment="NumPy_Fragments")
    (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
@@ -1511,7 +1375,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    npy_intp dims[1];
    if (!PyInt_Check($input))
-@@ -1334,7 +2039,7 @@
+@@ -1334,7 +2009,7 @@
  %typemap(argout)
    (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
  {
@@ -1520,7 +1384,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
-@@ -1342,7 +2047,7 @@
+@@ -1342,7 +2017,7 @@
  %typemap(in,numinputs=0,
           fragment="NumPy_Backward_Compatibility,NumPy_Macros")
    (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
@@ -1529,7 +1393,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    npy_intp dims[2] = { $1_dim0, $1_dim1 };
    array = PyArray_SimpleNew(2, dims, DATA_TYPECODE);
-@@ -1352,7 +2057,7 @@
+@@ -1352,7 +2027,7 @@
  %typemap(argout)
    (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
  {
@@ -1538,7 +1402,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
-@@ -1360,7 +2065,7 @@
+@@ -1360,7 +2035,7 @@
  %typemap(in,numinputs=0,
           fragment="NumPy_Backward_Compatibility,NumPy_Macros")
    (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
@@ -1547,7 +1411,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 };
    array = PyArray_SimpleNew(3, dims, DATA_TYPECODE);
-@@ -1370,7 +2075,25 @@
+@@ -1370,7 +2045,25 @@
  %typemap(argout)
    (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
  {
@@ -1574,7 +1438,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /*****************************/
-@@ -1381,7 +2104,7 @@
+@@ -1381,7 +2074,7 @@
   */
  %typemap(in,numinputs=0)
    (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1    )
@@ -1583,7 +1447,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &data_temp;
    $2 = &dim_temp;
-@@ -1391,16 +2114,18 @@
+@@ -1391,16 +2084,18 @@
    (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
  {
    npy_intp dims[1] = { *$2 };
@@ -1605,7 +1469,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &dim_temp;
    $2 = &data_temp;
-@@ -1410,16 +2135,18 @@
+@@ -1410,16 +2105,18 @@
    (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
  {
    npy_intp dims[1] = { *$1 };
@@ -1627,7 +1491,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &data_temp;
    $2 = &dim1_temp;
-@@ -1430,16 +2157,18 @@
+@@ -1430,16 +2127,18 @@
    (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
  {
    npy_intp dims[2] = { *$2, *$3 };
@@ -1649,7 +1513,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &dim1_temp;
    $2 = &dim2_temp;
-@@ -1450,16 +2179,18 @@
+@@ -1450,16 +2149,18 @@
    (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
  {
    npy_intp dims[2] = { *$1, *$2 };
@@ -1671,7 +1535,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &data_temp;
    $2 = &dim1_temp;
-@@ -1470,8 +2201,9 @@
+@@ -1470,8 +2171,9 @@
    (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
  {
    npy_intp dims[2] = { *$2, *$3 };
@@ -1683,7 +1547,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    if (!array || !require_fortran(array)) SWIG_fail;
    $result = SWIG_Python_AppendOutput($result,obj);
  }
-@@ -1480,7 +2212,7 @@
+@@ -1480,7 +2182,7 @@
   */
  %typemap(in,numinputs=0)
    (DIM_TYPE* DIM1     , DIM_TYPE* DIM2     , DATA_TYPE** ARGOUTVIEW_FARRAY2)
@@ -1692,7 +1556,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &dim1_temp;
    $2 = &dim2_temp;
-@@ -1491,8 +2223,9 @@
+@@ -1491,8 +2193,9 @@
    (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
  {
    npy_intp dims[2] = { *$1, *$2 };
@@ -1704,7 +1568,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    if (!array || !require_fortran(array)) SWIG_fail;
    $result = SWIG_Python_AppendOutput($result,obj);
  }
-@@ -1501,8 +2234,8 @@
+@@ -1501,8 +2204,8 @@
                        DIM_TYPE* DIM3)
   */
  %typemap(in,numinputs=0)
@@ -1715,7 +1579,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &data_temp;
    $2 = &dim1_temp;
-@@ -1514,9 +2247,11 @@
+@@ -1514,9 +2217,11 @@
    (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
  {
    npy_intp dims[3] = { *$2, *$3, *$4 };
@@ -1729,7 +1593,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  }
  
  /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
-@@ -1524,7 +2259,7 @@
+@@ -1524,7 +2229,7 @@
   */
  %typemap(in,numinputs=0)
    (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
@@ -1738,7 +1602,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &dim1_temp;
    $2 = &dim2_temp;
-@@ -1536,17 +2271,19 @@
+@@ -1536,17 +2241,19 @@
    (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
  {
    npy_intp dims[3] = { *$1, *$2, *$3 };
@@ -1762,7 +1626,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &data_temp;
    $2 = &dim1_temp;
-@@ -1558,9 +2295,10 @@
+@@ -1558,9 +2265,10 @@
    (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
  {
    npy_intp dims[3] = { *$2, *$3, *$4 };
@@ -1776,7 +1640,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
    $result = SWIG_Python_AppendOutput($result,obj);
  }
  
-@@ -1568,8 +2306,8 @@
+@@ -1568,8 +2276,8 @@
                        DATA_TYPE** ARGOUTVIEW_FARRAY3)
   */
  %typemap(in,numinputs=0)
@@ -1787,7 +1651,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
  {
    $1 = &dim1_temp;
    $2 = &dim2_temp;
-@@ -1581,54 +2319,843 @@
+@@ -1581,12 +2289,803 @@
    (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
  {
    npy_intp dims[3] = { *$1, *$2, *$3 };
@@ -1798,29 +1662,12 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +  PyArrayObject* array = (PyArrayObject*) obj;
 +
 +  if (!array || !require_fortran(array)) SWIG_fail;
-   $result = SWIG_Python_AppendOutput($result,obj);
- }
- 
--%enddef    /* %numpy_typemaps() macro */
--/* *************************************************************** */
--
--/* Concrete instances of the %numpy_typemaps() macro: Each invocation
-- * below applies all of the typemaps above to the specified data type.
++  $result = SWIG_Python_AppendOutput($result,obj);
++}
++
 +/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
 +                      DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-  */
--%numpy_typemaps(signed char       , NPY_BYTE     , int)
--%numpy_typemaps(unsigned char     , NPY_UBYTE    , int)
--%numpy_typemaps(short             , NPY_SHORT    , int)
--%numpy_typemaps(unsigned short    , NPY_USHORT   , int)
--%numpy_typemaps(int               , NPY_INT      , int)
--%numpy_typemaps(unsigned int      , NPY_UINT     , int)
--%numpy_typemaps(long              , NPY_LONG     , int)
--%numpy_typemaps(unsigned long     , NPY_ULONG    , int)
--%numpy_typemaps(long long         , NPY_LONGLONG , int)
--%numpy_typemaps(unsigned long long, NPY_ULONGLONG, int)
--%numpy_typemaps(float             , NPY_FLOAT    , int)
--%numpy_typemaps(double            , NPY_DOUBLE   , int)
++ */
 +%typemap(in,numinputs=0)
 +  (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    )
 +  (DATA_TYPE* data_temp = NULL  , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
@@ -1838,35 +1685,14 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +  npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
 +  PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
 +  PyArrayObject* array = (PyArrayObject*) obj;
- 
--/* ***************************************************************
-- * The follow macro expansion does not work, because C++ bool is 4
-- * bytes and NPY_BOOL is 1 byte
-- *
-- *    %numpy_typemaps(bool, NPY_BOOL, int)
-- */
++
 +  if (!array) SWIG_fail;
 +  $result = SWIG_Python_AppendOutput($result,obj);
 +}
- 
--/* ***************************************************************
-- * On my Mac, I get the following warning for this macro expansion:
-- * 'swig/python detected a memory leak of type 'long double *', no destructor found.'
-- *
-- *    %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
++
 +/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
 +                      DATA_TYPE** ARGOUTVIEW_ARRAY4)
-  */
--
--/* ***************************************************************
-- * Swig complains about a syntax error for the following macro
-- * expansions:
-- *
-- *    %numpy_typemaps(complex float,  NPY_CFLOAT , int)
-- *
-- *    %numpy_typemaps(complex double, NPY_CDOUBLE, int)
-- *
-- *    %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int)
++ */
 +%typemap(in,numinputs=0)
 +  (DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    , DIM_TYPE* DIM4    , DATA_TYPE** ARGOUTVIEW_ARRAY4)
 +  (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL  )
@@ -2227,7 +2053,7 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +
 +/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
 +                      DIM_TYPE* DIM3)
-  */
++ */
 +%typemap(in,numinputs=0)
 +  (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1    , DIM_TYPE* DIM2    , DIM_TYPE* DIM3    )
 +  (DATA_TYPE* data_temp = NULL    , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
@@ -2410,9 +2236,9 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +  PyArray_SetBaseObject(array,cap);
 +%#endif
 +
-+  $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
+   $result = SWIG_Python_AppendOutput($result,obj);
+ }
+ 
 +/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
 +                      DATA_TYPE** ARGOUTVIEWM_FARRAY4)
 + */
@@ -2629,39 +2455,23 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +  for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i);
 +}
 +
-+%enddef    /* %numpy_typemaps() macro */
-+/* *************************************************************** */
-+
-+/* Concrete instances of the %numpy_typemaps() macro: Each invocation
-+ * below applies all of the typemaps above to the specified data type.
-+ */
-+%numpy_typemaps(signed char       , NPY_BYTE     , int)
-+%numpy_typemaps(unsigned char     , NPY_UBYTE    , int)
-+%numpy_typemaps(short             , NPY_SHORT    , int)
-+%numpy_typemaps(unsigned short    , NPY_USHORT   , int)
-+%numpy_typemaps(int               , NPY_INT      , int)
-+%numpy_typemaps(unsigned int      , NPY_UINT     , int)
-+%numpy_typemaps(long              , NPY_LONG     , int)
-+%numpy_typemaps(unsigned long     , NPY_ULONG    , int)
-+%numpy_typemaps(long long         , NPY_LONGLONG , int)
-+%numpy_typemaps(unsigned long long, NPY_ULONGLONG, int)
-+%numpy_typemaps(float             , NPY_FLOAT    , int)
-+%numpy_typemaps(double            , NPY_DOUBLE   , int)
-+
-+/* ***************************************************************
-+ * The follow macro expansion does not work, because C++ bool is 4
-+ * bytes and NPY_BOOL is 1 byte
-+ *
-+ *    %numpy_typemaps(bool, NPY_BOOL, int)
-+ */
-+
-+/* ***************************************************************
-+ * On my Mac, I get the following warning for this macro expansion:
-+ * 'swig/python detected a memory leak of type 'long double *', no destructor found.'
-+ *
-+ *    %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
-+ */
-+
+ %enddef    /* %numpy_typemaps() macro */
+ /* *************************************************************** */
+ 
+@@ -1620,15 +3119,13 @@
+  *    %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
+  */
+ 
+-/* ***************************************************************
+- * Swig complains about a syntax error for the following macro
+- * expansions:
+- *
+- *    %numpy_typemaps(complex float,  NPY_CFLOAT , int)
+- *
+- *    %numpy_typemaps(complex double, NPY_CDOUBLE, int)
+- *
+- *    %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int)
+- */
 +#ifdef __cplusplus
 +
 +%include <std_complex.i>
@@ -2672,10 +2482,10 @@ Index: magics++-2.29.2/python/Magics/numpy.i
 +#endif
  
  #endif /* SWIGPYTHON */
-Index: magics++-2.29.2/python/Magics/Magics.i.in
+Index: magics++-2.29.6/python/Magics.i.in
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/Magics.i.in
-+++ magics++-2.29.2/python/Magics/Magics.i.in
+--- magics++-2.29.6.orig/python/Magics.i.in
++++ magics++-2.29.6/python/Magics.i.in
 @@ -22,7 +22,7 @@
      int i = 0;
      $1 = (char **) malloc((size+1)*sizeof(char *));
diff --git a/debian/patches/pkgconfig-fix.patch b/debian/patches/pkgconfig-fix.patch
index 1c42410..d33abc6 100644
--- a/debian/patches/pkgconfig-fix.patch
+++ b/debian/patches/pkgconfig-fix.patch
@@ -3,10 +3,10 @@ Description: Need args for ecbuild_pkgconfig() to work
 Last-Updated: 2016-01-09
 Forwarded: no
 
-Index: magics++-2.29.2/cmake/ecbuild_pkgconfig.cmake
+Index: magics++-2.29.6/cmake/ecbuild_pkgconfig.cmake
 ===================================================================
---- magics++-2.29.2.orig/cmake/ecbuild_pkgconfig.cmake
-+++ magics++-2.29.2/cmake/ecbuild_pkgconfig.cmake
+--- magics++-2.29.6.orig/cmake/ecbuild_pkgconfig.cmake
++++ magics++-2.29.6/cmake/ecbuild_pkgconfig.cmake
 @@ -12,8 +12,11 @@
  # to CMake variable ${dependencies}
  function( ecbuild_library_dependencies dependencies libraries )
@@ -19,11 +19,11 @@ Index: magics++-2.29.2/cmake/ecbuild_pkgconfig.cmake
    foreach( _lib ${_libraries})
  
      unset( _location )
-Index: magics++-2.29.2/CMakeLists.txt
+Index: magics++-2.29.6/CMakeLists.txt
 ===================================================================
---- magics++-2.29.2.orig/CMakeLists.txt
-+++ magics++-2.29.2/CMakeLists.txt
-@@ -340,7 +340,12 @@ ecbuild_add_resources( TARGET internal
+--- magics++-2.29.6.orig/CMakeLists.txt
++++ magics++-2.29.6/CMakeLists.txt
+@@ -335,7 +335,12 @@ ecbuild_add_resources( TARGET internal
  
  set( MAGICS_DESCRIPTION "Multi-platform meteorological graphics library" )
  set( MAGICS_URL "https://software.ecmwf.int/wiki/display/MAGP/Magics" )
diff --git a/debian/patches/python3.patch b/debian/patches/python3.patch
index f5dd685..33cab19 100644
--- a/debian/patches/python3.patch
+++ b/debian/patches/python3.patch
@@ -1,12 +1,12 @@
 Author: Alastair McKinstry <mckinstry at debian.org>
 Description: python2,3 compatability code
-Last-Updated: 2016-07-05
+Last-Updated: 2016-10-29
 Forwarded: no
 
-Index: magics++-2.29.2/tools/axis2doc.py
+Index: magics++-2.29.6/tools/axis2doc.py
 ===================================================================
---- magics++-2.29.2.orig/tools/axis2doc.py
-+++ magics++-2.29.2/tools/axis2doc.py
+--- magics++-2.29.6.orig/tools/axis2doc.py
++++ magics++-2.29.6/tools/axis2doc.py
 @@ -1,12 +1,13 @@
  #!/usr/bin/python
  # (C) Copyright 1996-2016 ECMWF.
@@ -260,10 +260,10 @@ Index: magics++-2.29.2/tools/axis2doc.py
  
 -createAction("wind",  "Wind", ["wind.xml"]) 
 +createAction("wind",  "Wind", ["wind.xml"])
-Index: magics++-2.29.2/tools/beau.py
+Index: magics++-2.29.6/tools/beau.py
 ===================================================================
---- magics++-2.29.2.orig/tools/beau.py
-+++ magics++-2.29.2/tools/beau.py
+--- magics++-2.29.6.orig/tools/beau.py
++++ magics++-2.29.6/tools/beau.py
 @@ -6,13 +6,13 @@
  # granted to it by virtue of its status as an intergovernmental organisation nor
  # does it submit to any jurisdiction.
@@ -280,10 +280,10 @@ Index: magics++-2.29.2/tools/beau.py
 +print (pretty_xml_as_string)
  
  
-Index: magics++-2.29.2/tools/xml2doc.py
+Index: magics++-2.29.6/tools/xml2doc.py
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2doc.py
-+++ magics++-2.29.2/tools/xml2doc.py
+--- magics++-2.29.6.orig/tools/xml2doc.py
++++ magics++-2.29.6/tools/xml2doc.py
 @@ -1,20 +1,17 @@
  # (C) Copyright 1996-2016 ECMWF.
 -# 
@@ -408,10 +408,10 @@ Index: magics++-2.29.2/tools/xml2doc.py
  				s = self.types[param["type"]](self, param)
  				definition.write(s)
  			definition.write( "</font></tbody>\n")
-Index: magics++-2.29.2/tools/xml2html.py
+Index: magics++-2.29.6/tools/xml2html.py
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2html.py
-+++ magics++-2.29.2/tools/xml2html.py
+--- magics++-2.29.6.orig/tools/xml2html.py
++++ magics++-2.29.6/tools/xml2html.py
 @@ -1,12 +1,13 @@
  #!/usr/bin/python
  # (C) Copyright 1996-2016 ECMWF.
@@ -610,10 +610,10 @@ Index: magics++-2.29.2/tools/xml2html.py
  f = open('coast.json', "w")
  f.write(json.dumps(magics, indent=1))
 -
-Index: magics++-2.29.2/tools/xml2odt.py
+Index: magics++-2.29.6/tools/xml2odt.py
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2odt.py
-+++ magics++-2.29.2/tools/xml2odt.py
+--- magics++-2.29.6.orig/tools/xml2odt.py
++++ magics++-2.29.6/tools/xml2odt.py
 @@ -1,12 +1,12 @@
  #!/usr/bin/python
  # (C) Copyright 1996-2016 ECMWF.
@@ -682,10 +682,10 @@ Index: magics++-2.29.2/tools/xml2odt.py
  
  
  object = ObjectHandler()
-Index: magics++-2.29.2/tools/xml2split.py
+Index: magics++-2.29.6/tools/xml2split.py
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2split.py
-+++ magics++-2.29.2/tools/xml2split.py
+--- magics++-2.29.6.orig/tools/xml2split.py
++++ magics++-2.29.6/tools/xml2split.py
 @@ -7,7 +7,7 @@
  # does it submit to any jurisdiction.
  
@@ -720,10 +720,10 @@ Index: magics++-2.29.2/tools/xml2split.py
  		if ( self.open_file == 0):
  			return
  
-Index: magics++-2.29.2/tools/xml2mv.py
+Index: magics++-2.29.6/tools/xml2mv.py
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2mv.py
-+++ magics++-2.29.2/tools/xml2mv.py
+--- magics++-2.29.6.orig/tools/xml2mv.py
++++ magics++-2.29.6/tools/xml2mv.py
 @@ -1,12 +1,13 @@
  #!/usr/bin/python
  # (C) Copyright 1996-2016 ECMWF.
@@ -976,10 +976,10 @@ Index: magics++-2.29.2/tools/xml2mv.py
  saxparser.parse(datasource)
 -print "DONE"
 +print ("DONE")
-Index: magics++-2.29.2/python/Magics/macro.py
+Index: magics++-2.29.6/python/Magics/macro.py
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/macro.py
-+++ magics++-2.29.2/python/Magics/macro.py
+--- magics++-2.29.6.orig/python/Magics/macro.py
++++ magics++-2.29.6/python/Magics/macro.py
 @@ -1,369 +1,381 @@
 -# (C) Copyright 1996-2016 ECMWF.
 -# 
@@ -1866,10 +1866,10 @@ Index: magics++-2.29.2/python/Magics/macro.py
 +        if os.system(cmd):
 +            print("Error in viewing ODB data... Aborting")
 +            os.abort()
-Index: magics++-2.29.2/python/Magics/metgram.py
+Index: magics++-2.29.6/python/Magics/metgram.py
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/metgram.py
-+++ magics++-2.29.2/python/Magics/metgram.py
+--- magics++-2.29.6.orig/python/Magics/metgram.py
++++ magics++-2.29.6/python/Magics/metgram.py
 @@ -1,11 +1,12 @@
  # (C) Copyright 1996-2016 ECMWF.
 -# 
@@ -2310,29 +2310,10 @@ Index: magics++-2.29.2/python/Magics/metgram.py
  msl = msl()
  wind = wind()
 -
-Index: magics++-2.29.2/python/Magics/CMakeLists.txt
+Index: magics++-2.29.6/test/cairo.py
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/CMakeLists.txt
-+++ magics++-2.29.2/python/Magics/CMakeLists.txt
-@@ -25,9 +25,13 @@ if( HAVE_PYTHON )
-   include_directories( ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR} )
- 
-   set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/Magics.i PROPERTIES GENERATED TRUE CXX ON )
-+  
-+  if (${PYTHON_VERSION_MAJOR} EQUAL 3)
-+	  set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/Magics.i PROPERTIES SWIG_FLAGS "-py3" )
-+  endif()
- 
-   swig_add_module( Magics python Magics_interface.cc ${CMAKE_CURRENT_BINARY_DIR}/Magics.i )
--
-+  
-   set_source_files_properties(partio.i PROPERTIES SWIG_FLAGS "-includeall")
- 
-   swig_link_libraries( Magics MagPlus ${PYTHON_LIBRARIES} )
-Index: magics++-2.29.2/test/cairo.py
-===================================================================
---- magics++-2.29.2.orig/test/cairo.py
-+++ magics++-2.29.2/test/cairo.py
+--- magics++-2.29.6.orig/test/cairo.py
++++ magics++-2.29.6/test/cairo.py
 @@ -8,6 +8,8 @@
  
  # importing Magics module
@@ -2351,10 +2332,10 @@ Index: magics++-2.29.2/test/cairo.py
  plot( output,  europe, coast, )
  tofortran(ref, output,  europe, coast, )
  
-Index: magics++-2.29.2/test/bufr.py
+Index: magics++-2.29.6/test/bufr.py
 ===================================================================
---- magics++-2.29.2.orig/test/bufr.py
-+++ magics++-2.29.2/test/bufr.py
+--- magics++-2.29.6.orig/test/bufr.py
++++ magics++-2.29.6/test/bufr.py
 @@ -8,6 +8,7 @@
  
  # importing Magics module
@@ -2372,10 +2353,10 @@ Index: magics++-2.29.2/test/bufr.py
  plot( output,  europe, obs, coast, )
  tofortran(ref, output,  europe, obs, coast, )
  
-Index: magics++-2.29.2/test/coast.py
+Index: magics++-2.29.6/test/coast.py
 ===================================================================
---- magics++-2.29.2.orig/test/coast.py
-+++ magics++-2.29.2/test/coast.py
+--- magics++-2.29.6.orig/test/coast.py
++++ magics++-2.29.6/test/coast.py
 @@ -8,6 +8,7 @@
  
  # importing Magics module
@@ -2384,10 +2365,10 @@ Index: magics++-2.29.2/test/coast.py
  from Magics.macro import *
  
  
-Index: magics++-2.29.2/test/grib.py
+Index: magics++-2.29.6/test/grib.py
 ===================================================================
---- magics++-2.29.2.orig/test/grib.py
-+++ magics++-2.29.2/test/grib.py
+--- magics++-2.29.6.orig/test/grib.py
++++ magics++-2.29.6/test/grib.py
 @@ -8,6 +8,7 @@
  
  # importing Magics module
@@ -2405,10 +2386,10 @@ Index: magics++-2.29.2/test/grib.py
  plot( output,  europe, data, cont, coast, title)
  
  
-Index: magics++-2.29.2/python/Magics/Magics.i.in
+Index: magics++-2.29.6/python/Magics.i.in
 ===================================================================
---- magics++-2.29.2.orig/python/Magics/Magics.i.in
-+++ magics++-2.29.2/python/Magics/Magics.i.in
+--- magics++-2.29.6.orig/python/Magics.i.in
++++ magics++-2.29.6/python/Magics.i.in
 @@ -22,6 +22,18 @@
      int i = 0;
      $1 = (char **) malloc((size+1)*sizeof(char *));
diff --git a/debian/patches/reproducibility.patch b/debian/patches/reproducibility.patch
index 60fd3c7..e4aab6a 100644
--- a/debian/patches/reproducibility.patch
+++ b/debian/patches/reproducibility.patch
@@ -7,31 +7,11 @@ Bugs-Debian: https://bugs.debian.org/792824
 Last-Updated: 2016-01-07
 Forwarded: no
 
-Index: magics++-2.29.2/tools/xml2cc_new.pl
+Index: magics++-2.29.6/tools/xml2cc.pl
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2cc_new.pl
-+++ magics++-2.29.2/tools/xml2cc_new.pl
-@@ -175,7 +175,6 @@ foreach my $object (keys %{$info->{magic
-     This file is automatically generated.
-     Do Not Edit!
- 
--    Generated: $string
- */
-    
- 
-@@ -350,7 +349,6 @@ EOF
-     This file is automatically generated.
-     Do Not Edit!
-    
--    Generated: $string
- */    
- 
- #include "$object\Attributes.h"
-Index: magics++-2.29.2/tools/xml2cc.pl
-===================================================================
---- magics++-2.29.2.orig/tools/xml2cc.pl
-+++ magics++-2.29.2/tools/xml2cc.pl
-@@ -11,6 +11,11 @@
+--- magics++-2.29.6.orig/tools/xml2cc.pl
++++ magics++-2.29.6/tools/xml2cc.pl
+@@ -10,6 +10,11 @@
  
  use XML::Parser;
  use Time::localtime;
@@ -41,21 +21,21 @@ Index: magics++-2.29.2/tools/xml2cc.pl
 +# To ensure sorting is reproducible
 +setlocale(LC_ALL, "C.UTF-8");
  
- my $file = shift;
- my $dir = shift;
-@@ -160,7 +165,7 @@ EOF
-     my $includes = {};
-     my @impl=split(/\//, $current->{attributes}->{implements});
+ my $file  = shift;
+ my $dir   = shift;
+@@ -196,7 +201,7 @@ EOF
+    
      my @interfaces = (split(/\//, $current->{attributes}->{interface}), @impl);
+     
 -    foreach $i (@impl) 
 +    foreach $i (sort(@impl))
      {
-         
          print "#include \"$i.h\"\n";
-Index: magics++-2.29.2/tools/xml2mv.pl
+     }
+Index: magics++-2.29.6/tools/xml2mv.pl
 ===================================================================
---- magics++-2.29.2.orig/tools/xml2mv.pl
-+++ magics++-2.29.2/tools/xml2mv.pl
+--- magics++-2.29.6.orig/tools/xml2mv.pl
++++ magics++-2.29.6/tools/xml2mv.pl
 @@ -11,9 +11,12 @@
  
  use XML::Parser;
diff --git a/debian/patches/soname-version.patch b/debian/patches/soname-version.patch
index 5fbc72b..4e3b9eb 100644
--- a/debian/patches/soname-version.patch
+++ b/debian/patches/soname-version.patch
@@ -3,10 +3,10 @@ Description: Add versioned soname for Debian.
 Forwarded: no
 Last-Updated: 2015-06-19
 
-Index: magics++-2.29.2/src/CMakeLists.txt
+Index: magics++-2.29.6/src/CMakeLists.txt
 ===================================================================
---- magics++-2.29.2.orig/src/CMakeLists.txt
-+++ magics++-2.29.2/src/CMakeLists.txt
+--- magics++-2.29.6.orig/src/CMakeLists.txt
++++ magics++-2.29.6/src/CMakeLists.txt
 @@ -122,6 +122,9 @@ ecbuild_add_library( TARGET    MagPlus
                          ${common_templates}
                       DEFINITIONS
@@ -36,10 +36,10 @@ Index: magics++-2.29.2/src/CMakeLists.txt
                       TYPE        SHARED )
  
  if ( BUILD_SHARED_LIBS STREQUAL "BOTH" )
-Index: magics++-2.29.2/cmake/ecbuild_add_library.cmake
+Index: magics++-2.29.6/cmake/ecbuild_add_library.cmake
 ===================================================================
---- magics++-2.29.2.orig/cmake/ecbuild_add_library.cmake
-+++ magics++-2.29.2/cmake/ecbuild_add_library.cmake
+--- magics++-2.29.6.orig/cmake/ecbuild_add_library.cmake
++++ magics++-2.29.6/cmake/ecbuild_add_library.cmake
 @@ -148,7 +148,7 @@
  function( ecbuild_add_library_impl )
  
diff --git a/debian/patches/terralib.patch b/debian/patches/terralib.patch
index 4577f96..fe45576 100644
--- a/debian/patches/terralib.patch
+++ b/debian/patches/terralib.patch
@@ -3,10 +3,10 @@ Description: Add Debians libterralib, rather than built-in version
 Last-Updated: 2016-07-08
 Forwarded: not-needed
 
-Index: magics++-2.29.2/src/CMakeLists.txt
+Index: magics++-2.29.6/src/CMakeLists.txt
 ===================================================================
---- magics++-2.29.2.orig/src/CMakeLists.txt
-+++ magics++-2.29.2/src/CMakeLists.txt
+--- magics++-2.29.6.orig/src/CMakeLists.txt
++++ magics++-2.29.6/src/CMakeLists.txt
 @@ -92,7 +92,6 @@ add_subdirectory( web )
  add_subdirectory( visualisers )
  add_subdirectory( drivers )

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



More information about the debian-science-commits mailing list