[magics] 28/63: refresh patches
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Mar 24 10:41:51 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 edc635e3163a2a64042f43d23f374ae96db7cd3c
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Fri Jul 8 03:25:07 2016 +0100
refresh patches
---
debian/changelog | 2 +
debian/patches/cmake-config.patch | 6 +-
debian/patches/compile-fixes.patch | 20 -
debian/patches/g++-6.patch | 100 -----
debian/patches/numpy-fixes.patch | 12 +-
debian/patches/pkgconfig-fix.patch | 14 +-
debian/patches/python3.patch | 748 ++++++++++++++++++++++++++++-------
debian/patches/reproducibility.patch | 30 +-
debian/patches/series | 2 -
debian/patches/soname-version.patch | 12 +-
debian/patches/terralib.patch | 17 +-
debian/patches/unique-ptr.patch | 140 +++----
12 files changed, 718 insertions(+), 385 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 6eb2904..f59fec4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
magics++ (2.29.2-1) UNRELEASED; urgency=medium
* New upstream release
+ - compile_fixes.patch merged upstream
+ - g++-6.patch merged upstream
* Fix python3 support: indentation errors in macro.py. Closes: #827850.
* Loosen the libemos-dev depends, to allow backports
* Set LC_ALL=C during build to aid reproducibility
diff --git a/debian/patches/cmake-config.patch b/debian/patches/cmake-config.patch
index b505b7c..acfda65 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.28.0/cmake/project-config.cmake.in
+Index: magics++-2.29.2/cmake/project-config.cmake.in
===================================================================
---- magics++-2.28.0.orig/cmake/project-config.cmake.in
-+++ magics++-2.28.0/cmake/project-config.cmake.in
+--- magics++-2.29.2.orig/cmake/project-config.cmake.in
++++ magics++-2.29.2/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/compile-fixes.patch b/debian/patches/compile-fixes.patch
deleted file mode 100644
index 0cfb0fe..0000000
--- a/debian/patches/compile-fixes.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Author: Alastair McKinstry <mckinstry at debian.org>
-Description: compile fix.
-Forwarded: https://software.ecmwf.int/issues/browse/SUP-1595
-Last-Updated: 2016-03-22
-
-Index: magics++-2.28.0/src/drivers/CairoDriver.cc
-===================================================================
---- magics++-2.28.0.orig/src/drivers/CairoDriver.cc
-+++ magics++-2.28.0/src/drivers/CairoDriver.cc
-@@ -539,8 +539,8 @@ MAGICS_NO_EXPORT void CairoDriver::write
-
- // DPI
- TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH);
-- TIFFSetField(tif, TIFFTAG_XRESOLUTION, (float) 90.;// resolution_);
-- TIFFSetField(tif, TIFFTAG_YRESOLUTION, (float) 90.;// resolution_);
-+ TIFFSetField(tif, TIFFTAG_XRESOLUTION, (float) 90.);// resolution_);
-+ TIFFSetField(tif, TIFFTAG_YRESOLUTION, (float) 90.);// resolution_);
-
- unsigned char *buf;
- if (TIFFScanlineSize(tif))
diff --git a/debian/patches/g++-6.patch b/debian/patches/g++-6.patch
deleted file mode 100644
index 2e8c8ee..0000000
--- a/debian/patches/g++-6.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Description: For c++14, need to disambiguate isnan()
-Author: Alastair McKinstry <mckinstry at debian.org>
-Last-Update: 2016-05-02
-Forwarded: no
-
-Index: magics++-2.28.0/src/decoders/GribRegularInterpretor.cc
-===================================================================
---- magics++-2.28.0.orig/src/decoders/GribRegularInterpretor.cc
-+++ magics++-2.28.0/src/decoders/GribRegularInterpretor.cc
-@@ -2054,14 +2054,14 @@ void GribLambertInterpretor::interpretAs
- double val2 = ((lon22 - lon) / (lon22 - lon21))
- * val21
- + ((lon - lon21) / (lon22 - lon21)) * val22;
-- if (isnan(val1)) {
-- if (isnan(val2)) {
-+ if (std::isnan(val1)) {
-+ if (std::isnan(val2)) {
- val = missing;
- } else
- val = ((lat - lat11) / (lat22 - lat11))
- * val2;
- } else {
-- if (isnan(val2)) {
-+ if (std::isnan(val2)) {
- val = ((lat22 - lat) / (lat22 - lat11))
- * val1;
- } else {
-@@ -2072,11 +2072,11 @@ void GribLambertInterpretor::interpretAs
- }
- }
-
-- if (isnan(val) || isinf(val) || isinf(-val)) {
-+ if (std::isnan(val) || std::isinf(val) || std::isinf(-val)) {
- val = missing;
- }
- }
-- if (isnan(val))
-+ if (std::isnan(val))
- val = missing;
- if ((**matrix)[index.second + (index.first * im)]
- == missing) {
-Index: magics++-2.28.0/src/decoders/NetcdfOrcaInterpretor.cc
-===================================================================
---- magics++-2.28.0.orig/src/decoders/NetcdfOrcaInterpretor.cc
-+++ magics++-2.28.0/src/decoders/NetcdfOrcaInterpretor.cc
-@@ -207,15 +207,15 @@ bool NetcdfOrcaInterpretor::interpretAsM
- double val1 = ((lon12 - lon )/(lon12-lon11))*val11 + ((lon - lon11)/(lon12-lon11))*val12;
-
- double val2 = ((lon22 - lon )/(lon22-lon21))*val21 + ((lon - lon21)/(lon22-lon21))*val22;
-- if ( isnan(val1) ) {
-- if ( isnan(val2) ) {
-+ if ( std::isnan(val1) ) {
-+ if ( std::isnan(val2) ) {
- val = missing;
- }
- else
- val = ((lat - lat11)/(lat22-lat11))*val2;
- }
- else {
-- if ( isnan(val2) ) {
-+ if ( std::isnan(val2) ) {
- val = ((lat22 - lat )/(lat22-lat11))*val1;
- }
- else {
-@@ -223,11 +223,11 @@ bool NetcdfOrcaInterpretor::interpretAsM
- }
- }
-
-- if (isnan(val) || isinf(val) || isinf(-val) ) {
-+ if (std::isnan(val) || std::isinf(val) || std::isinf(-val) ) {
- val = missing;
- }
- }
-- if (isnan(val) ) val = missing;
-+ if (std::isnan(val) ) val = missing;
- if ( (*matrix)[index.second +( index.first*im)] == missing )
- (*matrix)[index.second +( index.first*im)] = val;
-
-@@ -293,7 +293,7 @@ bool NetcdfOrcaInterpretor::interpretAsP
-
- while (lat != latm.end() ) {
- double value = *val;
-- if (isnan(value) )
-+ if (std::isnan(value) )
- value = missing;
-
- if ( value != missing) {
-Index: magics++-2.28.0/src/decoders/NetcdfGeoMatrixInterpretor.cc
-===================================================================
---- magics++-2.28.0.orig/src/decoders/NetcdfGeoMatrixInterpretor.cc
-+++ magics++-2.28.0/src/decoders/NetcdfGeoMatrixInterpretor.cc
-@@ -90,7 +90,7 @@ bool NetcdfGeoMatrixInterpretor::interpr
- netcdf.get(field_, data, first, last);
- int i = 0;
- for (vector<double>::iterator d = data.begin(); d != data.end(); ++d ) {
-- if ( !isnan(*d) ) {
-+ if ( !std::isnan(*d) ) {
- matrix_->push_back(*d);
-
- }
diff --git a/debian/patches/numpy-fixes.patch b/debian/patches/numpy-fixes.patch
index 953444d..1951c7e 100644
--- a/debian/patches/numpy-fixes.patch
+++ b/debian/patches/numpy-fixes.patch
@@ -4,10 +4,10 @@ Description: Update the numpy.i from a copy in numpy.git to add
Last-Updated: 2016-06-14
Forwarded: no
-Index: magics++-2.28.0/python/Magics/numpy.i
+Index: magics++-2.29.2/python/Magics/numpy.i
===================================================================
---- magics++-2.28.0.orig/python/Magics/numpy.i
-+++ magics++-2.28.0/python/Magics/numpy.i
+--- magics++-2.29.2.orig/python/Magics/numpy.i
++++ magics++-2.29.2/python/Magics/numpy.i
@@ -1,11 +1,46 @@
/* -*- C -*- (not really, but good for syntax highlighting) */
+
@@ -2672,10 +2672,10 @@ Index: magics++-2.28.0/python/Magics/numpy.i
+#endif
#endif /* SWIGPYTHON */
-Index: magics++-2.28.0/python/Magics/Magics.i.in
+Index: magics++-2.29.2/python/Magics/Magics.i.in
===================================================================
---- magics++-2.28.0.orig/python/Magics/Magics.i.in
-+++ magics++-2.28.0/python/Magics/Magics.i.in
+--- magics++-2.29.2.orig/python/Magics/Magics.i.in
++++ magics++-2.29.2/python/Magics/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 edf5f55..1c42410 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.28.0/cmake/ecbuild_pkgconfig.cmake
+Index: magics++-2.29.2/cmake/ecbuild_pkgconfig.cmake
===================================================================
---- magics++-2.28.0.orig/cmake/ecbuild_pkgconfig.cmake
-+++ magics++-2.28.0/cmake/ecbuild_pkgconfig.cmake
+--- magics++-2.29.2.orig/cmake/ecbuild_pkgconfig.cmake
++++ magics++-2.29.2/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.28.0/cmake/ecbuild_pkgconfig.cmake
foreach( _lib ${_libraries})
unset( _location )
-Index: magics++-2.28.0/CMakeLists.txt
+Index: magics++-2.29.2/CMakeLists.txt
===================================================================
---- magics++-2.28.0.orig/CMakeLists.txt
-+++ magics++-2.28.0/CMakeLists.txt
-@@ -330,7 +330,12 @@ ecbuild_add_resources( TARGET internal
+--- magics++-2.29.2.orig/CMakeLists.txt
++++ magics++-2.29.2/CMakeLists.txt
+@@ -340,7 +340,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 fb2db23..f5dd685 100644
--- a/debian/patches/python3.patch
+++ b/debian/patches/python3.patch
@@ -3,19 +3,33 @@ Description: python2,3 compatability code
Last-Updated: 2016-07-05
Forwarded: no
-Index: magics++-2.28.0/tools/axis2doc.py
+Index: magics++-2.29.2/tools/axis2doc.py
===================================================================
---- magics++-2.28.0.orig/tools/axis2doc.py
-+++ magics++-2.28.0/tools/axis2doc.py
-@@ -1,4 +1,6 @@
+--- magics++-2.29.2.orig/tools/axis2doc.py
++++ magics++-2.29.2/tools/axis2doc.py
+@@ -1,12 +1,13 @@
#!/usr/bin/python
-+
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
from types import *
-@@ -40,7 +42,7 @@ class ObjectHandler(ContentHandler):
-
+@@ -45,17 +46,17 @@ class ObjectHandler(ContentHandler):
+ p["set"] = "psetc"
+ p["values"] = ["lastone", "cycle"]
+ p["type"] = "toggle"
+-
++
def anyset(p, attrs):
p["set"] = "psetc"
- if attrs.has_key("values") :
@@ -23,7 +37,25 @@ Index: magics++-2.28.0/tools/axis2doc.py
val = attrs["values"]
values = val.split("/")
p["values"] = values
-@@ -88,21 +90,18 @@ class ObjectHandler(ContentHandler):
+ p["type"] = "toggle"
+ return
+-
+-
++
++
+ def intnumber(p, attrs):
+ p["type"] = "number"
+ p["set"] = "pseti"
+@@ -79,7 +80,7 @@ class ObjectHandler(ContentHandler):
+ p["set"] = "pset1c"
+ return
+
+- types = {
++ types = {
+ "bool": boolset,
+ "float": floatnumber,
+ "int": intnumber,
+@@ -96,21 +97,18 @@ class ObjectHandler(ContentHandler):
def get(self, attrs, name, default):
@@ -48,40 +80,87 @@ Index: magics++-2.28.0/tools/axis2doc.py
self.types[t](p, attrs)
else :
p["set"]="psetc"
-@@ -117,7 +116,7 @@ class ObjectHandler(ContentHandler):
+@@ -125,58 +123,58 @@ class ObjectHandler(ContentHandler):
o["name"] = attrs.get("name")
o["documentation"] = ""
o["parameters"] = []
- if attrs.has_key("inherits") :
+ if "inherits" in attrs:
o["inherits"]=attrs.get("inherits")
-
+-
++
return o
-@@ -139,12 +138,12 @@ class ObjectHandler(ContentHandler):
- if ( name == "option") :
+
+ def startElement(self, name, attrs):
+ self.tag = name
+- if ( name == "class" ) :
++ if ( name == "class" ) :
+ self.doc = name
+ # New object
+ self.object = self.newobject(attrs)
+ self.magics[attrs.get("name")] = self.object;
+- if ( name == "parameter" ) :
++ if ( name == "parameter" ) :
+ if self.get(attrs, "visible", "on") == "on" :
+ self.doc = name
+ self.param = self.newparam(attrs)
+ self.object["parameters"].append(self.param)
+ else :
+ self.doc = "nodoc"
+- if ( name == "option") :
++ if ( name == "option") :
val = attrs.get("fortran")
self.param["values"].append(val)
- if ( self.param.has_key(val) == False ):
+ if val not in self.param:
self.param[val] = []
self.param[val].append(attrs.get("name"))
- if ( name == "set" ) :
+- if ( name == "set" ) :
++ if ( name == "set" ) :
val = attrs.get("value")
- if ( self.param.has_key(val) == False ):
+ if val not in self.param:
self.param[val] = []
self.param[val].append(attrs.get("name"))
-@@ -167,7 +166,7 @@ class ObjectHandler(ContentHandler):
+-
++
+
+ def characters(self, content):
+- if ( self.tag == "documentation" ) :
++ if ( self.tag == "documentation" ) :
+ if ( self.doc == "class" ) :
+ self.actiondoc += content.lstrip();
+ if ( self.doc == "parameter" ) :
+ self.paramdoc += content.lstrip();
+-
++
+
+ def endElement(self, name):
+- if ( name == "parameter" and self.doc == "parameter") :
++ if ( name == "parameter" and self.doc == "parameter") :
+ self.param["documentation"] = self.paramdoc
+ self.paramdoc= ""
+- if ( name == "class" ) :
++ if ( name == "class" ) :
+ self.object["documentation"] = self.actiondoc
self.actiondoc= ""
-
+-
++
def printDef(self):
- print json.dumps(self.magics, indent=2)
+-
+ print (json.dumps(self.magics, indent=2))
-
++
def parse(self, file):
-@@ -180,21 +179,21 @@ class ObjectHandler(ContentHandler):
+ saxparser = make_parser()
+@@ -184,25 +182,25 @@ class ObjectHandler(ContentHandler):
+ datasource = open(self.path + file, "r")
+ saxparser.parse(datasource)
+ return self.magics
+-
++
def prepare(self, defparam):
param = defparam.copy()
@@ -111,16 +190,23 @@ Index: magics++-2.28.0/tools/axis2doc.py
self.append(newp, v)
else:
self.append(newp, self.getList(v))
-@@ -210,7 +209,7 @@ class ObjectHandler(ContentHandler):
+@@ -216,32 +214,32 @@ class ObjectHandler(ContentHandler):
+
+
def getList(self, object):
- definition = self.magics[object]
+- definition = self.magics[object]
++ definition = self.magics[object]
list = []
- if definition.has_key("inherits"):
+ if "inherits" in definition:
self.append(list, self.getList(definition["inherits"]))
for p in definition["parameters"]:
list.append(p["name"])
-@@ -220,8 +219,8 @@ class ObjectHandler(ContentHandler):
+ return list;
+-
+-
++
++
def buildParam(self, param):
parameters = []
@@ -129,9 +215,15 @@ Index: magics++-2.28.0/tools/axis2doc.py
+ if "inherits" in param:
+ print (param["name"] + " inherits from " + param["inherits"])
parent = self.buildParam(self.magics[param["inherits"]])
- self.append(parameters, parent)
+- self.append(parameters, parent)
++ self.append(parameters, parent)
parameters.append(self.prepare(param))
-@@ -232,8 +231,8 @@ class ObjectHandler(ContentHandler):
+ return parameters
+-
+-
++
++
+
def build(self, params):
parameters = []
for p in params:
@@ -142,11 +234,40 @@ Index: magics++-2.28.0/tools/axis2doc.py
defp = self.magics[p]
# internal object
for p in defp["parameters"]:
-Index: magics++-2.28.0/tools/beau.py
+@@ -255,7 +253,7 @@ class ObjectHandler(ContentHandler):
+ action = self.magics[action]
+
+ return action["documentation"]
+-
++
+
+
+ def createAction(abbr, name, files):
+@@ -284,10 +282,10 @@ def createAction(abbr, name, files):
+ f.write(json.dumps(magics, indent=1))
+
+
+-#createAction("coast", "Coastlines", ["Coastlines.xml", "CoastPlotting.xml", "LabelPlotting.xml", "GridPlotting.xml"])
+-#createAction("axis", "Axis", ["Axis.xml"])
+-#createAction("symb", "SymbolPlotting", ["SymbolPlotting.xml"])
+-#createAction("subpage", "FortranViewNode", ["SubPage.xml", "GeoRectangularProjection.xml",
+-# "XYTransformation.xml", "Proj4Projection.xml", "PolarStereographicProjection.xml"])
++#createAction("coast", "Coastlines", ["Coastlines.xml", "CoastPlotting.xml", "LabelPlotting.xml", "GridPlotting.xml"])
++#createAction("axis", "Axis", ["Axis.xml"])
++#createAction("symb", "SymbolPlotting", ["SymbolPlotting.xml"])
++#createAction("subpage", "FortranViewNode", ["SubPage.xml", "GeoRectangularProjection.xml",
++# "XYTransformation.xml", "Proj4Projection.xml", "PolarStereographicProjection.xml"])
+
+-createAction("wind", "Wind", ["wind.xml"])
++createAction("wind", "Wind", ["wind.xml"])
+Index: magics++-2.29.2/tools/beau.py
===================================================================
---- magics++-2.28.0.orig/tools/beau.py
-+++ magics++-2.28.0/tools/beau.py
-@@ -1,10 +1,10 @@
+--- magics++-2.29.2.orig/tools/beau.py
++++ magics++-2.29.2/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.
+
-
+from __future__ import print_function
import xml.dom.minidom
@@ -159,17 +280,81 @@ Index: magics++-2.28.0/tools/beau.py
+print (pretty_xml_as_string)
-Index: magics++-2.28.0/tools/xml2doc.py
+Index: magics++-2.29.2/tools/xml2doc.py
===================================================================
---- magics++-2.28.0.orig/tools/xml2doc.py
-+++ magics++-2.28.0/tools/xml2doc.py
-@@ -1,4 +1,4 @@
+--- magics++-2.29.2.orig/tools/xml2doc.py
++++ magics++-2.29.2/tools/xml2doc.py
+@@ -1,20 +1,17 @@
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+
-
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
import sys
-@@ -122,7 +122,7 @@ class ObjectHandler(ContentHandler):
+
+
+-
+-
+-
+ class ObjectHandler(ContentHandler):
+ name = ""
+ defparam = ""
+@@ -43,7 +40,7 @@ class ObjectHandler(ContentHandler):
+
+ def characters(self, data):
+ pass
+-
++
+ def toggle(self, attrs):
+ s = "\t%s\n\t{\n" % attrs.get("name")
+ s = s + "\t\ton; on\n"
+@@ -53,7 +50,7 @@ class ObjectHandler(ContentHandler):
+
+
+ def any(self, attrs):
+- s = "DOCUMENATION "
++ s = "DOCUMENATION "
+ s = s + "\t} = %s" % self.default(attrs)
+ return s
+
+@@ -86,7 +83,7 @@ class ObjectHandler(ContentHandler):
+ return s
+
+ def linestyle(self, attrs):
+- s = "here we found a line "
++ s = "here we found a line "
+ s = s + "\t} DEFAULT %s\n" % self.default(attrs)
+ return s
+
+@@ -108,7 +105,7 @@ class ObjectHandler(ContentHandler):
+ s = s + "</tr>\n"
+ return s
+
+-
++
+ types = { "normal" : normal,
+ "header" : header}
+
+@@ -117,7 +114,7 @@ class ObjectHandler(ContentHandler):
+ if p["name"] == param:
+ selfcurrent = p
+ return
+- self.current = {"name" : param, "type": "normal", "from" : value, "default" : default, "doc":""}
++ self.current = {"name" : param, "type": "normal", "from" : value, "default" : default, "doc":""}
+ self.params.append(self.current)
+
+ def startElement(self, name, attrs):
+@@ -130,7 +127,7 @@ class ObjectHandler(ContentHandler):
if self.inherits != '':
try:
file = open("xml/%s.xml" % attrs.get("inherits"), "r")
@@ -178,26 +363,94 @@ Index: magics++-2.28.0/tools/xml2doc.py
object = ObjectHandler()
parser = make_parser()
object.params = []
-Index: magics++-2.28.0/tools/xml2html.py
+@@ -139,7 +136,7 @@ class ObjectHandler(ContentHandler):
+ self.params.append(s)
+ for s in object.params:
+ self.params.append(s)
+-
++
+ except:
+ pass
+
+@@ -166,7 +163,7 @@ class ObjectHandler(ContentHandler):
+ value = attrs.get("fortran");
+ if (attrs.get("fortran") != attrs.get("xml")) :
+ value = "%s/%s"%(attrs.get("fortran"), attrs.get("xml"))
+-
++
+ p = {"name" : self.param, "value" : value , "type" : "header"}
+ self.params.append(p)
+ parser.parse(file)
+@@ -180,14 +177,14 @@ class ObjectHandler(ContentHandler):
+ if (name == "magics") :
+ return
+
+-
++
+ if (name == "documentation") :
+ self.current["doc"] = self.doc
+ pass
+-
++
+ if (name == "class") :
+ filename = "xml/%s.html" % self.name
+- # <tr style="background-color: rgb(204, 204, 255);">
++ # <tr style="background-color: rgb(204, 204, 255);">
+ definition = open(filename, "w")
+ definition.write( "<h3>%s parameters</h3>\n" % self.name)
+ definition.write( '<table cellspacing="1" cellpadding="1" border="1" style="width: 100%;">\n')
+@@ -196,7 +193,7 @@ class ObjectHandler(ContentHandler):
+ definition.write( " <td><strong>Parameter</strong></td><td><strong>Type</strong></td>\n")
+ definition.write( " <td><strong>Documentation</strong></td><td><strong>Default</strong></td>\n")
+ definition.write( "</tr>\n")
+- for param in self.params:
++ for param in self.params:
+ s = self.types[param["type"]](self, param)
+ definition.write(s)
+ definition.write( "</font></tbody>\n")
+Index: magics++-2.29.2/tools/xml2html.py
===================================================================
---- magics++-2.28.0.orig/tools/xml2html.py
-+++ magics++-2.28.0/tools/xml2html.py
-@@ -1,4 +1,5 @@
+--- magics++-2.29.2.orig/tools/xml2html.py
++++ magics++-2.29.2/tools/xml2html.py
+@@ -1,12 +1,13 @@
#!/usr/bin/python
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
from types import *
-@@ -26,7 +27,7 @@ class ObjectHandler(ContentHandler):
+@@ -32,16 +33,16 @@ class ObjectHandler(ContentHandler):
+ def lineset(p, attrs):
+ p["values"] = ["solid", "dash", "dot"]
p["type"] = "toggle"
-
+-
++
def anyset(p, attrs):
- if attrs.has_key("values") :
+ if "values" in attrs:
val = attrs["values"]
values = val.split("/")
p["values"] = values
-@@ -42,7 +43,7 @@ class ObjectHandler(ContentHandler):
+ p["type"] = "toggle"
+ return
+-
+- types = {
++
++ types = {
+ "bool": boolset,
+ "string": anyset,
+ "Colour": anyset,
+@@ -50,7 +51,7 @@ class ObjectHandler(ContentHandler):
def get(self, attrs, name, default):
@@ -206,7 +459,7 @@ Index: magics++-2.28.0/tools/xml2html.py
return attrs.get(name)
else :
return default
-@@ -53,7 +54,7 @@ class ObjectHandler(ContentHandler):
+@@ -61,7 +62,7 @@ class ObjectHandler(ContentHandler):
p["type"] = attrs.get("to")
p["values"] = []
t = p["type"]
@@ -215,7 +468,7 @@ Index: magics++-2.28.0/tools/xml2html.py
self.types[t](p, attrs)
else :
p["type"]="toggle"
-@@ -68,9 +69,9 @@ class ObjectHandler(ContentHandler):
+@@ -76,58 +77,58 @@ class ObjectHandler(ContentHandler):
o["name"] = attrs.get("name")
o["documentation"] = ""
o["parameters"] = []
@@ -227,33 +480,80 @@ Index: magics++-2.28.0/tools/xml2html.py
return o
def startElement(self, name, attrs):
-@@ -90,12 +91,12 @@ class ObjectHandler(ContentHandler):
- if ( name == "option") :
+ self.tag = name
+- if ( name == "class" ) :
++ if ( name == "class" ) :
+ self.doc = name
+ # New object
+ self.object = self.newobject(attrs)
+ self.magics[attrs.get("name")] = self.object;
+- if ( name == "parameter" ) :
++ if ( name == "parameter" ) :
+ if self.get(attrs, "visible", "on") == "on" :
+ self.doc = name
+ self.param = self.newparam(attrs)
+ self.object["parameters"].append(self.param)
+ else :
+ self.doc = "nodoc"
+- if ( name == "option") :
++ if ( name == "option") :
val = attrs.get("fortran")
self.param["values"].append(val)
- if ( self.param.has_key(val) == False ):
+ if "val" not in self.param:
self.param[val] = []
self.param[val].append(attrs.get("name"))
- if ( name == "set" ) :
+- if ( name == "set" ) :
++ if ( name == "set" ) :
val = attrs.get("value")
- if ( self.param.has_key(val) == False ):
+ if "val" not in self.param:
self.param[val] = []
self.param[val].append(attrs.get("name"))
-@@ -118,7 +119,7 @@ class ObjectHandler(ContentHandler):
+-
++
+
+ def characters(self, content):
+- if ( self.tag == "documentation" ) :
++ if ( self.tag == "documentation" ) :
+ if ( self.doc == "class" ) :
+ self.actiondoc += content.lstrip();
+ if ( self.doc == "parameter" ) :
+ self.paramdoc += content.lstrip();
+-
++
+
+ def endElement(self, name):
+- if ( name == "parameter" and self.doc == "parameter") :
++ if ( name == "parameter" and self.doc == "parameter") :
+ self.param["documentation"] = self.paramdoc
+ self.paramdoc= ""
+- if ( name == "class" ) :
++ if ( name == "class" ) :
+ self.object["documentation"] = self.actiondoc
self.actiondoc= ""
-
+-
++
def printDef(self):
- print json.dumps(self.magics, indent=2)
+-
+ print (json.dumps(self.magics, indent=2))
-
++
def parse(self, file):
-@@ -133,25 +134,25 @@ class ObjectHandler(ContentHandler):
+ saxparser = make_parser()
+@@ -135,40 +136,40 @@ class ObjectHandler(ContentHandler):
+ datasource = open(self.path + file, "r")
+ saxparser.parse(datasource)
+ return self.magics
+-
++
+ def build(self, actions, args):
+ defs = args["parameters"]
parameters = []
-
+-
++
for a in actions:
- if ( type(a) != dict and self.magics.has_key(a) ) :
+ if ( type(a) != dict and a in self.magics) :
@@ -264,9 +564,10 @@ Index: magics++-2.28.0/tools/xml2html.py
parent = action["inherits"]
definition = self.magics[parent]
- print a + " xxxxinherits from " + parent
-+ print ( a + " xxxxinherits from " + parent)
-
+-
- print "??????????????????"
++ print ( a + " xxxxinherits from " + parent)
++
+ print ("??????????????????")
for p in definition["parameters"]:
- print p["name"]
@@ -283,18 +584,54 @@ Index: magics++-2.28.0/tools/xml2html.py
+ if val in param:
param[val] = self.build(param[val], action)
else :
- param[val] = []
-Index: magics++-2.28.0/tools/xml2odt.py
+- param[val] = []
++ param[val] = []
+ else :
+ for param in defs:
+ if (param["name"] == a) :
+ parameters.append(param)
+ defs.remove(param)
+-
++
+
+ return parameters;
+
+@@ -179,7 +180,7 @@ class ObjectHandler(ContentHandler):
+ action = self.magics[action]
+
+ return action["documentation"]
+-
++
+
+
+ object = ObjectHandler()
+@@ -202,4 +203,3 @@ magics["magics"].append(action)
+
+ f = open('coast.json', "w")
+ f.write(json.dumps(magics, indent=1))
+-
+Index: magics++-2.29.2/tools/xml2odt.py
===================================================================
---- magics++-2.28.0.orig/tools/xml2odt.py
-+++ magics++-2.28.0/tools/xml2odt.py
-@@ -1,4 +1,5 @@
+--- magics++-2.29.2.orig/tools/xml2odt.py
++++ magics++-2.29.2/tools/xml2odt.py
+@@ -1,12 +1,12 @@
#!/usr/bin/python
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+-
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
from types import *
-@@ -7,8 +8,8 @@ import sys
+@@ -15,8 +15,8 @@ import sys
if(len(sys.argv) != 3) :
@@ -305,18 +642,60 @@ Index: magics++-2.28.0/tools/xml2odt.py
sys.exit()
-Index: magics++-2.28.0/tools/xml2split.py
+@@ -66,23 +66,23 @@ class ObjectHandler(ContentHandler):
+ if (name == "class"):
+ definition.write('</table:table>\n')
+ if (name == "documentation"):
+- definition.write('<table:table-row>\n');
+- definition.write(' <table:table-cell table:style-name="ParameterTable.A1" office:value-type="string">\n');
+- definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n' % self.param);
+- definition.write(' </table:table-cell>\n');
+- definition.write(' <table:table-cell table:style-name="ParameterTable.A2" office:value-type="string">\n');
+- definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n'% self.type);
+- definition.write(' </table:table-cell>\n');
+- definition.write(' <table:table-cell table:style-name="ParameterTable.A3" office:value-type="string">\n');
+- definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n'% self.text);
+- definition.write(' </table:table-cell>\n');
+- definition.write(' <table:table-cell table:style-name="ParameterTable.A4" office:value-type="string">\n');
+- definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n' % self.default);
+- definition.write(' </table:table-cell>\n');
+- definition.write('</table:table-row>\n');
+-
++ definition.write('<table:table-row>\n');
++ definition.write(' <table:table-cell table:style-name="ParameterTable.A1" office:value-type="string">\n');
++ definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n' % self.param);
++ definition.write(' </table:table-cell>\n');
++ definition.write(' <table:table-cell table:style-name="ParameterTable.A2" office:value-type="string">\n');
++ definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n'% self.type);
++ definition.write(' </table:table-cell>\n');
++ definition.write(' <table:table-cell table:style-name="ParameterTable.A3" office:value-type="string">\n');
++ definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n'% self.text);
++ definition.write(' </table:table-cell>\n');
++ definition.write(' <table:table-cell table:style-name="ParameterTable.A4" office:value-type="string">\n');
++ definition.write(' <text:p text:style-name="Para_Table_Contents">%s</text:p>\n' % self.default);
++ definition.write(' </table:table-cell>\n');
++ definition.write('</table:table-row>\n');
++
+ def characters(self, content):
+- self.text = content
++ self.text = content
+
+
+ object = ObjectHandler()
+Index: magics++-2.29.2/tools/xml2split.py
===================================================================
---- magics++-2.28.0.orig/tools/xml2split.py
-+++ magics++-2.28.0/tools/xml2split.py
-@@ -1,5 +1,5 @@
+--- magics++-2.29.2.orig/tools/xml2split.py
++++ magics++-2.29.2/tools/xml2split.py
+@@ -7,7 +7,7 @@
+ # does it submit to any jurisdiction.
+
-
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
import sys
-@@ -32,7 +32,7 @@ class ObjectHandler(ContentHandler):
+@@ -40,7 +40,7 @@ class ObjectHandler(ContentHandler):
self.file.write(data);
def startElement(self, name, attrs):
@@ -325,7 +704,7 @@ Index: magics++-2.28.0/tools/xml2split.py
if (name == "magics") :
return
if (name == "static") :
-@@ -44,13 +44,13 @@ class ObjectHandler(ContentHandler):
+@@ -52,13 +52,13 @@ class ObjectHandler(ContentHandler):
self.file=open(filename, "w")
self.open_file = 1;
self.file.write("<magics>\n")
@@ -341,17 +720,28 @@ Index: magics++-2.28.0/tools/xml2split.py
if ( self.open_file == 0):
return
-Index: magics++-2.28.0/tools/xml2mv.py
+Index: magics++-2.29.2/tools/xml2mv.py
===================================================================
---- magics++-2.28.0.orig/tools/xml2mv.py
-+++ magics++-2.28.0/tools/xml2mv.py
-@@ -1,4 +1,5 @@
+--- magics++-2.29.2.orig/tools/xml2mv.py
++++ magics++-2.29.2/tools/xml2mv.py
+@@ -1,12 +1,13 @@
#!/usr/bin/python
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+
+from __future__ import print_function
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
from types import *
-@@ -7,8 +8,8 @@ import sys
+@@ -15,8 +16,8 @@ import sys
if(len(sys.argv) != 6) :
@@ -362,7 +752,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
sys.exit()
-@@ -73,7 +74,7 @@ class ObjectHandler(ContentHandler):
+@@ -81,7 +82,7 @@ class ObjectHandler(ContentHandler):
def default(self, attrs):
val = attrs.get("metview_default");
@@ -371,7 +761,16 @@ Index: magics++-2.28.0/tools/xml2mv.py
val = attrs.get("default");
if (val == "") :
-@@ -311,7 +312,7 @@ class ObjectHandler(ContentHandler):
+@@ -126,7 +127,7 @@ class ObjectHandler(ContentHandler):
+
+ def characters(self, data):
+ pass
+-
++
+
+ # addhidden - if the appropriate flag is set in the attributes, return the text that will
+ # make the parameter hidden (but available) in Metview
+@@ -319,7 +320,7 @@ class ObjectHandler(ContentHandler):
def addOptionalParam(self, paramname, requirements):
@@ -380,7 +779,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
if not(requirements[0] in self.optionalparams[paramname]):
self.optionalparams[paramname] = self.optionalparams[paramname] + requirements
else:
-@@ -319,7 +320,7 @@ class ObjectHandler(ContentHandler):
+@@ -327,7 +328,7 @@ class ObjectHandler(ContentHandler):
def addRelatedOptionalRequirements(self):
@@ -389,7 +788,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
for optparam in optparams:
conditions = self.optionalparams[optparam]
for condition in conditions:
-@@ -328,7 +329,7 @@ class ObjectHandler(ContentHandler):
+@@ -336,7 +337,7 @@ class ObjectHandler(ContentHandler):
def addRelatedOptionalRequirements2(self):
@@ -398,7 +797,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
for optparam in optparams:
conditions = self.optionalparams[optparam]
for condition in conditions:
-@@ -341,9 +342,9 @@ class ObjectHandler(ContentHandler):
+@@ -349,9 +350,9 @@ class ObjectHandler(ContentHandler):
# see top of file for description of optionalparams and optionalparams2
def reorganiseOptionalParameters(self):
@@ -410,7 +809,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.optionalparams2[condition].add(optparam)
else:
self.optionalparams2[condition] = set([optparam])
-@@ -355,7 +356,7 @@ class ObjectHandler(ContentHandler):
+@@ -363,7 +364,7 @@ class ObjectHandler(ContentHandler):
def ensureOptionalParameters2DependenciesAreInRightOrder(self):
self.optionalparams3 = () # empty tuple, will contain an ordered version of optionalparams2
@@ -419,7 +818,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
# does this rule unset something that is needed in the optionalparams3 rules?
unsetparams2 = self.optionalparams2[conditions2]
newtuple3 = (conditions2, unsetparams2)
-@@ -374,7 +375,7 @@ class ObjectHandler(ContentHandler):
+@@ -382,7 +383,7 @@ class ObjectHandler(ContentHandler):
# we now know that the clause should go into position 'position' in the new tuple
if self.debug:
@@ -428,7 +827,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
if position == 0:
firstpart = ()
secondpart = (newtuple3,)
-@@ -395,7 +396,7 @@ class ObjectHandler(ContentHandler):
+@@ -403,7 +404,7 @@ class ObjectHandler(ContentHandler):
def newClass(self, c):
@@ -437,7 +836,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.classes[c] = {"inherits_reqs_from": set(), # 'inherits_params_from' is an empty set
"inherits_params_from": set()}
#print "newClass " + c
-@@ -437,7 +438,7 @@ class ObjectHandler(ContentHandler):
+@@ -445,7 +446,7 @@ class ObjectHandler(ContentHandler):
params = self.classes[c].get("params", ())
for p in params:
x = reqs
@@ -446,7 +845,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.addOptionalParam(p, x)
#self.addOptionalParam(p, (x,))
-@@ -455,11 +456,11 @@ class ObjectHandler(ContentHandler):
+@@ -463,11 +464,11 @@ class ObjectHandler(ContentHandler):
#print spaces + "enter rec, class = " + classname
for parent in i:
#print parent
@@ -460,7 +859,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
for req in reqs:
#print "ADDING REQ FROM RECURSIVE"
self.addRequirementToClass(req[0], req[1], classname)
-@@ -481,11 +482,11 @@ class ObjectHandler(ContentHandler):
+@@ -489,11 +490,11 @@ class ObjectHandler(ContentHandler):
#print spaces + "enter rec, class = " + classname
for parent in i:
#print parent
@@ -474,7 +873,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
for params in params:
#print "ADDING REQ FROM RECURSIVE"
self.addParamsFromOneClassToAnother(parent, classname)
-@@ -532,7 +533,7 @@ class ObjectHandler(ContentHandler):
+@@ -540,7 +541,7 @@ class ObjectHandler(ContentHandler):
try:
file = open(fname, "r")
if (self.debug):
@@ -483,7 +882,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.filehistory.append(fname)
object = ObjectHandler()
object.myoptions = []
-@@ -568,17 +569,17 @@ class ObjectHandler(ContentHandler):
+@@ -576,17 +577,17 @@ class ObjectHandler(ContentHandler):
return
if (attrs.get("inherit_parent_reqs") != 'no'):
docclass = attrs.get("doc_class", None)
@@ -507,7 +906,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.newparam(self.param, f(self, attrs), self.default(attrs))
else:
self.last = self.last + self.options(attrs)
-@@ -605,7 +606,7 @@ class ObjectHandler(ContentHandler):
+@@ -613,7 +614,7 @@ class ObjectHandler(ContentHandler):
# self.classes[attrs.get("name")]["inherits_reqs_from"].add(self.classname)
# print "YClass " + attrs.get("name") + " inherits_reqs_from " + self.classname
if attrs.get("docdive") != 'no' and attrs.get("doc_inherits") != 'no' :
@@ -516,7 +915,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
fname = "/%s.xml" % attrs.get("xmlfile")
else:
fname = "%s/%s.xml" % (sys.argv[1], attrs.get("name"))
-@@ -614,7 +615,7 @@ class ObjectHandler(ContentHandler):
+@@ -622,7 +623,7 @@ class ObjectHandler(ContentHandler):
file = open(fname, "r")
self.filehistory.append(fname)
if (self.debug):
@@ -525,7 +924,7 @@ Index: magics++-2.28.0/tools/xml2mv.py
object = ObjectHandler()
object.myoptions = []
object.myrules = {}
-@@ -667,8 +668,8 @@ class ObjectHandler(ContentHandler):
+@@ -675,13 +676,13 @@ class ObjectHandler(ContentHandler):
self.last = self.last + "\t} = %s\n" % self.defparam
self.newparam(self.param, self.last, self.defparam)
if (self.debug) :
@@ -536,7 +935,33 @@ Index: magics++-2.28.0/tools/xml2mv.py
self.last = ""
for option in self.myoptions:
for p in option:
-@@ -768,7 +769,7 @@ class ObjectHandler(ContentHandler):
+ #print " adding newparam from option: " + p[0]
+- self.newparam(p[0], p[1], p[2])
++ self.newparam(p[0], p[1], p[2])
+ self.myoptions = []
+ for rules in self.myrules:
+ current = rules
+@@ -694,7 +695,7 @@ class ObjectHandler(ContentHandler):
+ except:
+ pass
+ unsets.append(p[0])
+-
++
+ for unset in self.myrules:
+ if (unset == rules):
+ for p in self.myrules[unset]:
+@@ -710,8 +711,8 @@ class ObjectHandler(ContentHandler):
+ pass
+
+ self.myrules = {}
+-
+-
++
++
+ if (name == "magics") :
+ if self.toplevel:
+ #print "SL (end class): " + self.last
+@@ -776,7 +777,7 @@ class ObjectHandler(ContentHandler):
# two different ways to generate the rules
if False:
rules = open(sys.argv[5], "w")
@@ -545,20 +970,27 @@ Index: magics++-2.28.0/tools/xml2mv.py
rules.write("\n%if")
first = True
prevparam = ""
-@@ -845,4 +846,4 @@ saxparser.setContentHandler(object)
+@@ -853,4 +854,4 @@ saxparser.setContentHandler(object)
datasource = open(sys.argv[1] +"/" + sys.argv[2], "r")
saxparser.parse(datasource)
-print "DONE"
+print ("DONE")
-Index: magics++-2.28.0/python/Magics/macro.py
+Index: magics++-2.29.2/python/Magics/macro.py
===================================================================
---- magics++-2.28.0.orig/python/Magics/macro.py
-+++ magics++-2.28.0/python/Magics/macro.py
-@@ -1,361 +1,381 @@
+--- magics++-2.29.2.orig/python/Magics/macro.py
++++ magics++-2.29.2/python/Magics/macro.py
+@@ -1,369 +1,381 @@
+-# (C) Copyright 1996-2016 ECMWF.
+-#
+-# This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
+-# granted to it by virtue of its status as an intergovernmental organisation nor
+-# does it submit to any jurisdiction.
+from __future__ import print_function
+from six import iteritems
-+
+
import os
import Magics
import numpy
@@ -1282,7 +1714,7 @@ Index: magics++-2.28.0/python/Magics/macro.py
mcoast = make_action("mcoast", Magics.coast, "Coastlines")
pcoast = make_action("pcoast", Magics.coast)
-@@ -377,7 +397,7 @@ mmapgen = make_action("mmapgen", Magics.
+@@ -385,7 +397,7 @@ mmapgen = make_action("mmapgen", Magics.
pnetcdf = make_action("pnetcdf", Magics.netcdf)
mnetcdf = make_action("mnetcdf", Magics.netcdf)
odb_geopoints = make_action("odb_geopoints", Magics.odb, "Odbviewer")
@@ -1291,7 +1723,7 @@ Index: magics++-2.28.0/python/Magics/macro.py
odb_xypoints = make_action("odb_xypoints", Magics.odb, "Odbviewer")
odb_xyvectors = make_action("odb_xyvectors", Magics.odb, "Odbviewer")
pmap = make_action("pmap", None, "Subpage")
-@@ -418,75 +438,82 @@ mtephi = make_action("mtephi", Magics.te
+@@ -426,75 +438,82 @@ mtephi = make_action("mtephi", Magics.te
mmetgraph = make_action("mmetgraph", Magics.mmetgraph)
mmetbufr = make_action("mmetbufr", Magics.mmetbufr)
@@ -1434,16 +1866,27 @@ Index: magics++-2.28.0/python/Magics/macro.py
+ if os.system(cmd):
+ print("Error in viewing ODB data... Aborting")
+ os.abort()
-Index: magics++-2.28.0/python/Magics/metgram.py
+Index: magics++-2.29.2/python/Magics/metgram.py
===================================================================
---- magics++-2.28.0.orig/python/Magics/metgram.py
-+++ magics++-2.28.0/python/Magics/metgram.py
-@@ -1,3 +1,4 @@
+--- magics++-2.29.2.orig/python/Magics/metgram.py
++++ magics++-2.29.2/python/Magics/metgram.py
+@@ -1,11 +1,12 @@
+ # (C) Copyright 1996-2016 ECMWF.
+-#
++#
+ # This software is licensed under the terms of the Apache Licence Version 2.0
+-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+-# In applying this licence, ECMWF does not waive the privileges and immunities
++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
++# In applying this licence, ECMWF does not waive the privileges and immunities
+ # granted to it by virtue of its status as an intergovernmental organisation nor
+ # does it submit to any jurisdiction.
+
+from __future__ import print_function
import simplejson
import tempfile
import os
-@@ -21,10 +22,10 @@ magics["drivers"] = drivers
+@@ -29,10 +30,10 @@ magics["drivers"] = drivers
definition = []
definition.append( {
@@ -1458,7 +1901,7 @@ Index: magics++-2.28.0/python/Magics/metgram.py
"axis_tick_colour": "kelly_green" ,
"axis_line_colour":"kelly_green" ,
"axis_grid":"on",
-@@ -33,7 +34,7 @@ definition.append( {
+@@ -41,7 +42,7 @@ definition.append( {
})
definition.append({
@@ -1467,20 +1910,22 @@ Index: magics++-2.28.0/python/Magics/metgram.py
"id" : "haxis_last",
"axis_type" : "date",
"axis_tick_label": "on",
-@@ -56,9 +57,9 @@ definition.append({
+@@ -64,10 +65,10 @@ definition.append({
definition.append({
- "class": "vertical_axis",
- "id" : "vaxis",
- "axis_line":"on",
+- "axis_grid":"on",
+ "class": "vertical_axis",
+ "id" : "vaxis",
-+ "axis_line":"on",
- "axis_grid":"on",
++ "axis_line":"on",
++ "axis_grid":"on",
"axis_line_colour":"kelly_green" ,
"axis_tick_label_colour":"kelly_green",
-@@ -72,37 +73,37 @@ pages = []
+ "axis_label_font":"sansserif",
+@@ -80,37 +81,37 @@ pages = []
header = { "height" : "12%" }
def page():
@@ -1520,10 +1965,10 @@ Index: magics++-2.28.0/python/Magics/metgram.py
+ },
+ "horizontal_axis": { "use_id" : "haxis" },
+ "vertical_axis": { "use_id" : "vaxis" }
++
-
- }
-+
+ }
- }
@@ -1535,13 +1980,13 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- humi = {
-+
++
+ def execute(self):
+ humi = {
"epsbufr":
{
"epsbufr_parameter_descriptor":"13003",
-@@ -112,43 +113,43 @@ class humidity(object):
+@@ -120,43 +121,43 @@ class humidity(object):
"metgraph": { "curve": { } }
}
@@ -1568,7 +2013,7 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- msl = {
-+
++
+ def execute(self):
+ msl = {
"epsbufr":
@@ -1600,13 +2045,13 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- cloud = {
-+
++
+ def execute(self):
+ cloud = {
"epsbufr":
{
"epsbufr_parameter_descriptor":"20010",
-@@ -158,21 +159,21 @@ class cloud(object):
+@@ -166,21 +167,21 @@ class cloud(object):
"metgraph": { "bar": { } }
}
@@ -1633,13 +2078,13 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- precip = {
-+
++
+ def execute(self):
+ precip = {
"epsbufr":
{
"epsbufr_parameter_descriptor":"13011",
-@@ -182,17 +183,17 @@ class precip(object):
+@@ -190,17 +191,17 @@ class precip(object):
},
"metgraph": { "bar": { } }
}
@@ -1660,13 +2105,13 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- wind = {
-+
++
+ def execute(self):
+ wind = {
"epsbufr":
{
"epsbufr_parameter_descriptor":"11003",
-@@ -202,116 +203,116 @@ class wind(object):
+@@ -210,116 +211,116 @@ class wind(object):
},
"metgraph": { "flags": { } }
}
@@ -1705,7 +2150,7 @@ Index: magics++-2.28.0/python/Magics/metgram.py
-
- def execute(self):
- t850 = {
-+
++
+ def execute(self):
+ t850 = {
"epsbufr":
@@ -1716,10 +2161,11 @@ Index: magics++-2.28.0/python/Magics/metgram.py
+ "epsbufr_parameter_offset_factor": "-273.15",
"use_id":"station"
},
- "metgraph": {
+- "metgraph": {
- "metgram_plot_style":"curve",
- "metgram_curve_colour":"blue"
- }
++ "metgraph": {
+ "metgram_plot_style":"curve",
+ "metgram_curve_colour":"blue"
+ }
@@ -1738,10 +2184,11 @@ Index: magics++-2.28.0/python/Magics/metgram.py
+ "epsbufr_parameter_offset_factor": "-273.15",
"use_id":"station"
},
- "metgraph": {
+- "metgraph": {
- "metgram_plot_style":"curve",
- "metgram_curve_colour":"red"
- }
++ "metgraph": {
+ "metgram_plot_style":"curve",
+ "metgram_curve_colour":"red"
+ }
@@ -1771,16 +2218,16 @@ Index: magics++-2.28.0/python/Magics/metgram.py
- def execute(self):
- magics["definition"].append(self.definition)
- return page()
-+ def __init__(self, args):
++ def __init__(self, args):
+ self.definition = args
+ self.definition["id"]= "station"
+ self.definition["class"]= "epsbufr"
+ def execute(self):
+ magics["definition"].append(self.definition)
+ return page()
++
-
-+
class ps(object):
- def __init__(self, args):
- self.definition = args
@@ -1790,7 +2237,7 @@ Index: magics++-2.28.0/python/Magics/metgram.py
- magics["drivers"]=[]
- magics["drivers"].append(self.definition)
- return page()
-+ def __init__(self, args):
++ def __init__(self, args):
+ self.definition = args
+ self.definition["format"]= "ps"
+ def execute(self):
@@ -1798,9 +2245,9 @@ Index: magics++-2.28.0/python/Magics/metgram.py
+ magics["drivers"]=[]
+ magics["drivers"].append(self.definition)
+ return page()
++
-
-+
@@ -1841,8 +2288,8 @@ Index: magics++-2.28.0/python/Magics/metgram.py
+ if (i == nb) :
+ haxis="haxis_last"
+ map["map"]["horizontal_axis"]["use_id"] = haxis
-+
-+
++
++
+ s = simplejson.dumps(magics, indent=4 * ' ')
+ f = tempfile.NamedTemporaryFile()
+ f.write(s)
@@ -1858,10 +2305,15 @@ Index: magics++-2.28.0/python/Magics/metgram.py
cloud = cloud()
humidity = humidity()
-Index: magics++-2.28.0/python/Magics/CMakeLists.txt
+@@ -327,4 +328,3 @@ precip = precip()
+ tempe = tempe()
+ msl = msl()
+ wind = wind()
+-
+Index: magics++-2.29.2/python/Magics/CMakeLists.txt
===================================================================
---- magics++-2.28.0.orig/python/Magics/CMakeLists.txt
-+++ magics++-2.28.0/python/Magics/CMakeLists.txt
+--- 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} )
@@ -1877,11 +2329,12 @@ Index: magics++-2.28.0/python/Magics/CMakeLists.txt
set_source_files_properties(partio.i PROPERTIES SWIG_FLAGS "-includeall")
swig_link_libraries( Magics MagPlus ${PYTHON_LIBRARIES} )
-Index: magics++-2.28.0/test/cairo.py
+Index: magics++-2.29.2/test/cairo.py
===================================================================
---- magics++-2.28.0.orig/test/cairo.py
-+++ magics++-2.28.0/test/cairo.py
-@@ -1,5 +1,7 @@
+--- magics++-2.29.2.orig/test/cairo.py
++++ magics++-2.29.2/test/cairo.py
+@@ -8,6 +8,8 @@
+
# importing Magics module
+from __future__ import print_function
@@ -1889,7 +2342,7 @@ Index: magics++-2.28.0/test/cairo.py
from Magics.macro import *
-@@ -54,7 +56,7 @@ legend = mlegend(
+@@ -62,7 +64,7 @@ legend = mlegend(
# To the plot
@@ -1898,18 +2351,19 @@ Index: magics++-2.28.0/test/cairo.py
plot( output, europe, coast, )
tofortran(ref, output, europe, coast, )
-Index: magics++-2.28.0/test/bufr.py
+Index: magics++-2.29.2/test/bufr.py
===================================================================
---- magics++-2.28.0.orig/test/bufr.py
-+++ magics++-2.28.0/test/bufr.py
-@@ -1,5 +1,6 @@
+--- magics++-2.29.2.orig/test/bufr.py
++++ magics++-2.29.2/test/bufr.py
+@@ -8,6 +8,7 @@
+
# importing Magics module
+from __future__ import print_function
from Magics.macro import *
-@@ -46,7 +47,7 @@ title = \
+@@ -54,7 +55,7 @@ title = \
# To the plot
@@ -1918,29 +2372,31 @@ Index: magics++-2.28.0/test/bufr.py
plot( output, europe, obs, coast, )
tofortran(ref, output, europe, obs, coast, )
-Index: magics++-2.28.0/test/coast.py
+Index: magics++-2.29.2/test/coast.py
===================================================================
---- magics++-2.28.0.orig/test/coast.py
-+++ magics++-2.28.0/test/coast.py
-@@ -1,5 +1,6 @@
+--- magics++-2.29.2.orig/test/coast.py
++++ magics++-2.29.2/test/coast.py
+@@ -8,6 +8,7 @@
+
# importing Magics module
+from __future__ import print_function
from Magics.macro import *
-Index: magics++-2.28.0/test/grib.py
+Index: magics++-2.29.2/test/grib.py
===================================================================
---- magics++-2.28.0.orig/test/grib.py
-+++ magics++-2.28.0/test/grib.py
-@@ -1,5 +1,6 @@
+--- magics++-2.29.2.orig/test/grib.py
++++ magics++-2.29.2/test/grib.py
+@@ -8,6 +8,7 @@
+
# importing Magics module
+from __future__ import print_function
from Magics.macro import *
-@@ -65,7 +66,7 @@ legend = mlegend(
+@@ -73,7 +74,7 @@ legend = mlegend(
# To the plot
@@ -1949,10 +2405,10 @@ Index: magics++-2.28.0/test/grib.py
plot( output, europe, data, cont, coast, title)
-Index: magics++-2.28.0/python/Magics/Magics.i.in
+Index: magics++-2.29.2/python/Magics/Magics.i.in
===================================================================
---- magics++-2.28.0.orig/python/Magics/Magics.i.in
-+++ magics++-2.28.0/python/Magics/Magics.i.in
+--- magics++-2.29.2.orig/python/Magics/Magics.i.in
++++ magics++-2.29.2/python/Magics/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 6b6e055..60fd3c7 100644
--- a/debian/patches/reproducibility.patch
+++ b/debian/patches/reproducibility.patch
@@ -7,11 +7,11 @@ Bugs-Debian: https://bugs.debian.org/792824
Last-Updated: 2016-01-07
Forwarded: no
-Index: magics++-2.28.0/tools/xml2cc_new.pl
+Index: magics++-2.29.2/tools/xml2cc_new.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2cc_new.pl
-+++ magics++-2.28.0/tools/xml2cc_new.pl
-@@ -167,7 +167,6 @@ foreach my $object (keys %{$info->{magic
+--- 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!
@@ -19,7 +19,7 @@ Index: magics++-2.28.0/tools/xml2cc_new.pl
*/
-@@ -342,7 +341,6 @@ EOF
+@@ -350,7 +349,6 @@ EOF
This file is automatically generated.
Do Not Edit!
@@ -27,11 +27,11 @@ Index: magics++-2.28.0/tools/xml2cc_new.pl
*/
#include "$object\Attributes.h"
-Index: magics++-2.28.0/tools/xml2cc.pl
+Index: magics++-2.29.2/tools/xml2cc.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2cc.pl
-+++ magics++-2.28.0/tools/xml2cc.pl
-@@ -3,6 +3,11 @@
+--- magics++-2.29.2.orig/tools/xml2cc.pl
++++ magics++-2.29.2/tools/xml2cc.pl
+@@ -11,6 +11,11 @@
use XML::Parser;
use Time::localtime;
@@ -43,7 +43,7 @@ Index: magics++-2.28.0/tools/xml2cc.pl
my $file = shift;
my $dir = shift;
-@@ -152,7 +157,7 @@ EOF
+@@ -160,7 +165,7 @@ EOF
my $includes = {};
my @impl=split(/\//, $current->{attributes}->{implements});
my @interfaces = (split(/\//, $current->{attributes}->{interface}), @impl);
@@ -52,11 +52,11 @@ Index: magics++-2.28.0/tools/xml2cc.pl
{
print "#include \"$i.h\"\n";
-Index: magics++-2.28.0/tools/xml2mv.pl
+Index: magics++-2.29.2/tools/xml2mv.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2mv.pl
-+++ magics++-2.28.0/tools/xml2mv.pl
-@@ -3,9 +3,12 @@
+--- magics++-2.29.2.orig/tools/xml2mv.pl
++++ magics++-2.29.2/tools/xml2mv.pl
+@@ -11,9 +11,12 @@
use XML::Parser;
use Data::Dumper;
@@ -70,7 +70,7 @@ Index: magics++-2.28.0/tools/xml2mv.pl
my $file = shift;
my $dir = shift;
my $Author="MagicsTeam";
-@@ -182,7 +185,7 @@ my $includes = {};
+@@ -190,7 +193,7 @@ my $includes = {};
$includes->{$to} = "find" unless $basetype{$to} || $to eq 'Colour' ;
}
diff --git a/debian/patches/series b/debian/patches/series
index e5de3df..4b600a5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,6 +5,4 @@ reproducibility.patch
pkgconfig-fix.patch
cmake-config.patch
unique-ptr.patch
-compile-fixes.patch
-g++-6.patch
numpy-fixes.patch
diff --git a/debian/patches/soname-version.patch b/debian/patches/soname-version.patch
index 6a6aa83..5fbc72b 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.28.0/src/CMakeLists.txt
+Index: magics++-2.29.2/src/CMakeLists.txt
===================================================================
---- magics++-2.28.0.orig/src/CMakeLists.txt
-+++ magics++-2.28.0/src/CMakeLists.txt
+--- magics++-2.29.2.orig/src/CMakeLists.txt
++++ magics++-2.29.2/src/CMakeLists.txt
@@ -122,6 +122,9 @@ ecbuild_add_library( TARGET MagPlus
${common_templates}
DEFINITIONS
@@ -36,10 +36,10 @@ Index: magics++-2.28.0/src/CMakeLists.txt
TYPE SHARED )
if ( BUILD_SHARED_LIBS STREQUAL "BOTH" )
-Index: magics++-2.28.0/cmake/ecbuild_add_library.cmake
+Index: magics++-2.29.2/cmake/ecbuild_add_library.cmake
===================================================================
---- magics++-2.28.0.orig/cmake/ecbuild_add_library.cmake
-+++ magics++-2.28.0/cmake/ecbuild_add_library.cmake
+--- magics++-2.29.2.orig/cmake/ecbuild_add_library.cmake
++++ magics++-2.29.2/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 b6d18ec..4577f96 100644
--- a/debian/patches/terralib.patch
+++ b/debian/patches/terralib.patch
@@ -1,12 +1,12 @@
Author: Alastair McKinstry <mckinstry at debian.org>
Description: Add Debians libterralib, rather than built-in version
-Last-Updated: 2015-06-19
+Last-Updated: 2016-07-08
Forwarded: not-needed
-Index: magics++-2.28.0/src/CMakeLists.txt
+Index: magics++-2.29.2/src/CMakeLists.txt
===================================================================
---- magics++-2.28.0.orig/src/CMakeLists.txt
-+++ magics++-2.28.0/src/CMakeLists.txt
+--- magics++-2.29.2.orig/src/CMakeLists.txt
++++ magics++-2.29.2/src/CMakeLists.txt
@@ -92,7 +92,6 @@ add_subdirectory( web )
add_subdirectory( visualisers )
add_subdirectory( drivers )
@@ -31,17 +31,16 @@ Index: magics++-2.28.0/src/CMakeLists.txt
${odb_srcs}
TEMPLATES
${common_templates}
-@@ -187,9 +184,6 @@ if( metview )
+@@ -187,8 +184,6 @@ if( metview )
${CMAKE_CURRENT_SOURCE_DIR}/visualisers
${CMAKE_CURRENT_SOURCE_DIR}/drivers
${CMAKE_CURRENT_SOURCE_DIR}/decoders
- ${CMAKE_CURRENT_SOURCE_DIR}/terralib
-- ${CMAKE_CURRENT_SOURCE_DIR}/terralib/kernel
-- ${CMAKE_CURRENT_SOURCE_DIR}/terralib/utils
+- ${CMAKE_CURRENT_SOURCE_DIR}/terralib/kernel
${CMAKE_CURRENT_SOURCE_DIR}/libMagWrapper )
-@@ -229,18 +223,6 @@ if( metview )
+@@ -228,16 +223,6 @@ if( metview )
QtDriverAttributes.h)
endif()
@@ -52,8 +51,6 @@ Index: magics++-2.28.0/src/CMakeLists.txt
- terralib/kernel/TeSingleton.h
- terralib/kernel/TeDatum.h
- terralib/kernel/TeUtils.h
-- terralib/kernel/TeProgress.h
-- terralib/kernel/TeProgressBase.h
-
-
- DESTINATION ${INSTALL_INCLUDE_DIR})
diff --git a/debian/patches/unique-ptr.patch b/debian/patches/unique-ptr.patch
index 33e469b..6692488 100644
--- a/debian/patches/unique-ptr.patch
+++ b/debian/patches/unique-ptr.patch
@@ -4,11 +4,11 @@ Description: For G++ 6, we move to c++14, auto_ptr is deprecated.
Last-Updated: 2016-03-22
Forwarded: no
-Index: magics++-2.28.0/src/basic/ParameterSettings.cc
+Index: magics++-2.29.2/src/basic/ParameterSettings.cc
===================================================================
---- magics++-2.28.0.orig/src/basic/ParameterSettings.cc
-+++ magics++-2.28.0/src/basic/ParameterSettings.cc
-@@ -59,7 +59,7 @@ void setAttribute(const vector<string>&
+--- magics++-2.29.2.orig/src/basic/ParameterSettings.cc
++++ magics++-2.29.2/src/basic/ParameterSettings.cc
+@@ -51,7 +51,7 @@ void setAttribute(const vector<string>&
}
}
@@ -17,7 +17,7 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.cc
{
vector<string> keys;
buildkeys(roots, name, keys);
-@@ -70,7 +70,7 @@ void setAttribute(const vector<string>&
+@@ -62,7 +62,7 @@ void setAttribute(const vector<string>&
val = params.find(*key);
if ( val == params.end() ) continue;
MagLog::debug() << "Parameter [" << name << "] set to " << val->second << endl;
@@ -26,11 +26,11 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.cc
}
}
-Index: magics++-2.28.0/src/basic/ParameterSettings.h
+Index: magics++-2.29.2/src/basic/ParameterSettings.h
===================================================================
---- magics++-2.28.0.orig/src/basic/ParameterSettings.h
-+++ magics++-2.28.0/src/basic/ParameterSettings.h
-@@ -32,10 +32,10 @@
+--- magics++-2.29.2.orig/src/basic/ParameterSettings.h
++++ magics++-2.29.2/src/basic/ParameterSettings.h
+@@ -24,10 +24,10 @@
#include <Colour.h>
void buildkeys(const vector<string>& roots, const string&, vector<string>& keys);
@@ -43,7 +43,7 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.h
{
try{
T* new_object = MagTranslator<string, T>()(value);
-@@ -45,7 +45,7 @@ void setMember(const string& value, auto
+@@ -37,7 +37,7 @@ void setMember(const string& value, auto
MagLog::dev()<< "OK" << endl;
return;
}
@@ -52,7 +52,7 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.h
}
-@@ -56,7 +56,7 @@ void setMember(const string& value, auto
+@@ -48,7 +48,7 @@ void setMember(const string& value, auto
}
template <class T>
@@ -61,7 +61,7 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.h
{
try {
T* new_object = MagTranslator<string, T>()(node);
-@@ -71,7 +71,7 @@ bool acceptNode(const string& node, auto
+@@ -63,7 +63,7 @@ bool acceptNode(const string& node, auto
}
template <class T>
@@ -70,7 +70,7 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.h
{
vector<string> keys;
buildkeys(roots, name, keys);
-@@ -87,7 +87,7 @@ void setMember(const vector<string>& roo
+@@ -79,7 +79,7 @@ void setMember(const vector<string>& roo
object->set(params);
return;
}
@@ -79,11 +79,11 @@ Index: magics++-2.28.0/src/basic/ParameterSettings.h
MagLog::debug() << "Parameter [" << name << "] set to " << val->second << endl;
}
catch (...) {
-Index: magics++-2.28.0/src/decoders/GribDecoder.cc
+Index: magics++-2.29.2/src/decoders/GribDecoder.cc
===================================================================
---- magics++-2.28.0.orig/src/decoders/GribDecoder.cc
-+++ magics++-2.28.0/src/decoders/GribDecoder.cc
-@@ -97,7 +97,7 @@ void GribDecoder::set(const GribLoop& lo
+--- magics++-2.29.2.orig/src/decoders/GribDecoder.cc
++++ magics++-2.29.2/src/decoders/GribDecoder.cc
+@@ -90,7 +90,7 @@ void GribDecoder::set(const GribLoop& lo
index_ = loop.uniqueId_;
interpolation_method_ = loop.interpolation_method_;
missing_fill_count_ = loop.missing_fill_count_;
@@ -92,7 +92,7 @@ Index: magics++-2.28.0/src/decoders/GribDecoder.cc
internalIndex_ = index;
}
-@@ -1582,7 +1582,7 @@ void GribDecoder::visit(MetaDataCollecto
+@@ -1584,7 +1584,7 @@ void GribDecoder::visit(MetaDataCollecto
string representation = getString("typeOfGrid");
try
{
@@ -101,11 +101,11 @@ Index: magics++-2.28.0/src/decoders/GribDecoder.cc
interpretor_->scaling(*this, scaling, offset,oriUnits,derivedUnits);
if(scaling==1 && offset == 0)
{
-Index: magics++-2.28.0/src/decoders/TitleTemplate.cc
+Index: magics++-2.29.2/src/decoders/TitleTemplate.cc
===================================================================
---- magics++-2.28.0.orig/src/decoders/TitleTemplate.cc
-+++ magics++-2.28.0/src/decoders/TitleTemplate.cc
-@@ -179,7 +179,7 @@ bool TitleTemplate::verify(const GribDec
+--- magics++-2.29.2.orig/src/decoders/TitleTemplate.cc
++++ magics++-2.29.2/src/decoders/TitleTemplate.cc
+@@ -171,7 +171,7 @@ bool TitleTemplate::verify(const GribDec
//#ifdef MAGICS_EXCEPTION
try{
MagLog::debug() << "Try to create the MatchCriteria for " << criter->first << "\n";
@@ -114,11 +114,11 @@ Index: magics++-2.28.0/src/decoders/TitleTemplate.cc
MagLog::debug() << "Found the MatchCriteria for " << criter->first << "\n";
if (!(*object).verify(data, criter->first, criter->second)) return false;
}
-Index: magics++-2.28.0/src/decoders/TitleTemplate.h
+Index: magics++-2.29.2/src/decoders/TitleTemplate.h
===================================================================
---- magics++-2.28.0.orig/src/decoders/TitleTemplate.h
-+++ magics++-2.28.0/src/decoders/TitleTemplate.h
-@@ -130,7 +130,7 @@ public:
+--- magics++-2.29.2.orig/src/decoders/TitleTemplate.h
++++ magics++-2.29.2/src/decoders/TitleTemplate.h
+@@ -122,7 +122,7 @@ public:
#ifdef MAGICS_EXCEPTION
try
{
@@ -127,11 +127,11 @@ Index: magics++-2.28.0/src/decoders/TitleTemplate.h
(*object)(*(*entry), lines, data);
}
catch (NoFactoryException& e)
-Index: magics++-2.28.0/src/libMagWrapper/MagPlus.cc
+Index: magics++-2.29.2/src/libMagWrapper/MagPlus.cc
===================================================================
---- magics++-2.28.0.orig/src/libMagWrapper/MagPlus.cc
-+++ magics++-2.28.0/src/libMagWrapper/MagPlus.cc
-@@ -548,7 +548,7 @@ bool MagPlus::cartesianGrid(magics::MagR
+--- magics++-2.29.2.orig/src/libMagWrapper/MagPlus.cc
++++ magics++-2.29.2/src/libMagWrapper/MagPlus.cc
+@@ -558,7 +558,7 @@ bool MagPlus::cartesianGrid(magics::MagR
haxis->icon("Horizontal Axis", "MAXIS");
haxis->label_type_ = xtype;
@@ -140,7 +140,7 @@ Index: magics++-2.28.0/src/libMagWrapper/MagPlus.cc
top()->push_back(haxis);
}
-@@ -584,7 +584,7 @@ bool MagPlus::cartesianGrid(magics::MagR
+@@ -594,7 +594,7 @@ bool MagPlus::cartesianGrid(magics::MagR
VerticalAxis* vaxis = new VerticalAxis();
vaxis->icon("Vertical Axis", "MAXIS");
vaxis->label_type_ = ytype;
@@ -149,7 +149,7 @@ Index: magics++-2.28.0/src/libMagWrapper/MagPlus.cc
top()->push_back(vaxis);
}
-@@ -1392,7 +1392,7 @@ bool MagPlus::symbol(magics::MagRequest&
+@@ -1402,7 +1402,7 @@ bool MagPlus::symbol(magics::MagRequest&
FortranAutomaticLegendVisitor* node = new FortranAutomaticLegendVisitor();
LegendMethod* method = new ContinuousLegendMethod();
@@ -158,11 +158,11 @@ Index: magics++-2.28.0/src/libMagWrapper/MagPlus.cc
node->getReady();
//top()->legend(node);
if ( geographical_ ) {
-Index: magics++-2.28.0/src/magics.h
+Index: magics++-2.29.2/src/magics.h
===================================================================
---- magics++-2.28.0.orig/src/magics.h
-+++ magics++-2.28.0/src/magics.h
-@@ -115,7 +115,7 @@ using std::pair;
+--- magics++-2.29.2.orig/src/magics.h
++++ magics++-2.29.2/src/magics.h
+@@ -106,7 +106,7 @@ using std::pair;
//using std::list;
using std::map;
using std::set;
@@ -171,11 +171,11 @@ Index: magics++-2.28.0/src/magics.h
#include <exception>
-Index: magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
+Index: magics++-2.29.2/src/visualisers/AutomaticContourMethod.h
===================================================================
---- magics++-2.28.0.orig/src/visualisers/AutomaticContourMethod.h
-+++ magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
-@@ -236,7 +236,7 @@ public:
+--- magics++-2.29.2.orig/src/visualisers/AutomaticContourMethod.h
++++ magics++-2.29.2/src/visualisers/AutomaticContourMethod.h
+@@ -228,7 +228,7 @@ public:
//SampleContourMethod *am = static_cast < SampleContourMethod *> (MagTranslator<string, ContourMethod >()("sampling"));
SampleContourMethod *am =new SampleContourMethod();
@@ -184,7 +184,7 @@ Index: magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
pSampleContourMethod->setX (nSampleX);
pSampleContourMethod->setY (nSampleY);
-@@ -253,7 +253,7 @@ public:
+@@ -245,7 +245,7 @@ public:
// data, because the sub-sampling method (above) uses no interpolation.
if ((nSampleX > 1) && (nSampleY > 1)) {
ContourMethod* cm = MagTranslator<string, ContourMethod >()("linear");
@@ -193,7 +193,7 @@ Index: magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
pMatrixHandler = pContourMethod->handler(matrix, owner);
-@@ -263,7 +263,7 @@ public:
+@@ -255,7 +255,7 @@ public:
data.hasMissingValues())
{
ContourMethod* cm = MagTranslator<string, ContourMethod >()("linear");
@@ -202,7 +202,7 @@ Index: magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
pMatrixHandler = pContourMethod->handler(matrix, owner);
-@@ -274,7 +274,7 @@ public:
+@@ -266,7 +266,7 @@ public:
else
{
Akima760Method *am = static_cast < Akima760Method *> (MagTranslator<string, ContourMethod >()("akima760"));
@@ -211,11 +211,11 @@ Index: magics++-2.28.0/src/visualisers/AutomaticContourMethod.h
pAkima760Method->resolutionX_ = (fContourResolutionX);
pAkima760Method->resolutionY_ = (fContourResolutionY);
-Index: magics++-2.28.0/src/visualisers/CalculateColourTechnique.cc
+Index: magics++-2.29.2/src/visualisers/CalculateColourTechnique.cc
===================================================================
---- magics++-2.28.0.orig/src/visualisers/CalculateColourTechnique.cc
-+++ magics++-2.28.0/src/visualisers/CalculateColourTechnique.cc
-@@ -60,8 +60,8 @@ void CalculateColourTechnique::print(ost
+--- magics++-2.29.2.orig/src/visualisers/CalculateColourTechnique.cc
++++ magics++-2.29.2/src/visualisers/CalculateColourTechnique.cc
+@@ -52,8 +52,8 @@ void CalculateColourTechnique::print(ost
void CalculateColourTechnique::set(const ColourTechniqueInterface& attributes)
{
@@ -226,11 +226,11 @@ Index: magics++-2.28.0/src/visualisers/CalculateColourTechnique.cc
direction_ = attributes.getDirection();
}
-Index: magics++-2.28.0/src/visualisers/LabelPlotting.cc
+Index: magics++-2.29.2/src/visualisers/LabelPlotting.cc
===================================================================
---- magics++-2.28.0.orig/src/visualisers/LabelPlotting.cc
-+++ magics++-2.28.0/src/visualisers/LabelPlotting.cc
-@@ -49,7 +49,7 @@ void LabelPlotting::prepare(NoGridPlotti
+--- magics++-2.29.2.orig/src/visualisers/LabelPlotting.cc
++++ magics++-2.29.2/src/visualisers/LabelPlotting.cc
+@@ -41,7 +41,7 @@ void LabelPlotting::prepare(NoGridPlotti
if ( *colour_ == "UNDEFINED" ) {
@@ -239,11 +239,11 @@ Index: magics++-2.28.0/src/visualisers/LabelPlotting.cc
}
if ( longitudes_.empty() )
-Index: magics++-2.28.0/tools/xml2cc.pl
+Index: magics++-2.29.2/tools/xml2cc.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2cc.pl
-+++ magics++-2.28.0/tools/xml2cc.pl
-@@ -292,7 +292,7 @@ EOF
+--- magics++-2.29.2.orig/tools/xml2cc.pl
++++ magics++-2.29.2/tools/xml2cc.pl
+@@ -300,7 +300,7 @@ EOF
{
print <<EOF;
void set$method($to* $value)
@@ -252,7 +252,7 @@ Index: magics++-2.28.0/tools/xml2cc.pl
const $to& get$method() const
{ return *$member\_; }
-@@ -334,7 +334,7 @@ EOF
+@@ -342,7 +342,7 @@ EOF
}
else
{
@@ -261,10 +261,10 @@ Index: magics++-2.28.0/tools/xml2cc.pl
}
}
-Index: magics++-2.28.0/tools/xml2cc.pl.workshop
+Index: magics++-2.29.2/tools/xml2cc.pl.workshop
===================================================================
---- magics++-2.28.0.orig/tools/xml2cc.pl.workshop
-+++ magics++-2.28.0/tools/xml2cc.pl.workshop
+--- magics++-2.29.2.orig/tools/xml2cc.pl.workshop
++++ magics++-2.29.2/tools/xml2cc.pl.workshop
@@ -315,7 +315,7 @@ EOF
{
print <<EOF;
@@ -283,11 +283,11 @@ Index: magics++-2.28.0/tools/xml2cc.pl.workshop
}
}
-Index: magics++-2.28.0/tools/xml2cc_new.pl
+Index: magics++-2.29.2/tools/xml2cc_new.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2cc_new.pl
-+++ magics++-2.28.0/tools/xml2cc_new.pl
-@@ -296,7 +296,7 @@ EOF
+--- magics++-2.29.2.orig/tools/xml2cc_new.pl
++++ magics++-2.29.2/tools/xml2cc_new.pl
+@@ -304,7 +304,7 @@ EOF
}
else
{
@@ -296,7 +296,7 @@ Index: magics++-2.28.0/tools/xml2cc_new.pl
}
}
-@@ -541,7 +541,7 @@ EOF
+@@ -549,7 +549,7 @@ EOF
}
else
{
@@ -305,11 +305,11 @@ Index: magics++-2.28.0/tools/xml2cc_new.pl
}
print "";
-Index: magics++-2.28.0/tools/xml2mv.pl
+Index: magics++-2.29.2/tools/xml2mv.pl
===================================================================
---- magics++-2.28.0.orig/tools/xml2mv.pl
-+++ magics++-2.28.0/tools/xml2mv.pl
-@@ -442,7 +442,7 @@ EOF
+--- magics++-2.29.2.orig/tools/xml2mv.pl
++++ magics++-2.29.2/tools/xml2mv.pl
+@@ -450,7 +450,7 @@ EOF
{
print "\t\t\tstring $member\_s = request(\"$name\");\n";
@@ -318,7 +318,7 @@ Index: magics++-2.28.0/tools/xml2mv.pl
}
else
{
-@@ -469,7 +469,7 @@ EOF
+@@ -477,7 +477,7 @@ EOF
$arg = "(request.countValues(\"$name\") ? (string) request(\"$name\") : \"$mv_default\")";
print "\t\tstring $member\_s = $arg;\n";
@@ -327,7 +327,7 @@ Index: magics++-2.28.0/tools/xml2mv.pl
}
else
{
-@@ -506,7 +506,7 @@ EOF
+@@ -514,7 +514,7 @@ EOF
print "\t\t\t$member\_w = SimpleFactory<$wrapper_t>::create(\"$mv_default\");\n";
print "\t\t}\n";
print "\t\t$member\_w->set(request);\n";
--
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