[magics] 49/63: refresh patches
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Mar 24 10:41:54 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 b920952d97e488b50fe3c7e5b073c5cf17cc3348
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Mon Nov 28 20:02:40 2016 +0000
refresh patches
---
debian/patches/cmake-config.patch | 6 +-
debian/patches/numpy-fixes.patch | 12 +-
debian/patches/pkgconfig-fix.patch | 14 +-
debian/patches/python3.patch | 1051 +++++-----------------------------
debian/patches/reproducibility.patch | 12 +-
debian/patches/rm-ksh.patch | 18 +-
debian/patches/soname-version.patch | 12 +-
debian/patches/terralib.patch | 6 +-
debian/patches/unique-ptr.patch | 78 +--
9 files changed, 214 insertions(+), 995 deletions(-)
diff --git a/debian/patches/cmake-config.patch b/debian/patches/cmake-config.patch
index b9fc1c9..fdc2708 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.6/cmake/project-config.cmake.in
+Index: magics++-2.30.0/cmake/project-config.cmake.in
===================================================================
---- magics++-2.29.6.orig/cmake/project-config.cmake.in
-+++ magics++-2.29.6/cmake/project-config.cmake.in
+--- magics++-2.30.0.orig/cmake/project-config.cmake.in
++++ magics++-2.30.0/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 fa453c6..29ed977 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-10-29
Forwarded: no
-Index: magics++-2.29.6/python/numpy.i
+Index: magics++-2.30.0/python/numpy.i
===================================================================
---- magics++-2.29.6.orig/python/numpy.i
-+++ magics++-2.29.6/python/numpy.i
+--- magics++-2.30.0.orig/python/numpy.i
++++ magics++-2.30.0/python/numpy.i
@@ -1,11 +1,46 @@
/* -*- C -*- (not really, but good for syntax highlighting) */
+
@@ -2482,10 +2482,10 @@ Index: magics++-2.29.6/python/numpy.i
+#endif
#endif /* SWIGPYTHON */
-Index: magics++-2.29.6/python/Magics.i.in
+Index: magics++-2.30.0/python/Magics.i.in
===================================================================
---- magics++-2.29.6.orig/python/Magics.i.in
-+++ magics++-2.29.6/python/Magics.i.in
+--- magics++-2.30.0.orig/python/Magics.i.in
++++ magics++-2.30.0/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 d33abc6..6cacf1e 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.6/cmake/ecbuild_pkgconfig.cmake
+Index: magics++-2.30.0/cmake/ecbuild_pkgconfig.cmake
===================================================================
---- magics++-2.29.6.orig/cmake/ecbuild_pkgconfig.cmake
-+++ magics++-2.29.6/cmake/ecbuild_pkgconfig.cmake
+--- magics++-2.30.0.orig/cmake/ecbuild_pkgconfig.cmake
++++ magics++-2.30.0/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.6/cmake/ecbuild_pkgconfig.cmake
foreach( _lib ${_libraries})
unset( _location )
-Index: magics++-2.29.6/CMakeLists.txt
+Index: magics++-2.30.0/CMakeLists.txt
===================================================================
---- magics++-2.29.6.orig/CMakeLists.txt
-+++ magics++-2.29.6/CMakeLists.txt
-@@ -335,7 +335,12 @@ ecbuild_add_resources( TARGET internal
+--- magics++-2.30.0.orig/CMakeLists.txt
++++ magics++-2.30.0/CMakeLists.txt
+@@ -337,7 +337,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 33cab19..6d1ab39 100644
--- a/debian/patches/python3.patch
+++ b/debian/patches/python3.patch
@@ -3,12 +3,12 @@ Description: python2,3 compatability code
Last-Updated: 2016-10-29
Forwarded: no
-Index: magics++-2.29.6/tools/axis2doc.py
+Index: magics++-2.30.0/tools/axis2doc.py
===================================================================
---- magics++-2.29.6.orig/tools/axis2doc.py
-+++ magics++-2.29.6/tools/axis2doc.py
+--- magics++-2.30.0.orig/tools/axis2doc.py
++++ magics++-2.30.0/tools/axis2doc.py
@@ -1,12 +1,13 @@
- #!/usr/bin/python
+ #!/usr/bin/env python
# (C) Copyright 1996-2016 ECMWF.
-#
+#
@@ -260,10 +260,10 @@ Index: magics++-2.29.6/tools/axis2doc.py
-createAction("wind", "Wind", ["wind.xml"])
+createAction("wind", "Wind", ["wind.xml"])
-Index: magics++-2.29.6/tools/beau.py
+Index: magics++-2.30.0/tools/beau.py
===================================================================
---- magics++-2.29.6.orig/tools/beau.py
-+++ magics++-2.29.6/tools/beau.py
+--- magics++-2.30.0.orig/tools/beau.py
++++ magics++-2.30.0/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.6/tools/beau.py
+print (pretty_xml_as_string)
-Index: magics++-2.29.6/tools/xml2doc.py
+Index: magics++-2.30.0/tools/xml2doc.py
===================================================================
---- magics++-2.29.6.orig/tools/xml2doc.py
-+++ magics++-2.29.6/tools/xml2doc.py
+--- magics++-2.30.0.orig/tools/xml2doc.py
++++ magics++-2.30.0/tools/xml2doc.py
@@ -1,20 +1,17 @@
# (C) Copyright 1996-2016 ECMWF.
-#
@@ -408,12 +408,12 @@ Index: magics++-2.29.6/tools/xml2doc.py
s = self.types[param["type"]](self, param)
definition.write(s)
definition.write( "</font></tbody>\n")
-Index: magics++-2.29.6/tools/xml2html.py
+Index: magics++-2.30.0/tools/xml2html.py
===================================================================
---- magics++-2.29.6.orig/tools/xml2html.py
-+++ magics++-2.29.6/tools/xml2html.py
+--- magics++-2.30.0.orig/tools/xml2html.py
++++ magics++-2.30.0/tools/xml2html.py
@@ -1,12 +1,13 @@
- #!/usr/bin/python
+ #!/usr/bin/env python
# (C) Copyright 1996-2016 ECMWF.
-#
+#
@@ -610,12 +610,12 @@ Index: magics++-2.29.6/tools/xml2html.py
f = open('coast.json', "w")
f.write(json.dumps(magics, indent=1))
-
-Index: magics++-2.29.6/tools/xml2odt.py
+Index: magics++-2.30.0/tools/xml2odt.py
===================================================================
---- magics++-2.29.6.orig/tools/xml2odt.py
-+++ magics++-2.29.6/tools/xml2odt.py
+--- magics++-2.30.0.orig/tools/xml2odt.py
++++ magics++-2.30.0/tools/xml2odt.py
@@ -1,12 +1,12 @@
- #!/usr/bin/python
+ #!/usr/bin/env python
# (C) Copyright 1996-2016 ECMWF.
-#
+#
@@ -682,10 +682,10 @@ Index: magics++-2.29.6/tools/xml2odt.py
object = ObjectHandler()
-Index: magics++-2.29.6/tools/xml2split.py
+Index: magics++-2.30.0/tools/xml2split.py
===================================================================
---- magics++-2.29.6.orig/tools/xml2split.py
-+++ magics++-2.29.6/tools/xml2split.py
+--- magics++-2.30.0.orig/tools/xml2split.py
++++ magics++-2.30.0/tools/xml2split.py
@@ -7,7 +7,7 @@
# does it submit to any jurisdiction.
@@ -720,12 +720,12 @@ Index: magics++-2.29.6/tools/xml2split.py
if ( self.open_file == 0):
return
-Index: magics++-2.29.6/tools/xml2mv.py
+Index: magics++-2.30.0/tools/xml2mv.py
===================================================================
---- magics++-2.29.6.orig/tools/xml2mv.py
-+++ magics++-2.29.6/tools/xml2mv.py
+--- magics++-2.30.0.orig/tools/xml2mv.py
++++ magics++-2.30.0/tools/xml2mv.py
@@ -1,12 +1,13 @@
- #!/usr/bin/python
+ #!/usr/bin/env python
# (C) Copyright 1996-2016 ECMWF.
-#
+#
@@ -976,745 +976,107 @@ Index: magics++-2.29.6/tools/xml2mv.py
saxparser.parse(datasource)
-print "DONE"
+print ("DONE")
-Index: magics++-2.29.6/python/Magics/macro.py
+Index: magics++-2.30.0/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.
--#
--# 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.
+--- magics++-2.30.0.orig/python/Magics/macro.py
++++ magics++-2.30.0/python/Magics/macro.py
+@@ -6,6 +6,9 @@
+ # 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
+@@ -69,7 +72,7 @@ class Action(object):
+ return x
-+
- class Context(object):
-- def __init__(self):
-- self.tmp = []
-- pass
-+ def __init__(self):
-+ self.tmp = []
-+ pass
-
- global context
--context = Context()
--
--actions={
-- "mobs": "pobs",
-- "mcoast": "pcoast",
-- "pcoast": "pcoast",
-- "mtext": "ptext",
-- "ptext": "ptext",
-- "psymb": "psymb",
-- "msymb": "psymb",
-- "pcont": "pcont",
-- "mcont": "pcont",
-- "pgeo": "pgeo",
-- "mgeojson": "pgeojson",
-- "mgeo": "pgeo",
-- "mlegend": "",
-- "plegend": "",
-- "mgrib": "pgrib",
-- "pgrib": "pgrib",
-- "mwind": "pwind",
-- "pwind": "pwind",
-- "mgraph": "pgraph",
-- "pgraph": "pgraph",
-- "maxis": "paxis",
-- "paxis": "paxis",
-- "minput": "pinput",
-- "mtable": "ptable",
-- "ptable": "ptable",
-- "pboxplot": "pboxplot",
-- "mboxplot": "pboxplot",
-- "pinput": "pinput"
-- }
--
-+context = Context()
-
-+actions = {
-+ "mobs": "pobs",
-+ "mcoast": "pcoast",
-+ "pcoast": "pcoast",
-+ "mtext": "ptext",
-+ "ptext": "ptext",
-+ "psymb": "psymb",
-+ "msymb": "psymb",
-+ "pcont": "pcont",
-+ "mcont": "pcont",
-+ "pgeo": "pgeo",
-+ "mgeojson": "pgeojson",
-+ "mgeo": "pgeo",
-+ "mlegend": "",
-+ "plegend": "",
-+ "mgrib": "pgrib",
-+ "pgrib": "pgrib",
-+ "mwind": "pwind",
-+ "pwind": "pwind",
-+ "mgraph": "pgraph",
-+ "pgraph": "pgraph",
-+ "maxis": "paxis",
-+ "paxis": "paxis",
-+ "minput": "pinput",
-+ "mtable": "ptable",
-+ "ptable": "ptable",
-+ "pboxplot": "pboxplot",
-+ "mboxplot": "pboxplot",
-+ "pinput": "pinput"
-+ }
-
-
- class Action(object):
-- def __init__(self, verb, action, html, args):
-- self.verb = verb
-- self.action = action
-- self.args = args
-- if ( html == "") :
-- self.html = verb
-- else :
-- self.html = "<a href=/wiki/display/MAGP/%s target='_blank'>%s</a>" % (html, verb)
--
-- def __repr__(self):
-- x = ""
-- for key in self.args.keys():
-- x = x + " %s = '%s'\n" % (key, self.args[key])
-- return x
--
-- def inspect(self):
-- print self
--
-- def quote(self, v):
-- return "\"" + v + "\""
--
-- def tohtml(self, file):
-- sep=""
-- val="%s("%self.html
--
-- for key in self.args.keys():
-- if isinstance(self.args[key], str):
-- if key == 'odb_data':
-- Magics.setc('odb_filename', self.args[key])
-- else:
-- val+= '%s%s = "%s"'%(sep, key, self.args[key])
-- elif isinstance(self.args[key], int):
-- val += '%s%s = %d'%(sep, key, self.args[key])
-- elif isinstance(self.args[key], float):
-- val += '%s%s = %0.2f'%(sep, key, self.args[key])
-- elif isinstance(self.args[key], list) :
-- if isinstance (self.args[key][0], str):
-- vval = ""
-- vsep = ""
-- if (len(self.args[key]) < 5 ):
-- for v in self.args[key]:
-- vval += vsep + self.quote(v)
-- vsep = ", "
-- else :
-- vval = self.quote(self.args[key][0]) + ", " + self.quote(self.args[key][1]) + ",...," + self.quote(self.args[key][-2]) + ", " + self.quote(self.args[key][-1])
-- vval += ""
-- val+= '%s%s = [%s]'%(sep, key, vval)
-- elif isinstance(self.args[key][0], int):
-- vval = ""
-- vsep = ""
-- if (len(self.args[key]) < 5 ):
-- for v in self.args[key]:
-- vval += vsep + ("%df"%v)
-- vsep = ", "
-- else :
-- vval = ("%d"%self.args[key][0]) + ", " + ("%d"%self.args[key][1]) + ",...," + ("%d"%self.args[key][-2]) + ", " + ("%d"%self.args[key][-1])
-- vval += ""
-- val+= '%s%s = %s'%(sep, key, vval)
-- elif isinstance(self.args[key][0], float):
-- vval = ""
-- vsep = ""
-- if (len(self.args[key]) < 5 ):
-- for v in self.args[key]:
-- vval += vsep + ("%0.2f"%v)
-- vsep = ", "
-- else :
-- vval = ("%0.2f"%self.args[key][0]) + ", " + ("%0.2f"%self.args[key][1]) + ",...," + ("%0.2f"%self.args[key][-2]) + ", " + ("%0.2f"%self.args[key][-1])
--
-- vval += ""
-- val+= '%s%s = [%s]'%(sep, key, vval)
-- elif isinstance(self.args[key], numpy.ndarray) :
-- type = self.args[key].dtype
-- dim = len(self.args[key].shape)
-- if isinstance(self.args[key][0], int):
-- if (dim == 2) :
-- print "pset2i"
-- else :
-- print "pset1i"
-- elif ( type == 'float64' or type == 'float32') :
-- if (dim == 2) :
-- print "pset2r"
-- else :
-- vval = ""
-- vsep = ""
-- if (len(self.args[key]) < 5 ):
-- for v in self.args[key]:
-- vval += vsep + ("%0.2f"%v)
-- vsep = ", "
-- else :
-- vval = ("%0.2f"%self.args[key][0]) + ", " + ("%0.2f"%self.args[key][1]) + ",...," + ("%0.2f"%self.args[key][-2]) + ", " + ("%0.2f"%self.args[key][-1])
-- vval += ""
-- val+= '%s%s = [%s]'%(sep, key, vval)
-- else :
-- print "type???->", key
-- sep=",\n\t"
--
-- print >>file, val + ")\n"
--
-- def tomv4(self, file):
-- sep="\t"
-- val="%s,\n"%self.verb.upper()
--
-- for key in self.args.keys():
-- if isinstance(self.args[key], str):
-- if key == 'odb_data':
-- Magics.setc('odb_filename', self.args[key])
-- else:
-- val+= '%s%s = %s'%(sep, key.upper(), self.args[key].upper())
-- elif isinstance(self.args[key], int):
-- val += '%s%s = %d'%(sep, key.upper(), self.args[key])
-- elif isinstance(self.args[key], float):
-- val += '%s%s = %0.2f'%(sep, key.upper(), self.args[key])
-- elif isinstance(self.args[key], list) :
-- if isinstance (self.args[key][0], str):
-- vval = "["
-- vsep = ""
-- for v in self.args[key]:
-- vval += vsep + v
-- vsep = ", "
-- vval += "]"
-- val+= '%s%s = %s'%(sep, key.upper(), vval)
-- elif isinstance(self.args[key][0], int):
-- print "pset1i"
-- elif isinstance(self.args[key][0], float):
-- print "pset1r"
-- elif isinstance(self.args[key], numpy.ndarray) :
-- type = self.args[key].dtype
-- dim = len(self.args[key].shape)
-- if isinstance(self.args[key][0], int):
-- if (dim == 2) :
-- print "pset2i"
-- else :
-- print "pset1i"
-- elif ( type == 'float64' or type == 'float32') :
-- if (dim == 2) :
-- print "pset2r"
-- else :
-- vval = "["
-- vsep = ""
-- for v in self.args[key]:
-- vval += vsep + ("%0.2f"%v)
-- vsep = ", "
-- vval += "]"
-- val+= '%s%s = %s'%(sep, key.upper(), vval)
--
-- else :
-- print "type???->", key
-- sep=",\n\t"
--
-- print >> file, val + "\n"
--
--
--
--
--
-- def tofortran(self, f):
-- if self.action == Magics.new_page :
-- print >> f, '\tcall pnew("page")'
-- return
-- for key in self.args.keys():
-- if isinstance(self.args[key], str):
-- if key == 'odb_data':
-- Magics.setc('odb_filename', self.args[key])
-- else:
-- print >> f, '\tcall psetc("%s", "%s")'%(key, self.args[key])
-- elif isinstance(self.args[key], int):
-- print >>f, '\tcall pseti("%s", %d)'%(key, self.args[key])
-- elif isinstance(self.args[key], float):
-- print >> f, '\tcall psetr("%s", %0.2f)'%(key, self.args[key])
-- elif isinstance(self.args[key], list) :
-- if isinstance (self.args[key][0], str):
-- nb = 0
-- for v in self.args[key]:
-- nb = max(nb, len(v))
--
-- val = "(/"
-- sep = ""
-- newline = 70
-- for v in self.args[key]:
-- val += sep + self.quote(v.ljust(nb))
-- sep = ", "
-- if len(val) > newline :
-- sep = ",&\n\t\t"
-- newline = newline + 70
-- val += "/)"
-- print >>f, '\tcall pset1c("%s", %s, %d)'%(key, val, len(self.args[key]))
-- elif isinstance(self.args[key][0], int):
-- print "pset1i"
-- elif isinstance(self.args[key][0], float):
-- val = "(/"
-- sep = ""
-- for v in self.args[key]:
-- val += sep + ("%0.2f" % v)
-- sep = ", "
-- val += "/)"
-- print >>f, '\tcall pset1r("%s", %s, %d)'%(key, val, len(self.args[key]))
-- elif isinstance(self.args[key], numpy.ndarray) :
-- type = self.args[key].dtype
-- dim = len(self.args[key].shape)
-- if isinstance(self.args[key][0], int):
-- if (dim == 2) :
-- print "pset2i"
-- else :
-- print "pset1i"
-- elif ( type == 'float64' or type == 'float32') :
-- if (dim == 2) :
-- print "pset2r"
-- else :
-- val = "(/"
-- sep = ""
-- for v in self.args[key]:
-- val += sep + ("%0.2f" % v)
-- sep = ", "
-- val += "/)"
-- print >>f, '\tcall pset1r("%s", %s, %d)'%(key, val, len(self.args[key]))
-- elif isinstance(self.args[key][0], int):
-- print "pset1r"
-- else :
-- print "type???->", key
--
-- if self.action != None and actions[self.verb] != "" and actions[self.verb] != "pinput":
-- print >>f, "\tcall %s\n"%actions[self.verb]
-- for key in self.args.keys():
-- print >>f, "\tcall preset('%s')"%key
-- print >>f, ""
--
-- else:
-- print >>f, ""
--
--
-- def clean_object(self, obj):
--
-- if type(obj) in (int, float, str, bool, numpy.float64):
-- return obj
-- elif type(obj) == unicode:
-- return str(obj)
-- elif type(obj) in (list, tuple, set, numpy.ndarray):
-- if type(obj[0]) != unicode:
-- return obj
-- obj = list(obj)
-- for i,v in enumerate(obj):
-- obj[i] = self.clean_object(v)
-- elif type(obj) == dict:
-- for i,v in obj.iteritems():
-- obj[i] = self.clean_object(v)
-- else:
-- print "Invalid object in data, converting to string: "
-- print type(obj)
-- obj = str(obj)
-- return obj
--
--
-- def execute(self):
--
-- if ( self.action != Magics.odb) :
-- self.args = self.clean_object(self.args)
-- for key in self.args.keys():
-- if isinstance(self.args[key], str):
-- if key == 'odb_data':
-- Magics.setc('odb_filename', self.args[key])
-- else:
-- Magics.setc(key, self.args[key])
-- elif isinstance(self.args[key], int):
-- Magics.seti(key, self.args[key])
-- elif isinstance(self.args[key], float):
-- Magics.setr(key, self.args[key])
-- elif isinstance(self.args[key], list) :
-- if isinstance(self.args[key][0], str):
-- Magics.set1c(key, self.args[key])
-- elif isinstance(self.args[key][0], int):
-- Magics.set1i(key, numpy.array(self.args[key], dtype='i'))
-- elif isinstance(self.args[key][0], float):
-- Magics.set1r(key, numpy.array(self.args[key]))
-- elif isinstance(self.args[key], numpy.ndarray) :
-- type = self.args[key].dtype
-- dim = len(self.args[key].shape)
-- if isinstance(self.args[key][0], int):
-- if (dim == 2) :
-- Magics.set2i(key, self.args[key].copy())
-- else :
-- Magics.set1i(key, self.args[key].copy())
-- elif ( type == 'float64' or type == 'float32') :
-- if (dim == 2) :
-- Magics.set2r(key, self.args[key].copy())
-- else :
-- Magics.set1r(key, self.args[key].copy())
-- else :
-- print "type???->", key
--
-- else:
-- self.args[key].execute(key)
--
-- if self.action != None :
-- if self.action != Magics.new_page :
-- if self.action == Magics.legend :
-- Magics.setc("legend", "on")
-- self.action()
-- if self.action != Magics.obs and self.action != Magics.minput:
-- for key in self.args.keys():
-- Magics.reset(key)
-- else:
-- self.action("page")
-+ def __init__(self, verb, action, html, args):
-+ self.verb = verb
-+ self.action = action
-+ self.args = args
-+ if html == "":
-+ self.html = verb
-+ else:
-+ self.html = "<a href=/wiki/display/MAGP/%s target='_blank'>%s</a>"\
-+ % (html, verb)
-+
-+ def __repr__(self):
-+ x = ""
-+ for key in list(self.args.keys()):
-+ x = x + " %s = '%s'\n" % (key, self.args[key])
-+ return x
-+
-+ def inspect(self):
+ def inspect(self):
+- print self
+ print(self)
-+
-+ def quote(self, v):
-+ return "\"" + v + "\""
-+
-+ def tohtml(self, file):
-+ sep = ""
-+ val = "%s(" % self.html
-+
-+ for key in list(self.args.keys()):
-+ if isinstance(self.args[key], str):
-+ if key == 'odb_data':
-+ Magics.setc('odb_filename', self.args[key])
-+ else:
-+ val += '%s%s = "%s"' % (sep, key, self.args[key])
-+ elif isinstance(self.args[key], int):
-+ val += '%s%s = %d' % (sep, key, self.args[key])
-+ elif isinstance(self.args[key], float):
-+ val += '%s%s = %0.2f' % (sep, key, self.args[key])
-+ elif isinstance(self.args[key], list):
-+ if isinstance(self.args[key][0], str):
-+ vval = ""
-+ vsep = ""
-+ if len(self.args[key]) < 5:
-+ for v in self.args[key]:
-+ vval += vsep + self.quote(v)
-+ vsep = ", "
-+ else:
-+ vval = self.quote(self.args[key][0]) + ", " + \
-+ self.quote(self.args[key][1]) + ",...," + \
-+ self.quote(self.args[key][-2]) + ", " + \
-+ self.quote(self.args[key][-1])
-+ vval += ""
-+ val += '%s%s = [%s]' % (sep, key, vval)
-+ elif isinstance(self.args[key][0], int):
-+ vval = ""
-+ vsep = ""
-+ if len(self.args[key]) < 5:
-+ for v in self.args[key]:
-+ vval += vsep + ("%df" % v)
-+ vsep = ", "
-+ else:
-+ vval = ("%d" % self.args[key][0]) + ", " + \
-+ ("%d" % self.args[key][1]) + ",...," + \
-+ ("%d" % self.args[key][-2]) + ", " + \
-+ ("%d" % self.args[key][-1])
-+ vval += ""
-+ val += '%s%s = %s' % (sep, key, vval)
-+ elif isinstance(self.args[key][0], float):
-+ vval = ""
-+ vsep = ""
-+ if len(self.args[key]) < 5:
-+ for v in self.args[key]:
-+ vval += vsep + ("%0.2f" % v)
-+ vsep = ", "
-+ else:
-+ vval = ("%0.2f" % self.args[key][0]) + ", " + \
-+ ("%0.2f" % self.args[key][1]) + ",...," + \
-+ ("%0.2f" % self.args[key][-2]) + ", " + \
-+ ("%0.2f" % self.args[key][-1])
-+
-+ vval += ""
-+ val += '%s%s = [%s]' % (sep, key, vval)
-+ elif isinstance(self.args[key], numpy.ndarray):
-+ type = self.args[key].dtype
-+ dim = len(self.args[key].shape)
-+ if isinstance(self.args[key][0], int):
-+ if dim == 2:
-+ print("pset2i")
-+ else:
-+ print("pset1i")
-+ elif (type == 'float64' or type == 'float32'):
-+ if dim == 2:
-+ print("pset2r")
-+ else:
-+ vval = ""
-+ vsep = ""
-+ if len(self.args[key]) < 5:
-+ for v in self.args[key]:
-+ vval += vsep + ("%0.2f" % v)
-+ vsep = ", "
-+ else:
-+ vval = ("%0.2f" % self.args[key][0]) + ", " + \
-+ ("%0.2f" % self.args[key][1]) + ",...," + \
-+ ("%0.2f" % self.args[key][-2]) + ", " + \
-+ ("%0.2f" % self.args[key][-1])
-+ vval += ""
-+ val += '%s%s = [%s]' % (sep, key, vval)
-+ else:
-+ print("type???->", key)
-+ sep = ",\n\t"
-+
-+ print(val + ")\n", file=file)
-+
-+ def tomv4(self, file):
-+ sep = "\t"
-+ val = "%s,\n" % self.verb.upper()
-+
-+ for key in list(self.args.keys()):
-+ if isinstance(self.args[key], str):
-+ if key == 'odb_data':
-+ Magics.setc('odb_filename', self.args[key])
-+ else:
-+ val += '%s%s = %s' % \
-+ (sep, key.upper(), self.args[key].upper())
-+ elif isinstance(self.args[key], int):
-+ val += '%s%s = %d' % (sep, key.upper(), self.args[key])
-+ elif isinstance(self.args[key], float):
-+ val += '%s%s = %0.2f' % (sep, key.upper(), self.args[key])
-+ elif isinstance(self.args[key], list):
-+ if isinstance(self.args[key][0], str):
-+ vval = "["
-+ vsep = ""
-+ for v in self.args[key]:
-+ vval += vsep + v
-+ vsep = ", "
-+ vval += "]"
-+ val += '%s%s = %s' % (sep, key.upper(), vval)
-+ elif isinstance(self.args[key][0], int):
-+ print("pset1i")
-+ elif isinstance(self.args[key][0], float):
-+ print("pset1r")
-+ elif isinstance(self.args[key], numpy.ndarray):
-+ type = self.args[key].dtype
-+ dim = len(self.args[key].shape)
-+ if isinstance(self.args[key][0], int):
-+ if dim == 2:
-+ print("pset2i")
-+ else:
-+ print("pset1i")
-+ elif (type == 'float64' or type == 'float32'):
-+ if dim == 2:
-+ print("pset2r")
-+ else:
-+ vval = "["
-+ vsep = ""
-+ for v in self.args[key]:
-+ vval += vsep + ("%0.2f" % v)
-+ vsep = ", "
-+ vval += "]"
-+ val += '%s%s = %s' % (sep, key.upper(), vval)
-+
-+ else:
-+ print("type???->", key)
-+ sep = ",\n\t"
-+
-+ print(val + "\n", file=file)
-+
-+ def tofortran(self, f):
-+ if self.action == Magics.new_page:
-+ print('\tcall pnew("page")', file=f)
-+ return
-+ for key in list(self.args.keys()):
-+ if isinstance(self.args[key], str):
-+ if key == 'odb_data':
-+ Magics.setc('odb_filename', self.args[key])
-+ else:
-+ print('\tcall psetc("%s", "%s")' % (key, self.args[key]),
-+ file=f)
-+ elif isinstance(self.args[key], int):
-+ print('\tcall pseti("%s", %d)' % (key, self.args[key]),
-+ file=f)
-+ elif isinstance(self.args[key], float):
-+ print('\tcall psetr("%s", %0.2f)' % (key, self.args[key]),
-+ file=f)
-+ elif isinstance(self.args[key], list):
-+ if isinstance(self.args[key][0], str):
-+ nb = 0
-+ for v in self.args[key]:
-+ nb = max(nb, len(v))
-+ val = "(/"
-+ sep = ""
-+ newline = 70
-+ for v in self.args[key]:
-+ val += sep + self.quote(v.ljust(nb))
-+ sep = ", "
-+ if len(val) > newline:
-+ sep = ",&\n\t\t"
-+ newline = newline + 70
-+ val += "/)"
-+ print('\tcall pset1c("%s", %s, %d)' %
-+ (key, val, len(self.args[key])),
-+ file=f)
-+ elif isinstance(self.args[key][0], int):
-+ print("pset1i")
-+ elif isinstance(self.args[key][0], float):
-+ val = "(/"
-+ sep = ""
-+ for v in self.args[key]:
-+ val += sep + ("%0.2f" % v)
-+ sep = ", "
-+ val += "/)"
-+ print('\tcall pset1r("%s", %s, %d)' %
-+ (key, val, len(self.args[key])),
-+ file=f)
-+ elif isinstance(self.args[key], numpy.ndarray):
-+ type = self.args[key].dtype
-+ dim = len(self.args[key].shape)
-+ if isinstance(self.args[key][0], int):
-+ if dim == 2:
-+ print("pset2i")
-+ else:
-+ print("pset1i")
-+ elif (type == 'float64' or type == 'float32'):
-+ if dim == 2:
-+ print("pset2r")
-+ else:
-+ val = "(/"
-+ sep = ""
-+ for v in self.args[key]:
-+ val += sep + ("%0.2f" % v)
-+ sep = ", "
-+ val += "/)"
-+ print('\tcall pset1r("%s", %s, %d)' %
-+ (key, val, len(self.args[key])),
-+ file=f)
-+ elif isinstance(self.args[key][0], int):
-+ print("pset1r")
-+ else:
-+ print("type???->", key)
-+
-+ if (self.action is not None) and (actions[self.verb] != "") and \
-+ (actions[self.verb] != "pinput"):
-+ print("\tcall %s\n" % actions[self.verb], file=f)
-+ for key in list(self.args.keys()):
-+ print("\tcall preset('%s')" % key, file=f)
-+ print("", file=f)
-+
-+ else:
-+ print("", file=f)
-+
-+ def clean_object(self, obj):
-+
-+ if type(obj) in (int, float, str, bool, numpy.float64):
-+ return obj
-+ elif type(obj) == unicode:
-+ return str(obj)
-+ elif type(obj) in (list, tuple, set, numpy.ndarray):
-+ if (type(obj[0]) != unicode) and (type(obj[0]) != str):
-+ return obj
-+ obj = list(obj)
-+ for i, v in enumerate(obj):
-+ obj[i] = self.clean_object(v)
-+ elif type(obj) == dict:
-+ for i, v in iteritems(obj):
-+ obj[i] = self.clean_object(v)
-+ else:
-+ print("Invalid object in data, converting to string: ")
-+ print(type(obj))
-+ obj = str(obj)
-+ return obj
-+
-+ def execute(self):
-+
-+ if self.action != Magics.odb:
-+ self.args = self.clean_object(self.args)
-+ for key in list(self.args.keys()):
-+ if isinstance(self.args[key], str):
-+ if key == 'odb_data':
-+ Magics.setc('odb_filename', self.args[key])
-+ else:
-+ Magics.setc(key, self.args[key])
-+ elif isinstance(self.args[key], int):
-+ Magics.seti(key, self.args[key])
-+ elif isinstance(self.args[key], float):
-+ Magics.setr(key, self.args[key])
-+ elif isinstance(self.args[key], list):
-+ if isinstance(self.args[key][0], str):
-+ Magics.set1c(key, self.args[key])
-+ elif isinstance(self.args[key][0], int):
-+ Magics.set1i(key, numpy.array(self.args[key], dtype='i'))
-+ elif isinstance(self.args[key][0], float):
-+ Magics.set1r(key, numpy.array(self.args[key]))
-+ elif isinstance(self.args[key], numpy.ndarray):
-+ type = self.args[key].dtype
-+ dim = len(self.args[key].shape)
-+ if isinstance(self.args[key][0], int):
-+ if dim == 2:
-+ Magics.set2i(key, self.args[key].copy())
-+ else:
-+ Magics.set1i(key, self.args[key].copy())
-+ elif (type == 'float64' or type == 'float32'):
-+ if dim == 2:
-+ Magics.set2r(key, self.args[key].copy())
-+ else:
-+ Magics.set1r(key, self.args[key].copy())
-+ else:
-+ print("type???->", key)
-+
-+ else:
-+ self.args[key].execute(key)
-+
-+ if self.action is not None:
-+ if self.action != Magics.new_page:
-+ if self.action == Magics.legend:
-+ Magics.setc("legend", "on")
-+ self.action()
-+ if self.action != Magics.obs and self.action != Magics.minput:
-+ for key in list(self.args.keys()):
-+ Magics.reset(key)
-+ else:
-+ self.action("page")
-+
- def make_action(verb, action, html=""):
-- def f(_m = None,**kw):
-- args = {}
-- if _m is not None:
-- args.update(_m)
-- args.update(kw)
-- return Action(verb, action, html, args)
-- return f
-+ def f(_m=None, **kw):
-+ args = {}
-+ if _m is not None:
-+ args.update(_m)
-+ args.update(kw)
-+ return Action(verb, action, html, args)
-+ return f
-
- mcoast = make_action("mcoast", Magics.coast, "Coastlines")
- pcoast = make_action("pcoast", Magics.coast)
-@@ -385,7 +397,7 @@ mmapgen = make_action("mmapgen", Magics.
+ def quote(self, v):
+ return "\"" + v + "\""
+@@ -128,12 +131,12 @@ class Action(object):
+ dim = len(self.args[key].shape)
+ if isinstance(self.args[key][0], int):
+ if (dim == 2) :
+- print "pset2i"
++ print ("pset2i" )
+ else :
+- print "pset1i"
++ print ("pset1i" )
+ elif ( type == 'float64' or type == 'float32') :
+ if (dim == 2) :
+- print "pset2r"
++ print ("pset2r" )
+ else :
+ vval = ""
+ vsep = ""
+@@ -146,10 +149,10 @@ class Action(object):
+ vval += ""
+ val+= '%s%s = [%s]'%(sep, key, vval)
+ else :
+- print "type???->", key
++ print ("type???->", key)
+ sep=",\n\t"
+
+- print >>file, val + ")\n"
++ print (val + ")\n" (file=file)
+
+ def tomv4(self, file):
+ sep="\t"
+@@ -175,20 +178,20 @@ class Action(object):
+ vval += "]"
+ val+= '%s%s = %s'%(sep, key.upper(), vval)
+ elif isinstance(self.args[key][0], int):
+- print "pset1i"
++ print ("pset1i")
+ elif isinstance(self.args[key][0], float):
+- print "pset1r"
++ print ("pset1r" )
+ elif isinstance(self.args[key], numpy.ndarray) :
+ type = self.args[key].dtype
+ dim = len(self.args[key].shape)
+ if isinstance(self.args[key][0], int):
+ if (dim == 2) :
+- print "pset2i"
++ print ("pset2i" )
+ else :
+- print "pset1i"
++ print ("pset1i" )
+ elif ( type == 'float64' or type == 'float32') :
+ if (dim == 2) :
+- print "pset2r"
++ print ("pset2r" )
+ else :
+ vval = "["
+ vsep = ""
+@@ -199,10 +202,10 @@ class Action(object):
+ val+= '%s%s = %s'%(sep, key.upper(), vval)
+
+ else :
+- print "type???->", key
++ print ("type???->", key)
+ sep=",\n\t"
+
+- print >> file, val + "\n"
++ print ( val + "\n", file=file)
+
+
+
+@@ -210,7 +213,7 @@ class Action(object):
+
+ def tofortran(self, f):
+ if self.action == Magics.new_page :
+- print >> f, '\tcall pnew("page")'
++ print ('\tcall pnew("page")', file=f)
+ return
+ for key in self.args.keys():
+ if isinstance(self.args[key], str):
+@@ -385,7 +388,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")
@@ -1723,153 +1085,10 @@ Index: magics++-2.29.6/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")
-@@ -426,75 +438,82 @@ mtephi = make_action("mtephi", Magics.te
- mmetgraph = make_action("mmetgraph", Magics.mmetgraph)
- mmetbufr = make_action("mmetbufr", Magics.mmetbufr)
-
-+
- def examine(*args):
-- for n in args:
-- try :
-- n.inspect()
-- except:
-- break
-+ for n in args:
-+ try:
-+ n.inspect()
-+ except:
-+ break
-
-
- def plot(*args):
-- Magics.init()
-- for n in args:
-- if isinstance(n, list):
-- for nn in n:
-- nn.execute()
-- else:
-- n.execute()
--
-- #Collect the drivers!
-- Magics.finalize()
-- for f in context.tmp:
-- if os.path.exists(f):
-- os.remove(f)
-+ Magics.init()
-+ for n in args:
-+ if isinstance(n, list):
-+ for nn in n:
-+ nn.execute()
-+ else:
-+ n.execute()
-+
-+ # Collect the drivers!
-+ Magics.finalize()
-+ for f in context.tmp:
-+ if os.path.exists(f):
-+ os.remove(f)
-
-
- def tofortran(file, *args):
-- f = open(file+".f90",'w')
-- print >>f, "\tprogram magics\n"
-- print >>f, "\tcall popen\n"
-- for n in args:
-- n.tofortran(f)
-- print >>f, "\tcall pclose\n"
-- print >>f, "\tend"
-+ f = open(file+".f90", 'w')
-+ print("\tprogram magics\n", file=f)
-+ print("\tcall popen\n", file=f)
-+ for n in args:
-+ n.tofortran(f)
-+ print("\tcall pclose\n", file=f)
-+ print("\tend", file=f)
-
-
- def tohtml(file, *args):
-- f = open(file+".html",'w')
-- print >>f, "<html>"
-- for n in args:
-- n.tohtml(f)
-- print >>f, "</html>"
-+ f = open(file+".html", 'w')
-+ print("<html>", file=f)
-+ for n in args:
-+ n.tohtml(f)
-+ print("</html>", file=f)
-+
-
- def tomv4(file, *args):
-- f = open(file+".mv4",'w')
-- for n in args:
-- n.tomv4(f)
--
--class odb_filter(object):
-- def __init__(self, _m = None,**kw):
-- args = {}
-- self.verb = "odbfilter"
-- if _m is not None:
-- args.update(_m)
-- self.args = args
-- def execute(self, key):
-- file = "data%d" % numpy.random.randint(1,1000)
-- odb = "%s.odb" % file
-- context.tmp.append(odb)
-- cmd = "odbsql -q \"" + self.args["query"] + "\" -i " + self.args["path"] + " -f newodb -o " + odb
-- print cmd
-- if (os.system(cmd)) :
-- print "Error in filtering ODB data... Aborting"
-- os.abort();
-- Magics.setc('odb_filename', odb)
-- def inspect(self):
-- cmd = "odbsql -q \"" + self.args["query"] + "\" -i " + self.args["path"] + " -o data.ascii"
-- if (os.system(cmd)) :
-- print "Error in filtering ODB data... Aborting"
-- os.abort();
-- cmd = os.environ['ODB_REPORTER'] + " %s" % "data.ascii"
-- if (os.system(cmd)) :
-- print "Error in viewing ODB data... Aborting"
-- os.abort();
-+ f = open(file+".mv4", 'w')
-+ for n in args:
-+ n.tomv4(f)
-+
-+
-+class odb_filter(object):
-+ def __init__(self, _m=None, **kw):
-+ args = {}
-+ self.verb = "odbfilter"
-+ if _m is not None:
-+ args.update(_m)
-+ self.args = args
-+
-+ def execute(self, key):
-+ file = "data%d" % numpy.random.randint(1, 1000)
-+ odb = "%s.odb" % file
-+ context.tmp.append(odb)
-+ cmd = "odbsql -q \"" + self.args["query"] + "\" -i " + \
-+ self.args["path"] + " -f newodb -o " + odb
-+ print(cmd)
-+ if (os.system(cmd)):
-+ print("Error in filtering ODB data... Aborting")
-+ os.abort()
-+ Magics.setc('odb_filename', odb)
-+
-+ def inspect(self):
-+ cmd = "odbsql -q \"" + self.args["query"] + "\" -i " + \
-+ self.args["path"] + " -o data.ascii"
-+ if os.system(cmd):
-+ print("Error in filtering ODB data... Aborting")
-+ os.abort()
-+ cmd = os.environ['ODB_REPORTER'] + " %s" % "data.ascii"
-+ if os.system(cmd):
-+ print("Error in viewing ODB data... Aborting")
-+ os.abort()
-Index: magics++-2.29.6/python/Magics/metgram.py
+Index: magics++-2.30.0/python/Magics/metgram.py
===================================================================
---- magics++-2.29.6.orig/python/Magics/metgram.py
-+++ magics++-2.29.6/python/Magics/metgram.py
+--- magics++-2.30.0.orig/python/Magics/metgram.py
++++ magics++-2.30.0/python/Magics/metgram.py
@@ -1,11 +1,12 @@
# (C) Copyright 1996-2016 ECMWF.
-#
@@ -2310,10 +1529,10 @@ Index: magics++-2.29.6/python/Magics/metgram.py
msl = msl()
wind = wind()
-
-Index: magics++-2.29.6/test/cairo.py
+Index: magics++-2.30.0/test/cairo.py
===================================================================
---- magics++-2.29.6.orig/test/cairo.py
-+++ magics++-2.29.6/test/cairo.py
+--- magics++-2.30.0.orig/test/cairo.py
++++ magics++-2.30.0/test/cairo.py
@@ -8,6 +8,8 @@
# importing Magics module
@@ -2332,10 +1551,10 @@ Index: magics++-2.29.6/test/cairo.py
plot( output, europe, coast, )
tofortran(ref, output, europe, coast, )
-Index: magics++-2.29.6/test/bufr.py
+Index: magics++-2.30.0/test/bufr.py
===================================================================
---- magics++-2.29.6.orig/test/bufr.py
-+++ magics++-2.29.6/test/bufr.py
+--- magics++-2.30.0.orig/test/bufr.py
++++ magics++-2.30.0/test/bufr.py
@@ -8,6 +8,7 @@
# importing Magics module
@@ -2353,10 +1572,10 @@ Index: magics++-2.29.6/test/bufr.py
plot( output, europe, obs, coast, )
tofortran(ref, output, europe, obs, coast, )
-Index: magics++-2.29.6/test/coast.py
+Index: magics++-2.30.0/test/coast.py
===================================================================
---- magics++-2.29.6.orig/test/coast.py
-+++ magics++-2.29.6/test/coast.py
+--- magics++-2.30.0.orig/test/coast.py
++++ magics++-2.30.0/test/coast.py
@@ -8,6 +8,7 @@
# importing Magics module
@@ -2365,10 +1584,10 @@ Index: magics++-2.29.6/test/coast.py
from Magics.macro import *
-Index: magics++-2.29.6/test/grib.py
+Index: magics++-2.30.0/test/grib.py
===================================================================
---- magics++-2.29.6.orig/test/grib.py
-+++ magics++-2.29.6/test/grib.py
+--- magics++-2.30.0.orig/test/grib.py
++++ magics++-2.30.0/test/grib.py
@@ -8,6 +8,7 @@
# importing Magics module
@@ -2386,10 +1605,10 @@ Index: magics++-2.29.6/test/grib.py
plot( output, europe, data, cont, coast, title)
-Index: magics++-2.29.6/python/Magics.i.in
+Index: magics++-2.30.0/python/Magics.i.in
===================================================================
---- magics++-2.29.6.orig/python/Magics.i.in
-+++ magics++-2.29.6/python/Magics.i.in
+--- magics++-2.30.0.orig/python/Magics.i.in
++++ magics++-2.30.0/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 e4aab6a..3745315 100644
--- a/debian/patches/reproducibility.patch
+++ b/debian/patches/reproducibility.patch
@@ -7,10 +7,10 @@ Bugs-Debian: https://bugs.debian.org/792824
Last-Updated: 2016-01-07
Forwarded: no
-Index: magics++-2.29.6/tools/xml2cc.pl
+Index: magics++-2.30.0/tools/xml2cc.pl
===================================================================
---- magics++-2.29.6.orig/tools/xml2cc.pl
-+++ magics++-2.29.6/tools/xml2cc.pl
+--- magics++-2.30.0.orig/tools/xml2cc.pl
++++ magics++-2.30.0/tools/xml2cc.pl
@@ -10,6 +10,11 @@
use XML::Parser;
@@ -32,10 +32,10 @@ Index: magics++-2.29.6/tools/xml2cc.pl
{
print "#include \"$i.h\"\n";
}
-Index: magics++-2.29.6/tools/xml2mv.pl
+Index: magics++-2.30.0/tools/xml2mv.pl
===================================================================
---- magics++-2.29.6.orig/tools/xml2mv.pl
-+++ magics++-2.29.6/tools/xml2mv.pl
+--- magics++-2.30.0.orig/tools/xml2mv.pl
++++ magics++-2.30.0/tools/xml2mv.pl
@@ -11,9 +11,12 @@
use XML::Parser;
diff --git a/debian/patches/rm-ksh.patch b/debian/patches/rm-ksh.patch
index fb2802b..eeebfa5 100644
--- a/debian/patches/rm-ksh.patch
+++ b/debian/patches/rm-ksh.patch
@@ -3,30 +3,30 @@ Description: Remove ksh, as unsupported in Debian right now
Last-Updated: 2016-11-13
Forwarded: not-needed
-Index: magics++-2.29.6/apps/MagMLInterpretor/magjson-script.in
+Index: magics++-2.30.0/apps/MagMLInterpretor/magjson-script.in
===================================================================
---- magics++-2.29.6.orig/apps/MagMLInterpretor/magjson-script.in
-+++ magics++-2.29.6/apps/MagMLInterpretor/magjson-script.in
+--- magics++-2.30.0.orig/apps/MagMLInterpretor/magjson-script.in
++++ magics++-2.30.0/apps/MagMLInterpretor/magjson-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
#set -x
# Platform dependent variables
-Index: magics++-2.29.6/apps/MagMLInterpretor/magml-script.in
+Index: magics++-2.30.0/apps/MagMLInterpretor/magml-script.in
===================================================================
---- magics++-2.29.6.orig/apps/MagMLInterpretor/magml-script.in
-+++ magics++-2.29.6/apps/MagMLInterpretor/magml-script.in
+--- magics++-2.30.0.orig/apps/MagMLInterpretor/magml-script.in
++++ magics++-2.30.0/apps/MagMLInterpretor/magml-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
#set -x
# Platform dependent variables
-Index: magics++-2.29.6/apps/metgram/metgram-script.in
+Index: magics++-2.30.0/apps/metgram/metgram-script.in
===================================================================
---- magics++-2.29.6.orig/apps/metgram/metgram-script.in
-+++ magics++-2.29.6/apps/metgram/metgram-script.in
+--- magics++-2.30.0.orig/apps/metgram/metgram-script.in
++++ magics++-2.30.0/apps/metgram/metgram-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
diff --git a/debian/patches/soname-version.patch b/debian/patches/soname-version.patch
index 4e3b9eb..9d3b0b8 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.6/src/CMakeLists.txt
+Index: magics++-2.30.0/src/CMakeLists.txt
===================================================================
---- magics++-2.29.6.orig/src/CMakeLists.txt
-+++ magics++-2.29.6/src/CMakeLists.txt
+--- magics++-2.30.0.orig/src/CMakeLists.txt
++++ magics++-2.30.0/src/CMakeLists.txt
@@ -122,6 +122,9 @@ ecbuild_add_library( TARGET MagPlus
${common_templates}
DEFINITIONS
@@ -36,10 +36,10 @@ Index: magics++-2.29.6/src/CMakeLists.txt
TYPE SHARED )
if ( BUILD_SHARED_LIBS STREQUAL "BOTH" )
-Index: magics++-2.29.6/cmake/ecbuild_add_library.cmake
+Index: magics++-2.30.0/cmake/ecbuild_add_library.cmake
===================================================================
---- magics++-2.29.6.orig/cmake/ecbuild_add_library.cmake
-+++ magics++-2.29.6/cmake/ecbuild_add_library.cmake
+--- magics++-2.30.0.orig/cmake/ecbuild_add_library.cmake
++++ magics++-2.30.0/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 fe45576..755f0ec 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.6/src/CMakeLists.txt
+Index: magics++-2.30.0/src/CMakeLists.txt
===================================================================
---- magics++-2.29.6.orig/src/CMakeLists.txt
-+++ magics++-2.29.6/src/CMakeLists.txt
+--- magics++-2.30.0.orig/src/CMakeLists.txt
++++ magics++-2.30.0/src/CMakeLists.txt
@@ -92,7 +92,6 @@ add_subdirectory( web )
add_subdirectory( visualisers )
add_subdirectory( drivers )
diff --git a/debian/patches/unique-ptr.patch b/debian/patches/unique-ptr.patch
index f544528..1f1c765 100644
--- a/debian/patches/unique-ptr.patch
+++ b/debian/patches/unique-ptr.patch
@@ -4,10 +4,10 @@ Description: For G++ 6, we move to c++14, auto_ptr is deprecated.
Last-Updated: 2016-11-01
Forwarded: no
-Index: magics++-2.29.6/src/basic/ParameterSettings.cc
+Index: magics++-2.30.0/src/basic/ParameterSettings.cc
===================================================================
---- magics++-2.29.6.orig/src/basic/ParameterSettings.cc
-+++ magics++-2.29.6/src/basic/ParameterSettings.cc
+--- magics++-2.30.0.orig/src/basic/ParameterSettings.cc
++++ magics++-2.30.0/src/basic/ParameterSettings.cc
@@ -51,7 +51,7 @@ void setAttribute(const vector<string>&
}
}
@@ -26,10 +26,10 @@ Index: magics++-2.29.6/src/basic/ParameterSettings.cc
}
}
-Index: magics++-2.29.6/src/basic/ParameterSettings.h
+Index: magics++-2.30.0/src/basic/ParameterSettings.h
===================================================================
---- magics++-2.29.6.orig/src/basic/ParameterSettings.h
-+++ magics++-2.29.6/src/basic/ParameterSettings.h
+--- magics++-2.30.0.orig/src/basic/ParameterSettings.h
++++ magics++-2.30.0/src/basic/ParameterSettings.h
@@ -24,10 +24,10 @@
#include <Colour.h>
@@ -79,10 +79,10 @@ Index: magics++-2.29.6/src/basic/ParameterSettings.h
MagLog::debug() << "Parameter [" << name << "] set to " << val->second << endl;
}
catch (...) {
-Index: magics++-2.29.6/src/decoders/GribDecoder.cc
+Index: magics++-2.30.0/src/decoders/GribDecoder.cc
===================================================================
---- magics++-2.29.6.orig/src/decoders/GribDecoder.cc
-+++ magics++-2.29.6/src/decoders/GribDecoder.cc
+--- magics++-2.30.0.orig/src/decoders/GribDecoder.cc
++++ magics++-2.30.0/src/decoders/GribDecoder.cc
@@ -90,7 +90,7 @@ void GribDecoder::set(const GribLoop& lo
index_ = loop.uniqueId_;
interpolation_method_ = loop.interpolation_method_;
@@ -101,10 +101,10 @@ Index: magics++-2.29.6/src/decoders/GribDecoder.cc
interpretor_->scaling(*this, scaling, offset,oriUnits,derivedUnits);
if(scaling==1 && offset == 0)
{
-Index: magics++-2.29.6/src/decoders/TitleTemplate.cc
+Index: magics++-2.30.0/src/decoders/TitleTemplate.cc
===================================================================
---- magics++-2.29.6.orig/src/decoders/TitleTemplate.cc
-+++ magics++-2.29.6/src/decoders/TitleTemplate.cc
+--- magics++-2.30.0.orig/src/decoders/TitleTemplate.cc
++++ magics++-2.30.0/src/decoders/TitleTemplate.cc
@@ -171,7 +171,7 @@ bool TitleTemplate::verify(const GribDec
//#ifdef MAGICS_EXCEPTION
try{
@@ -114,10 +114,10 @@ Index: magics++-2.29.6/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.29.6/src/decoders/TitleTemplate.h
+Index: magics++-2.30.0/src/decoders/TitleTemplate.h
===================================================================
---- magics++-2.29.6.orig/src/decoders/TitleTemplate.h
-+++ magics++-2.29.6/src/decoders/TitleTemplate.h
+--- magics++-2.30.0.orig/src/decoders/TitleTemplate.h
++++ magics++-2.30.0/src/decoders/TitleTemplate.h
@@ -122,7 +122,7 @@ public:
#ifdef MAGICS_EXCEPTION
try
@@ -127,10 +127,10 @@ Index: magics++-2.29.6/src/decoders/TitleTemplate.h
(*object)(*(*entry), lines, data);
}
catch (NoFactoryException& e)
-Index: magics++-2.29.6/src/libMagWrapper/MagPlus.cc
+Index: magics++-2.30.0/src/libMagWrapper/MagPlus.cc
===================================================================
---- magics++-2.29.6.orig/src/libMagWrapper/MagPlus.cc
-+++ magics++-2.29.6/src/libMagWrapper/MagPlus.cc
+--- magics++-2.30.0.orig/src/libMagWrapper/MagPlus.cc
++++ magics++-2.30.0/src/libMagWrapper/MagPlus.cc
@@ -558,7 +558,7 @@ bool MagPlus::cartesianGrid(magics::MagR
haxis->icon("Horizontal Axis", "MAXIS");
haxis->label_type_ = xtype;
@@ -158,10 +158,10 @@ Index: magics++-2.29.6/src/libMagWrapper/MagPlus.cc
node->getReady();
//top()->legend(node);
if ( geographical_ ) {
-Index: magics++-2.29.6/src/magics.h
+Index: magics++-2.30.0/src/magics.h
===================================================================
---- magics++-2.29.6.orig/src/magics.h
-+++ magics++-2.29.6/src/magics.h
+--- magics++-2.30.0.orig/src/magics.h
++++ magics++-2.30.0/src/magics.h
@@ -106,7 +106,7 @@ using std::pair;
//using std::list;
using std::map;
@@ -171,10 +171,10 @@ Index: magics++-2.29.6/src/magics.h
#include <exception>
-Index: magics++-2.29.6/src/visualisers/AutomaticContourMethod.h
+Index: magics++-2.30.0/src/visualisers/AutomaticContourMethod.h
===================================================================
---- magics++-2.29.6.orig/src/visualisers/AutomaticContourMethod.h
-+++ magics++-2.29.6/src/visualisers/AutomaticContourMethod.h
+--- magics++-2.30.0.orig/src/visualisers/AutomaticContourMethod.h
++++ magics++-2.30.0/src/visualisers/AutomaticContourMethod.h
@@ -228,7 +228,7 @@ public:
//SampleContourMethod *am = static_cast < SampleContourMethod *> (MagTranslator<string, ContourMethod >()("sampling"));
SampleContourMethod *am =new SampleContourMethod();
@@ -211,10 +211,10 @@ Index: magics++-2.29.6/src/visualisers/AutomaticContourMethod.h
pAkima760Method->resolutionX_ = (fContourResolutionX);
pAkima760Method->resolutionY_ = (fContourResolutionY);
-Index: magics++-2.29.6/src/visualisers/CalculateColourTechnique.cc
+Index: magics++-2.30.0/src/visualisers/CalculateColourTechnique.cc
===================================================================
---- magics++-2.29.6.orig/src/visualisers/CalculateColourTechnique.cc
-+++ magics++-2.29.6/src/visualisers/CalculateColourTechnique.cc
+--- magics++-2.30.0.orig/src/visualisers/CalculateColourTechnique.cc
++++ magics++-2.30.0/src/visualisers/CalculateColourTechnique.cc
@@ -52,8 +52,8 @@ void CalculateColourTechnique::print(ost
void CalculateColourTechnique::set(const ColourTechniqueInterface& attributes)
@@ -226,10 +226,10 @@ Index: magics++-2.29.6/src/visualisers/CalculateColourTechnique.cc
direction_ = attributes.getDirection();
}
-Index: magics++-2.29.6/src/visualisers/LabelPlotting.cc
+Index: magics++-2.30.0/src/visualisers/LabelPlotting.cc
===================================================================
---- magics++-2.29.6.orig/src/visualisers/LabelPlotting.cc
-+++ magics++-2.29.6/src/visualisers/LabelPlotting.cc
+--- magics++-2.30.0.orig/src/visualisers/LabelPlotting.cc
++++ magics++-2.30.0/src/visualisers/LabelPlotting.cc
@@ -41,7 +41,7 @@ void LabelPlotting::prepare(NoGridPlotti
if ( *colour_ == "UNDEFINED" ) {
@@ -239,10 +239,10 @@ Index: magics++-2.29.6/src/visualisers/LabelPlotting.cc
}
if ( longitudes_.empty() )
-Index: magics++-2.29.6/tools/xml2cc.pl
+Index: magics++-2.30.0/tools/xml2cc.pl
===================================================================
---- magics++-2.29.6.orig/tools/xml2cc.pl
-+++ magics++-2.29.6/tools/xml2cc.pl
+--- magics++-2.30.0.orig/tools/xml2cc.pl
++++ magics++-2.30.0/tools/xml2cc.pl
@@ -298,7 +298,7 @@ EOF
}
else
@@ -261,10 +261,10 @@ Index: magics++-2.29.6/tools/xml2cc.pl
}
print "";
-Index: magics++-2.29.6/tools/xml2cc.pl.workshop
+Index: magics++-2.30.0/tools/xml2cc.pl.workshop
===================================================================
---- magics++-2.29.6.orig/tools/xml2cc.pl.workshop
-+++ magics++-2.29.6/tools/xml2cc.pl.workshop
+--- magics++-2.30.0.orig/tools/xml2cc.pl.workshop
++++ magics++-2.30.0/tools/xml2cc.pl.workshop
@@ -315,7 +315,7 @@ EOF
{
print <<EOF;
@@ -283,10 +283,10 @@ Index: magics++-2.29.6/tools/xml2cc.pl.workshop
}
}
-Index: magics++-2.29.6/tools/xml2mv.pl
+Index: magics++-2.30.0/tools/xml2mv.pl
===================================================================
---- magics++-2.29.6.orig/tools/xml2mv.pl
-+++ magics++-2.29.6/tools/xml2mv.pl
+--- magics++-2.30.0.orig/tools/xml2mv.pl
++++ magics++-2.30.0/tools/xml2mv.pl
@@ -447,7 +447,7 @@ EOF
{
--
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