[magics] 03/63: merge dev-cmake work and add python3 detection
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Mar 24 10:41:41 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 039e1a62d1673fbfe1d5b521e51a5c656855fec5
Merge: a80675e 0d52f14
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Tue May 19 11:43:54 2015 +0100
merge dev-cmake work and add python3 detection
.cproject | 61 +
.gitignore | 21 +
.project | 27 +
AUTHORS | 6 +-
CMakeLists.txt | 434 +
COPYING | 202 +-
LICENSE_for_source_files | 14 +
Makefile.am | 82 -
Makefile.in | 948 -
NOTICE | 52 +
VERSION.cmake | 9 +
aclocal.m4 | 1374 --
apps/CMakeLists.txt | 4 +
apps/MagMLInterpretor/CMakeLists.txt | 32 +
apps/MagMLInterpretor/Makefile.am | 27 -
apps/MagMLInterpretor/Makefile.in | 633 -
apps/MagMLInterpretor/grib.template | 37 +
apps/MagMLInterpretor/gribview | 77 +
apps/MagMLInterpretor/json.cc | 70 +-
apps/MagMLInterpretor/magjson-script.in | 11 +
apps/MagMLInterpretor/magml-script.in | 11 +
apps/MagMLInterpretor/magml.cc | 2 +-
apps/MagMLInterpretor/test.magml | 17 +
apps/MagMLInterpretor/web.magml | 39 +
apps/Makefile.am | 5 -
apps/Makefile.in | 644 -
apps/metgram/10_days_epsgram.xml | 166 -
apps/metgram/10_days_metgram_a3.xml | 161 +
apps/metgram/10_days_wave_epsgram_a3.xml | 206 +
apps/metgram/15_days_epsgram.xml | 182 -
apps/metgram/CMakeLists.txt | 24 +
apps/metgram/Makefile.am | 43 -
apps/metgram/Makefile.in | 724 -
apps/metgram/anna.pl | 577 +
apps/metgram/efiserver.pl | 579 +
apps/metgram/eps.xml | 154 +
apps/metgram/epsserver.pl | 577 +
apps/metgram/epswind.xml | 9 +
apps/metgram/magplusserver.pl | 610 +
apps/metgram/metgram | 2 +-
apps/metgram/metgram-script.in | 10 +
apps/metgram/metgram.xml | 2 +
apps/metgram/metview_metgramserver.pl | 606 +
apps/metgram/multi_metgrams.xml | 1510 ++
apps/metgram/multi_metgrams_page1.xml | 1511 ++
apps/metgram/multi_metgrams_page2.xml | 1510 ++
apps/metgram/multi_metgrams_page3.xml | 1510 ++
apps/metgram/multi_metgrams_page4.xml | 1518 ++
apps/metgram/templates/10_days_epsgram.xml | 170 +
.../metgram/{ => templates}/10_days_epsgram_a3.xml | 0
apps/metgram/{ => templates}/10_days_metgram.xml | 0
.../{ => templates}/10_days_wave_epsgram.xml | 0
apps/metgram/templates/15_days_epsgram.xml | 184 +
.../metgram/{ => templates}/15_days_epsgram_a3.xml | 0
.../{ => templates}/15_days_with_clim_epsgram.xml | 0
apps/metgram/{ => templates}/classic_plumes.json | 0
apps/metgram/{ => templates}/efi_distribution.xml | 0
.../{ => templates}/new_efi_distribution.xml | 0
apps/metgram/tigge_epsgram.xml | 163 +
apps/metgram/wave10.xml | 9 +
apps/metgram/wave10_a3.xml | 9 +
cmake/2.8/CMakePushCheckState.cmake | 61 +
cmake/CMakeLists.txt | 5 +
cmake/CheckFortranCompilerFlag.cmake | 37 +
cmake/CheckFortranSourceCompiles.cmake | 94 +
cmake/FindADSM.cmake | 43 +
cmake/FindAEC.cmake | 34 +
cmake/FindAIO.cmake | 66 +
cmake/FindArmadillo.cmake | 33 +
cmake/FindCMath.cmake | 23 +
cmake/FindCairo.cmake | 58 +
cmake/FindDl.cmake | 20 +
cmake/FindEMOS.cmake | 37 +
cmake/FindEcLib.cmake | 49 +
cmake/FindEcregrid.cmake | 48 +
cmake/FindFDB.cmake | 35 +
cmake/FindGeoTIFF.cmake | 37 +
cmake/FindHPSS.cmake | 39 +
cmake/FindLEX.cmake | 129 +
cmake/FindLegacyFDB.cmake | 35 +
cmake/FindLibGFortran.cmake | 52 +
cmake/FindNDBM.cmake | 34 +
cmake/FindNetCDF.cmake | 167 +
cmake/FindNetCDF3.cmake | 129 +
cmake/FindODB.cmake | 53 +
cmake/FindOpenJPEG.cmake | 43 +
cmake/FindPGIFortran.cmake | 46 +
cmake/FindPango.cmake | 33 +
cmake/FindPangoCairo.cmake | 91 +
cmake/FindProj4.cmake | 67 +
cmake/FindREADLINE.cmake | 87 +
cmake/FindRPCGEN.cmake | 20 +
cmake/FindRealtime.cmake | 22 +
cmake/FindSZip.cmake | 32 +
cmake/FindScin.cmake | 48 +
cmake/FindTrilinos.cmake | 52 +
cmake/FindXLFortranLibs.cmake | 49 +
cmake/FindYACC.cmake | 157 +
cmake/Findgrib_api.cmake | 135 +
cmake/Findodb_api.cmake | 99 +
cmake/Findspot.cmake | 67 +
cmake/VERSION.cmake | 7 +
cmake/contrib/CheckFortranCompilerFlag.cmake | 25 +
cmake/contrib/CheckFortranSourceCompiles.cmake | 61 +
cmake/contrib/FindEigen3.cmake | 93 +
cmake/contrib/FindFFTW.cmake | 124 +
cmake/contrib/FindNetCDF4.cmake | 314 +
cmake/contrib/FindNumPy.cmake | 101 +
cmake/contrib/GetGitRevisionDescription.cmake | 123 +
cmake/contrib/GetGitRevisionDescription.cmake.in | 38 +
cmake/contrib/GreatCMakeCookOff/.gitattributes | 22 +
cmake/contrib/GreatCMakeCookOff/.gitignore | 6 +
.../contrib/GreatCMakeCookOff/AddCPP11Flags.cmake | 56 +
cmake/contrib/GreatCMakeCookOff/AddGTest.cmake | 72 +
.../GreatCMakeCookOff/CheckCXX11Features.cmake | 197 +
cmake/contrib/GreatCMakeCookOff/CheckIsNaN.cmake | 53 +
cmake/contrib/GreatCMakeCookOff/FindEigen.cmake | 131 +
cmake/contrib/GreatCMakeCookOff/LICENSE | 20 +
cmake/contrib/GreatCMakeCookOff/README.md | 176 +
cmake/contrib/GreatCMakeCookOff/TestCMake.cmake | 58 +
.../GreatCMakeCookOff/cpp11/__func__-N2340.cpp | 8 +
.../contrib/GreatCMakeCookOff/cpp11/auto-N2546.cpp | 12 +
.../GreatCMakeCookOff/cpp11/begin_function.cc | 12 +
.../GreatCMakeCookOff/cpp11/constexpr-N2235.cpp | 19 +
.../cpp11/constructor_delegate.cpp | 32 +
cmake/contrib/GreatCMakeCookOff/cpp11/cstdint.cpp | 10 +
.../GreatCMakeCookOff/cpp11/decltype-N2343.cpp | 11 +
.../cpp11/deleted_constructor.cpp | 10 +
.../cpp11/deleted_constructor_fail_compile.cpp | 11 +
.../contrib/GreatCMakeCookOff/cpp11/enable_if.cpp | 8 +
.../GreatCMakeCookOff/cpp11/explicit_cast.cpp | 13 +
.../GreatCMakeCookOff/cpp11/initialization.cpp | 7 +
.../GreatCMakeCookOff/cpp11/lambda-N2927.cpp | 5 +
.../GreatCMakeCookOff/cpp11/long_double.cpp | 4 +
.../GreatCMakeCookOff/cpp11/long_long-N1811.cpp | 7 +
cmake/contrib/GreatCMakeCookOff/cpp11/noexcept.cpp | 9 +
.../GreatCMakeCookOff/cpp11/nullptr-N2431.cpp | 5 +
.../cpp11/nullptr-N2431_fail_compile.cpp | 5 +
cmake/contrib/GreatCMakeCookOff/cpp11/override.cpp | 22 +
.../cpp11/override_fail_compile.cpp | 22 +
.../GreatCMakeCookOff/cpp11/random_device.cpp | 13 +
.../cpp11/rvalue_references-N2118.cpp | 15 +
.../contrib/GreatCMakeCookOff/cpp11/shared_ptr.cpp | 6 +
.../cpp11/sizeof_member-N2253.cpp | 14 +
.../cpp11/static_assert-N1720.cpp | 5 +
.../cpp11/static_assert-N1720_fail_compile.cpp | 5 +
.../GreatCMakeCookOff/cpp11/template_alias.cpp | 8 +
.../cpp11/trivial_type_traits.cpp | 7 +
.../GreatCMakeCookOff/cpp11/type_traits.cpp | 7 +
.../contrib/GreatCMakeCookOff/cpp11/unique_ptr.cpp | 6 +
.../cpp11/variadic_templates-N2555.cpp | 23 +
.../contrib/GreatCMakeCookOff/tests/CMakeLists.txt | 12 +
.../contrib/GreatCMakeCookOff/tests/addgtest.cmake | 20 +
.../GreatCMakeCookOff/tests/checkcpp11flags.cmake | 1 +
.../GreatCMakeCookOff/tests/checkisnan.cmake | 19 +
.../GreatCMakeCookOff/tests/cpp11/CMakeLists.txt | 3 +
.../tests/cpp11/allfeatures.cmake | 7 +
.../tests/cpp11/check_features.cmake | 9 +
.../tests/cpp11/parse_input_features.cmake | 68 +
cmake/ecbuild_add_cxx11_flags.cmake | 25 +
cmake/ecbuild_add_executable.cmake | 197 +
cmake/ecbuild_add_extra_search_paths.cmake | 34 +
cmake/ecbuild_add_library.cmake | 328 +
cmake/ecbuild_add_option.cmake | 194 +
cmake/ecbuild_add_persistent.cmake | 61 +
cmake/ecbuild_add_resources.cmake | 158 +
cmake/ecbuild_add_test.cmake | 315 +
cmake/ecbuild_append_to_rpath.cmake | 82 +
cmake/ecbuild_bundle.cmake | 284 +
cmake/ecbuild_cache.cmake | 65 +
cmake/ecbuild_check_c_source.cmake | 161 +
cmake/ecbuild_check_compiler.cmake | 125 +
cmake/ecbuild_check_cxx11.cmake | 67 +
cmake/ecbuild_check_cxx_source.cmake | 160 +
cmake/ecbuild_check_fortran_source.cmake | 157 +
cmake/ecbuild_check_functions.cmake | 125 +
cmake/ecbuild_check_os.cmake | 342 +
cmake/ecbuild_config.h.in | 167 +
cmake/ecbuild_debug_var.cmake | 35 +
cmake/ecbuild_declare_project.cmake | 151 +
cmake/ecbuild_define_build_types.cmake | 110 +
cmake/ecbuild_define_options.cmake | 40 +
cmake/ecbuild_define_paths.cmake | 41 +
cmake/ecbuild_echo_targets.cmake | 198 +
cmake/ecbuild_enable_fortran.cmake | 56 +
cmake/ecbuild_find_fortranlibs.cmake | 131 +
cmake/ecbuild_find_lexyacc.cmake | 60 +
cmake/ecbuild_find_mpi.cmake | 230 +
cmake/ecbuild_find_omp.cmake | 204 +
cmake/ecbuild_find_package.cmake | 190 +
cmake/ecbuild_find_perl.cmake | 45 +
cmake/ecbuild_find_python.cmake | 131 +
cmake/ecbuild_generate_config_headers.cmake | 47 +
cmake/ecbuild_generate_rpc.cmake | 73 +
cmake/ecbuild_generate_yy.cmake | 113 +
cmake/ecbuild_get_date.cmake | 32 +
cmake/ecbuild_get_resources.cmake | 52 +
cmake/ecbuild_get_test_data.cmake | 271 +
cmake/ecbuild_install_package.cmake | 286 +
cmake/ecbuild_links_target.cmake | 74 +
cmake/ecbuild_list_extra_search_paths.cmake | 108 +
cmake/ecbuild_list_macros.cmake | 57 +
cmake/ecbuild_pkgconfig.cmake | 365 +
cmake/ecbuild_print_summary.cmake | 115 +
cmake/ecbuild_project_files.cmake | 73 +
cmake/ecbuild_requires_macro_version.cmake | 15 +
cmake/ecbuild_separate_sources.cmake | 63 +
cmake/ecbuild_setup_test_framework.cmake | 42 +
cmake/ecbuild_system.cmake | 281 +
cmake/ecbuild_use_package.cmake | 206 +
cmake/ecbuild_version.h.in | 20 +
cmake/ecbuild_warn_unused_files.cmake | 58 +
cmake/include/ecbuild/boost_test_framework.h | 17 +
cmake/md5.in | 1 +
cmake/pkg-config.pc.in | 35 +
cmake/project-config-version.cmake.in | 12 +
cmake/project-config.cmake.in | 80 +
cmake/sg.pl | 573 +
cmake/sha1.in | 1 +
config/README | 1 -
config/config.guess | 1511 --
config/config.sub | 1705 --
config/depcomp | 630 -
config/install-sh | 520 -
config/ltmain.sh | 8406 -------
config/missing | 376 -
config/py-compile | 146 -
configure | 24673 -------------------
configure.ac | 1152 -
debian/changelog | 1 +
debian/control | 9 +-
debian/patches/cve-2010-3393.patch | 10 +-
debian/patches/dynamic_link.patch | 21 -
debian/patches/enable_static.patch | 18 -
debian/patches/fix-headers.patch | 39 +-
debian/patches/gcc-4.7.patch | 52 +-
debian/patches/geotiff.patch | 13 +
debian/patches/magics-config.patch | 122 +-
debian/patches/metview_fixes.patch | 2 +-
debian/patches/python3.patch | 307 +
debian/patches/series | 4 +-
debian/patches/terralib.patch | 201 +-
debian/rules | 76 +-
docs/Magics.dox.in | 1531 --
m4/autotroll.m4 | 563 -
m4/autotroll.mk | 108 -
m4/ax_boost_base.m4 | 258 -
m4/libtool.m4 | 7356 ------
m4/ltoptions.m4 | 368 -
m4/ltsugar.m4 | 123 -
m4/ltversion.m4 | 23 -
m4/lt~obsolete.m4 | 92 -
m4/magics.m4 | 38 -
magics-config.in | 71 +-
magics.sublime-project | 18 +
metview_files/MTHERMOGRIDDef | 322 +
metview_files/MTHERMOGRIDRules | 62 +
project_summary.cmake | 53 +
python/CMakeLists.txt | 1 +
python/Magics/CMakeLists.txt | 49 +
python/Magics/Magics.i | 66 -
python/Magics/Magics.i.in | 69 +
python/Magics/Magics_interface.cc | 11 +
python/Magics/Makefile.am | 35 -
python/Magics/Makefile.in | 527 -
python/Magics/macro.py | 38 +-
rpms/Magics_OBS.spec | 195 +
rpms/Makefile.am | 26 -
rpms/Makefile.in | 467 -
share/CMakeLists.txt | 3 +
share/magics/10m/10m_populated_places_simple.dbf | Bin
share/magics/10m/10m_populated_places_simple.prj | 1 -
share/magics/10m/10m_populated_places_simple.shp | Bin
share/magics/10m/10m_populated_places_simple.shx | Bin
share/magics/bufr_80.xml | 141 +
share/magics/bufr_98.xml | 1 +
share/magics/contour_ids.json | 1 +
share/magics/contours.json | 1 +
share/magics/default.json | 1 +
share/magics/epsg.json | 88 +-
share/magics/layer_contours.json | 1 +
share/magics/layer_ids.json | 1 +
share/magics/layers.json | 1 +
share/magics/level.json | 1 +
share/magics/marsClass.json | 1 +
share/magics/marsStream.json | 1 +
share/magics/marsType.json | 1 +
share/magics/natural_earth.ksh | 16 +
share/magics/number.json | 1 +
share/magics/obs.xml | 37 +-
share/magics/paramId.json | 1 +
share/magics/shortName.json | 1 +
share/magics/stepRange.json | 1 +
share/magics/symbols.svg | 142 +-
share/magics/title_template.xml | 62 +-
share/magics/typeOfLevel.json | 1 +
share/magics/units.json | 1 +
share/magics/web/magics.js | 662 +
src/CMakeLists.txt | 259 +
src/MagicsDouble.cc | 9 +-
src/Makefile.am | 228 -
src/Makefile.in | 1284 -
src/MvObs/Makefile.am | 14 -
src/MvObs/Makefile.in | 666 -
src/MvObs/MvBufr.h | 444 -
src/MvObs/MvBufrObs.h | 599 -
src/MvObs/MvObs.cc | 3297 ---
src/MvObs/MvObsSet.cc | 1011 -
src/MvObs/MvObsSet.h | 337 -
src/basic/BasicGraphicsObject.cc | 4 +-
src/basic/BasicGraphicsObject.h | 23 +-
src/basic/BasicSceneObject.cc | 7 +
src/basic/BasicSceneObject.h | 2 +
src/basic/CMakeLists.txt | 71 +
src/basic/DataConverter.cc | 54 +
src/basic/DataConverter.h | 59 +
src/basic/DisplayManager.cc | 300 +
src/basic/FortranMagics.cc | 405 +-
src/basic/FortranMagics.h | 6 +-
src/basic/ImportObjectHandler.cc | 12 +-
src/basic/Layer.cc | 43 +-
src/basic/Layer.h | 70 +-
src/basic/LegendVisitor.cc | 368 +-
src/basic/LegendVisitor.h | 35 +-
src/basic/LegendVisitorAttributes.h | 129 -
src/basic/MagnifierVisitorAttributes.h | 91 -
src/basic/Makefile.am | 46 -
src/basic/Makefile.in | 724 -
src/basic/RootSceneNode.cc | 56 +-
src/basic/RootSceneNode.h | 11 +
src/basic/SceneNode.cc | 13 +-
src/basic/SceneVisitor.cc | 12 +-
src/basic/SceneVisitor.h | 14 +-
src/basic/TagHandler.cc | 37 +-
src/basic/TextVisitor.cc | 76 +-
src/basic/ThreadNode.h | 44 -
src/basic/ViewNode.cc | 66 +-
src/basic/Visdef.h | 5 +-
src/basic/VisualAction.cc | 99 +-
src/basic/VisualAction.h | 13 +-
src/basic/WebFormat.cc | 13 +-
src/basic/WrepRootNodeAttributes.h | 83 -
src/basic/XmlBasicNodeAttributes.h | 110 -
src/basic/XmlMagics.cc | 64 +-
src/basic/XmlMagics.h | 4 +-
src/basic/XmlRootNodeAttributes.h | 90 -
src/basic/XmlSceneNodeAttributes.h | 106 -
src/basic/XmlViewNodeAttributes.h | 83 -
src/common/ArrowProperties.cc | 1 +
src/common/ArrowProperties.h | 6 +
src/common/AutoLocker.cc | 10 +-
src/common/AutomaticPlotManager.cc | 161 +
src/common/AutomaticPlotManager.h | 81 +
src/common/BaseParameter.cc | 2 +-
src/common/BaseParameter.h | 22 +-
src/common/BasePointsHandler.h | 1 +
src/common/BinaryObject.h | 8 +-
src/common/CMakeLists.txt | 145 +
src/common/CartesianTransformation.cc | 16 +-
src/common/CartesianTransformation.h | 44 +-
src/common/Colour.cc | 28 +-
src/common/ColourTableDefinitionList.cc | 11 +-
src/common/ColourTableDefinitionList.h | 1 +
src/common/Coordinate.cc | 4 +-
src/common/Coordinate.h | 539 +-
src/common/CustomisedPoint.h | 4 +
src/common/Data.cc | 32 +
src/common/Data.h | 31 +-
src/common/Factory.cc | 3 +
src/common/FortranRootSceneNodeAttributes.h | 91 -
src/common/FortranSceneNodeAttributes.h | 94 -
src/common/FortranViewNodeAttributes.h | 109 -
src/common/Frame.cc | 94 +
src/common/FrameLoop.cc | 232 +
src/common/FrameLoop.h | 164 +
src/common/GeoRectangularProjection.cc | 60 +-
src/common/GeoRectangularProjection.h | 3 +-
src/common/GeoRectangularProjectionAttributes.h | 85 -
src/common/InteractiveSet.cc | 116 +
src/common/InteractiveSet.h | 144 +
src/common/Label.h | 10 +
src/common/Layout.cc | 6 +-
src/common/Layout.h | 2 +-
src/common/LogoPlottingAttributes.h | 80 -
src/common/MagException.h | 10 +-
src/common/MagExceptions.cc | 2 +-
src/common/MagFont.cc | 5 +-
src/common/MagLog.cc | 19 +-
src/common/MagLog.h | 16 +-
src/common/MagTranslator.h | 112 +-
src/common/MagicsCalls.cc | 89 +-
src/common/MagicsThreads.cc | 151 +
src/common/MagicsThreads.h | 93 +
src/common/Makefile.am | 119 -
src/common/Makefile.in | 934 -
src/common/Matrix.cc | 33 +-
src/common/Matrix.h | 38 +-
src/common/MatrixHandler.h | 112 +-
src/common/MetaData.cc | 20 +-
src/common/MetaData.h | 4 +
src/common/Node.cc | 247 +
src/common/OutputFactory.cc | 9 +
src/common/OutputFactory.h | 10 +
src/common/OutputHandler.cc | 27 +-
src/common/OutputHandler.h | 5 +
src/common/OutputHandlerAttributes.h | 82 -
src/common/PageIDAttributes.h | 93 -
src/common/PageIDBase.h | 102 +
src/common/PlotManager.cc | 121 +
src/common/PolarStereographicProjection.cc | 141 +-
src/common/PolarStereographicProjection.h | 28 +-
src/common/Polyline.h | 19 +-
src/common/ProgressObject.cc | 45 +
src/common/ProgressObject.h | 11 +
src/common/ProgressTask.cc | 43 +
src/common/Proj4Projection.cc | 141 +-
src/common/Proj4Projection.h | 56 +-
src/common/RasterData.cc | 59 +
src/common/RasterData.h | 1 +
src/common/SatelliteProjection.cc | 366 +
src/common/SciMethods.cc | 10 +-
src/common/SciMethods.h | 2 +-
src/common/Seconds.cc | 2 +-
src/common/Symbol.cc | 5 +-
src/common/TaylorProjection.cc | 38 +-
src/common/TaylorProjection.h | 1 +
src/common/Tephigram.cc | 668 +
src/common/Tephigram.h | 298 +
src/common/Thread.h | 5 +-
src/common/ThreadControler.cc | 11 +
src/common/ThreadControler.h | 4 +
src/common/Timer.cc | 25 +-
src/common/Timer.h | 7 +-
src/common/Tokenizer.cc | 1 +
src/common/Transformation.cc | 480 +-
src/common/Transformation.h | 72 +-
src/common/UserLogoPlottingAttributes.h | 89 -
src/common/XmlReader.cc | 5 +-
src/common/XmlReader.h | 2 +
src/common/linux.h | 4 +-
src/common/machine.h | 0
src/common/magics_api.h | 3 +
src/decoders/BinningObject.cc | 164 +-
src/decoders/BinningObject.h | 77 +-
src/decoders/BinningObjectAttributes.h | 94 -
src/decoders/CMakeLists.txt | 146 +
src/decoders/ClassicMtgDecoder.cc | 6 +-
src/decoders/Date.cc | 10 +-
src/decoders/DateGribLoopStepAttributes.h | 83 -
src/decoders/EfiDataDecoder.h | 82 -
src/decoders/EpsBufr.cc | 6 +-
src/decoders/EpsXmlInput.cc | 11 +-
src/decoders/EpsgramDecoder.cc | 148 +-
src/decoders/GeoPointsDecoder.cc | 15 +
src/decoders/GeoPointsDecoderAttributes.h | 81 -
src/decoders/Grib | 0
src/decoders/GribAddressMode.h | 23 +-
src/decoders/GribDecoder.cc | 1838 +-
src/decoders/GribDecoder.h | 51 +-
src/decoders/GribDecoderAttributes.h | 97 -
src/decoders/GribInterpretor.h | 9 +-
src/decoders/GribLoopAttributes.h | 96 -
src/decoders/GribLoopStep.h | 2 +-
src/decoders/GribRegularInterpretor.cc | 2238 +-
src/decoders/GribRegularInterpretor.h | 47 +-
src/decoders/GribSatelliteInterpretor.cc | 474 +-
src/decoders/GribSatelliteInterpretor.h | 8 +-
src/decoders/ImportActionAttributes.h | 85 -
src/decoders/InputData.cc | 67 +-
src/decoders/InputData.h | 2 +-
src/decoders/InputMatrix.cc | 6 +-
src/decoders/InputMatrix.h | 2 +-
src/decoders/InputMatrixInterpretor.cc | 2 +-
src/decoders/LandgramDecoder.cc | 4 +-
src/decoders/LocalTable.cc | 1 +
src/decoders/Makefile.am | 113 -
src/decoders/Makefile.in | 963 -
src/decoders/Netcdf.cc | 85 +-
src/decoders/Netcdf.h | 36 +-
src/decoders/NetcdfDecoder.cc | 2 +-
src/decoders/NetcdfDecoder.h | 3 +-
src/decoders/NetcdfDecoderAttributes.h | 82 -
src/decoders/NetcdfGeoMatrixInterpretor.cc | 78 +-
src/decoders/NetcdfGeoMatrixInterpretor.h | 6 +-
.../NetcdfGeoMatrixInterpretorAttributes.h | 85 -
.../NetcdfGeoPolarMatrixInterpretorAttributes.h | 84 -
.../NetcdfGeoVectorInterpretorAttributes.h | 84 -
src/decoders/NetcdfGeopointsInterpretor.cc | 139 +-
src/decoders/NetcdfGeopointsInterpretor.h | 14 +-
.../NetcdfGeopointsInterpretorAttributes.h | 82 -
src/decoders/NetcdfInterpretor.cc | 132 +-
src/decoders/NetcdfInterpretor.h | 55 +-
src/decoders/NetcdfInterpretorAttributes.h | 89 -
src/decoders/NetcdfMatrixInterpretor.cc | 239 +-
src/decoders/NetcdfMatrixInterpretor.h | 21 +-
src/decoders/NetcdfMatrixInterpretorAttributes.h | 85 -
src/decoders/NetcdfOrcaInterpretor.cc | 73 +-
src/decoders/NetcdfOrcaInterpretor.h | 4 +-
src/decoders/NetcdfVectorInterpretor.cc | 48 +-
src/decoders/NetcdfVectorInterpretor.h | 1 +
src/decoders/NetcdfVectorInterpretorAttributes.h | 84 -
src/decoders/ObsDecoder.cc | 16 +-
src/decoders/ObsDecoderAttributes.h | 85 -
src/decoders/ObsStatDecoderAttributes.h | 81 -
src/decoders/ShapeDecoder.cc | 57 +-
src/decoders/TableDecoder.cc | 18 +-
src/decoders/ThinningMethod.cc | 48 +-
src/decoders/ThinningMethod.h | 11 +-
src/decoders/Time.cc | 2 +
src/decoders/TitleTemplate.cc | 26 +-
src/decoders/TitleTemplate.h | 2 +-
src/decoders/WindMode.cc | 2 +-
src/decoders/WindMode.h | 4 +-
src/decoders/XYList.cc | 48 +-
src/drivers/BaseDriver.cc | 515 +-
src/drivers/BaseDriver.h | 5 +-
src/drivers/BaseDriverBinaryReader.cc | 513 -
src/drivers/BaseDriverImages.h | 2 +-
src/drivers/BaseDriverSymbols.h | 37 +-
src/drivers/BaseDriverWind.h | 12 +-
src/drivers/BinaryDriver.cc | 8 +-
src/drivers/CMakeLists.txt | 88 +
src/drivers/CairoDriver.cc | 270 +-
src/drivers/CairoDriver.h | 21 +-
src/drivers/KMLDriver.cc | 659 +-
src/drivers/KMLDriver.h | 9 +-
src/drivers/Makefile.am | 107 -
src/drivers/Makefile.in | 1187 -
src/drivers/MgQ/MgQDriverObject.h | 2 +-
src/drivers/MgQ/MgQLayoutItem.h | 2 +-
src/drivers/MgQ/MgQPlotScene.cc | 2 +-
src/drivers/MgQ/MgQPlotScene.h | 2 +-
src/drivers/MgQ/MgQRootItem.h | 3 +
src/drivers/MgQ/MgQScene.cc | 13 +-
src/drivers/MgQ/MgQSceneItem.h | 2 +-
src/drivers/MingDriver.cc | 568 +
src/drivers/MingDriver.h | 132 +
src/drivers/PostScriptDriver.cc | 39 +-
src/drivers/QtDriver.cc | 38 +-
src/drivers/QtDriver.h | 6 +
src/drivers/SVGDriver.cc | 108 +-
src/drivers/SVGDriver.h | 3 +-
src/drivers/SelectionMode.cc | 55 +
src/drivers/SelectionMode.h | 66 +
src/eckit_readers/CMakeLists.txt | 38 +
src/eckit_readers/MvBufr.h | 444 +
src/eckit_readers/MvBufrObs.h | 599 +
src/{MvObs => eckit_readers}/MvLocation.cc | 0
src/{MvObs => eckit_readers}/MvLocation.h | 0
src/eckit_readers/MvObs.cc | 3297 +++
src/{MvObs => eckit_readers}/MvObs.h | 0
src/eckit_readers/MvObsSet.cc | 1011 +
src/eckit_readers/MvObsSet.h | 337 +
src/{MvObs => eckit_readers}/MvPrepBufrPrep.cc | 0
src/{MvObs => eckit_readers}/MvPrepBufrPrep.h | 0
src/{libTable => eckit_readers}/TableReader.cc | 0
src/{libTable => eckit_readers}/TableReader.h | 0
src/{MvObs => eckit_readers}/fdyntime.cc | 0
src/{MvObs => eckit_readers}/fdyntime.h | 0
src/{MvObs => eckit_readers}/fmettim.cc | 0
src/{MvObs => eckit_readers}/fmettim.h | 0
src/{MvObs => eckit_readers}/fobject.cc | 0
src/{MvObs => eckit_readers}/fobject.h | 0
src/{MvObs => eckit_readers}/fsortabl.cc | 0
src/{MvObs => eckit_readers}/fsortabl.h | 0
src/{MvObs => eckit_readers}/fstatime.cc | 0
src/{MvObs => eckit_readers}/fstatime.h | 0
src/{MvObs => eckit_readers}/inc_iostream.h | 0
src/libMagWrapper/CMakeLists.txt | 14 +
src/libMagWrapper/MagPlus.cc | 492 +-
src/libMagWrapper/MagPlus.h | 29 +-
src/libMagWrapper/MagRequest.h | 1 +
src/libMagWrapper/Makefile.am | 132 -
src/libMagWrapper/Makefile.in | 1082 -
src/libTable/Makefile.am | 17 -
src/libTable/Makefile.in | 631 -
src/magics.h | 31 +-
src/magics.pc.in | 14 +-
src/magics_config.h | 218 -
src/magics_config.h.in | 165 +-
src/magics_ecmwf_log.h | 25 +-
src/oda/CMakeLists.txt | 15 +
src/oda/Makefile.am | 24 -
src/oda/Makefile.in | 675 -
src/oda/OdaDecoder.cc | 49 +-
src/params/Akima474Method.xml | 19 +
src/params/Akima760Method.xml | 23 +
src/params/Akima761Method.xml | 20 +
src/params/ArrowPlotting.xml | 83 +
src/params/AutomaticContourMethod.xml | 2 +
src/params/AutomaticPlotManager.xml | 29 +
src/params/Axis.xml | 248 +
src/params/AxisMethod.xml | 2 +
src/params/Bar.xml | 52 +
src/params/BaseDriver.xml | 78 +
src/params/BinaryDriver.xml | 7 +
src/params/BinaryObject.xml | 30 +
src/params/BinningObject.xml | 65 +
src/params/BothValuePlotMethod.xml | 25 +
src/params/Boundaries.xml | 70 +
src/params/BoxPlotBox.xml | 24 +
src/params/BoxPlotBoxBorder.xml | 15 +
src/params/BoxPlotDecoder.xml | 33 +
src/params/BoxPlotMedian.xml | 17 +
src/params/BoxPlotVisualiser.xml | 22 +
src/params/BoxPlotWhiskerBorder.xml | 15 +
src/params/BoxPlotWhiskerBox.xml | 16 +
src/params/BoxPlotWhiskerLine.xml | 14 +
src/params/CMakeLists.txt | 335 +
src/params/CairoDriver.xml | 23 +
src/params/CalculateColourTechnique.xml | 19 +
src/params/CalculateHeightTechnique.xml | 2 +
src/params/CalmIndicator.xml | 2 +
src/params/CartesianTransformation.xml | 22 +
src/params/CdfGraph.xml | 27 +
src/params/CellShading.xml | 13 +
src/params/CircleOriginMarker.xml | 2 +
src/params/Cities.xml | 41 +
src/params/ClassicMtgDecoder.xml | 75 +
src/params/CoastPlotting.xml | 17 +
src/params/Coastlines.xml | 35 +
src/params/ColourTechnique.xml | 2 +
src/params/ContinuousLegendMethod.xml | 8 +
src/params/Contour.xml | 107 +
src/params/ContourMethod.xml | 2 +
src/params/CountSelectionType.xml | 28 +
src/params/Curve.xml | 101 +
src/params/CurveArea.xml | 8 +
src/params/DateAxisMethod.xml | 116 +
src/params/DateGribLoopStep.xml | 23 +
src/params/DotGraphShadeStyle.xml | 10 +
src/params/DotOriginMarker.xml | 2 +
src/params/DotPolyShadingMethod.xml | 20 +
src/params/DumpShading.xml | 4 +
src/params/DumpShadingWrapper.xml | 13 +
src/params/EfiDataDecoder.xml | 12 +
src/params/EfiGraph.xml | 37 +
src/params/EfiJSon.xml | 36 +
src/params/EfigramDecoder.xml | 81 +
src/params/EpsBufr.xml | 57 +
src/params/EpsCloud.xml | 13 +
src/params/EpsDirection.xml | 19 +
src/params/EpsGraph.xml | 81 +
src/params/EpsPlume.xml | 75 +
src/params/EpsShade.xml | 18 +
src/params/EpsWave.xml | 9 +
src/params/EpsWind.xml | 20 +
src/params/EpsXmlInput.xml | 17 +
src/params/EpsgramDecoder.xml | 117 +
src/params/EquidistantTableMode.xml | 4 +
src/params/FixedTableMode.xml | 10 +
src/params/FlagPlotting.xml | 74 +
src/params/FortranRootSceneNode.xml | 51 +
src/params/FortranSceneNode.xml | 81 +
src/params/FortranViewNode.xml | 150 +
src/params/GDDriver.xml | 26 +
src/params/GenericSQLDecoder.xml | 35 +
src/params/GeoPointsDecoder.xml | 7 +
src/params/GeoRectangularProjection.xml | 29 +
src/params/Graph.xml | 3 +
src/params/GraphArrow.xml | 9 +
src/params/GraphFlag.xml | 9 +
src/params/GraphPlotting.xml | 25 +
src/params/GraphShade.xml | 10 +
src/params/GraphShadeStyle.xml | 6 +
src/params/GribAddressByteMode.xml | 2 +
src/params/GribAddressMode.xml | 2 +
src/params/GribAddressRecordMode.xml | 2 +
src/params/GribDecoder.xml | 91 +
src/params/GribLoop.xml | 65 +
src/params/GribLoopStep.xml | 2 +
src/params/GridPlotting.xml | 27 +
src/params/GridShading.xml | 8 +
src/params/HatchGraphShadeStyle.xml | 6 +
src/params/HatchPolyShadingMethod.xml | 18 +
src/params/HeightTechnique.xml | 2 +
src/params/HiLo.xml | 80 +
src/params/HiLoBase.xml | 2 +
src/params/HiLoBoth.xml | 2 +
src/params/HiLoMarker.xml | 22 +
src/params/HiLoMarkerBase.xml | 2 +
src/params/HiLoNumber.xml | 12 +
src/params/HiLoTechnique.xml | 24 +
src/params/HiLoText.xml | 19 +
src/params/HighHiLo.xml | 2 +
src/params/Histogram.xml | 62 +
src/params/HistogramLegendMethod.xml | 40 +
src/params/HyperAxisMethod.xml | 2 +
src/params/ImageCalculateColourTechnique.xml | 19 +
src/params/ImageListColourTechnique.xml | 7 +
src/params/ImagePlotting.xml | 39 +
src/params/ImportAction.xml | 23 +
src/params/ImportObjectHandler.xml | 26 +
src/params/ImportPlot.xml | 49 +
src/params/InputData.xml | 88 +
src/params/InputMatrix.xml | 49 +
src/params/InputMatrixIrregularInterpretor.xml | 19 +
src/params/InputMatrixRegularInterpretor.xml | 79 +
src/params/IntervalSelectionType.xml | 17 +
src/params/IsoHighlight.xml | 31 +
src/params/IsoLabel.xml | 72 +
src/params/IsoPlot.xml | 144 +
src/params/IsoShading.xml | 40 +
src/params/KMLDriver.xml | 56 +
src/params/LabelPlotting.xml | 61 +
src/params/LandgramBox.xml | 32 +
src/params/LandgramDecoder.xml | 17 +
src/params/LegendMethod.xml | 2 +
src/params/LegendVisitor.xml | 241 +
src/params/LevelListSelectionType.xml | 13 +
src/params/LevelSelection.xml | 24 +
src/params/ListColourTechnique.xml | 8 +
src/params/ListHeightTechnique.xml | 2 +
src/params/LogarithmicAxisMethod.xml | 2 +
src/params/LogoPlotting.xml | 2 +
src/params/LookupTableMode.xml | 19 +
src/params/LowHiLo.xml | 2 +
src/params/MagnifierVisitor.xml | 53 +
src/params/MapGenDecoder.xml | 11 +
src/params/MarkerShadingTechnique.xml | 17 +
src/params/MarkerValuePlotMethod.xml | 25 +
src/params/MercatorProjection.xml | 2 +
src/params/MetaData.xml | 27 +
src/params/MetgramCurve.xml | 24 +
src/params/MetgramFlags.xml | 15 +
src/params/MetgramGraph.xml | 12 +
src/params/MingDriver.xml | 7 +
src/params/MvRootSceneNode.xml | 52 +
src/params/NetcdfDecoder.xml | 26 +
src/params/NetcdfGeoMatrixInterpretor.xml | 38 +
src/params/NetcdfGeoPolarMatrixInterpretor.xml | 19 +
src/params/NetcdfGeoVectorInterpretor.xml | 20 +
src/params/NetcdfGeopointsInterpretor.xml | 11 +
src/params/NetcdfInterpretor.xml | 42 +
src/params/NetcdfMatrixInterpretor.xml | 32 +
src/params/NetcdfOrcaInterpretor.xml | 27 +
src/params/NetcdfVectorInterpretor.xml | 20 +
src/params/NetcdfXYpointsInterpretor.xml | 21 +
src/params/NoBinningObject.xml | 2 +
src/params/NoBoundaries.xml | 4 +
src/params/NoBoxPlotBoxBorder.xml | 4 +
src/params/NoBoxPlotMedian.xml | 4 +
src/params/NoCalmIndicator.xml | 2 +
src/params/NoCities.xml | 4 +
src/params/NoCoastPlotting.xml | 81 +
src/params/NoGraphShade.xml | 2 +
src/params/NoGridPlotting.xml | 30 +
src/params/NoHiLo.xml | 4 +
src/params/NoHiLoMarker.xml | 6 +
src/params/NoIsoHighlight.xml | 2 +
src/params/NoIsoLabel.xml | 2 +
src/params/NoIsoPlot.xml | 2 +
src/params/NoIsoShading.xml | 2 +
src/params/NoLabelPlotting.xml | 6 +
src/params/NoLegendNode.xml | 2 +
src/params/NoLegendVisitor.xml | 2 +
src/params/NoLogoPloting.xml | 3 +
src/params/NoLogoPlotting.xml | 3 +
src/params/NoMagnifierVisitor.xml | 2 +
src/params/NoOriginMarker.xml | 2 +
src/params/NoOutLayerTechnique.xml | 2 +
src/params/NoPageID.xml | 4 +
src/params/NoPreviewVisitor.xml | 2 +
src/params/NoTitle.xml | 2 +
src/params/NoValuePlot.xml | 4 +
src/params/ObsCloud.xml | 6 +
src/params/ObsDecoder.xml | 23 +
src/params/ObsDemoItem2.xml | 9 +
src/params/ObsDewPoint.xml | 4 +
src/params/ObsJSon.xml | 9 +
src/params/ObsPlotting.xml | 183 +
src/params/ObsStatDecoder.xml | 13 +
src/params/ObsTable.xml | 9 +
src/params/OdaGeoDecoder.xml | 40 +
src/params/OdaXYDecoder.xml | 39 +
src/params/OdbDecoder.xml | 54 +
src/params/OriginMarker.xml | 2 +
src/params/OutputHandler.xml | 14 +
src/params/PageID.xml | 60 +
src/params/ParamGribLoopStep.xml | 4 +
src/params/PolarStereographicProjection.xml | 76 +
src/params/PolyShadingMethod.xml | 2 +
src/params/PolyShadingTechnique.xml | 10 +
src/params/PositionListAxisMethod.xml | 2 +
src/params/PostScriptDriver.xml | 20 +
src/params/PpmDecoder.xml | 26 +
src/params/PreviewVisitor.xml | 2 +
src/params/Proj4Bonne.xml | 2 +
src/params/Proj4Collignon.xml | 2 +
src/params/Proj4EPSG32661.xml | 2 +
src/params/Proj4EPSG3857.xml | 2 +
src/params/Proj4EPSG4326.xml | 2 +
src/params/Proj4Efas.xml | 2 +
src/params/Proj4Geos.xml | 2 +
src/params/Proj4Geose.xml | 2 +
src/params/Proj4Geosw.xml | 2 +
src/params/Proj4Goode.xml | 2 +
src/params/Proj4Google.xml | 2 +
src/params/Proj4Lambert.xml | 2 +
src/params/Proj4LambertNorthAtlantic.xml | 2 +
src/params/Proj4Meteosat0.xml | 2 +
src/params/Proj4Meteosat145.xml | 2 +
src/params/Proj4Meteosat57.xml | 2 +
src/params/Proj4Mollweide.xml | 2 +
src/params/Proj4PolarNorth.xml | 2 +
src/params/Proj4Projection.xml | 43 +
src/params/Proj4Robinson.xml | 2 +
src/params/QtDriver.xml | 8 +
src/params/SDWindMode.xml | 2 +
src/params/SVGDriver.xml | 29 +
src/params/SampleContourMethod.xml | 12 +
src/params/SelectionMode.xml | 27 +
src/params/ShadingTechnique.xml | 2 +
src/params/ShapeDecoder.xml | 8 +
src/params/SimpleOutLayerTechnique.xml | 2 +
src/params/SimplePolyline.xml | 98 +
src/params/SimplePolylineInput.xml | 28 +
src/params/Streamlines.xml | 40 +
src/params/SymbolAdvancedTableMode.xml | 197 +
src/params/SymbolIndividualMode.xml | 77 +
src/params/SymbolInput.xml | 40 +
src/params/SymbolMode.xml | 3 +
src/params/SymbolPlotting.xml | 163 +
src/params/SymbolTableMode.xml | 30 +
src/params/TableDecoder.xml | 83 +
src/params/TaylorGrid.xml | 161 +
src/params/TaylorProjection.xml | 18 +
src/params/TephiGrid.xml | 422 +
src/params/TephiInfo.xml | 2 +
src/params/Tephigram.xml | 27 +
src/params/TextVisitor.xml | 376 +
src/params/Title.xml | 42 +
src/params/TitleBase.xml | 2 +
src/params/TitleTemplate.xml | 11 +
src/params/Transformation.xml | 2 +
src/params/UVWindMode.xml | 2 +
src/params/UserLogoPlotting.xml | 49 +
src/params/VDWindMode.xml | 2 +
src/params/ValuePlot.xml | 17 +
src/params/ValuePlotBase.xml | 2 +
src/params/ValuePlotMethod.xml | 45 +
src/params/Wind.xml | 26 +
src/params/WindMode.xml | 2 +
src/params/WindPlotting.xml | 131 +
src/params/WrepJSon.xml | 85 +
src/params/WrepRootNode.xml | 23 +
src/params/XCoordinate.xml | 2 +
src/params/XDateCoordinate.xml | 24 +
src/params/XHyperCoordinate.xml | 32 +
src/params/XLogarithmicCoordinate.xml | 26 +
src/params/XRegularCoordinate.xml | 27 +
src/params/XYList.xml | 126 +
src/params/XmlBasicNode.xml | 147 +
src/params/XmlBox.xml | 45 +
src/params/XmlLegendNode.xml | 2 +
src/params/XmlPage.xml | 25 +
src/params/XmlRootNode.xml | 47 +
src/params/XmlSceneNode.xml | 122 +
src/params/XmlSubPage.xml | 36 +
src/params/XmlViewNode.xml | 23 +
src/params/YCoordinate.xml | 2 +
src/params/YDateCoordinate.xml | 29 +
src/params/YHyperCoordinate.xml | 38 +
src/params/YLogarithmicCoordinate.xml | 29 +
src/params/YRegularCoordinate.xml | 27 +
src/params/todo.xml | 106 +
src/terralib/CMakeLists.txt | 132 +
src/terralib/Makefile.am | 138 -
src/terralib/Makefile.in | 1706 --
src/terralib/jpeg/ijl.h | 1513 ++
src/terralib/jpeg/jpeg.h | 95 +
src/terralib/kernel/TeAkimaInterpolator.cpp | 1067 +
src/terralib/kernel/TeBlockLoader.cpp | 171 +
src/terralib/kernel/TeBlockLoader.h | 95 +
src/terralib/kernel/TeCommunicator.h | 413 +
src/terralib/kernel/TeConsoleErrorMessage.cpp | 29 +
src/terralib/kernel/TeConsoleErrorMessage.h | 62 +
src/terralib/kernel/TeDecoderDatabase.cpp | 8 +-
src/terralib/kernel/TeDecoderJPEG.cpp | 233 +
src/terralib/kernel/TeDecoderJPEG.h | 81 +
src/terralib/kernel/TeDecoderTIFF.cpp | 1214 +
src/terralib/kernel/TeDecoderTIFF.h | 185 +
src/terralib/kernel/TeExternalTheme.cpp | 2 +-
src/terralib/kernel/TeGeometryAlgorithms.cpp | 4 +-
src/terralib/kernel/TeInitRasterDecoders.cpp | 3 +
.../kernel/TeProxMatrixConstructionStrategy.cpp | 6 +-
src/terralib/kernel/TeProxMatrixImplementation.h | 2 +-
src/terralib/kernel/TeRedBlackTree.h | 763 +
src/terralib/kernel/TeSTEvent.cpp | 2 +-
src/terralib/kernel/TeSparseMatrix.h | 274 +
src/terralib/kernel/TeSpatialOperations.cpp | 6 +-
src/terralib/kernel/TeStatistics.h | 6 +-
src/terralib/kernel/TeTheme.cpp | 2 +-
src/terralib/kernel/dynpq.h | 3 +-
src/terralib/kernel/graph.h | 14 +-
src/terralib/utils/TeColorUtils.cpp | 780 +
src/terralib/utils/TeColorUtils.h | 92 +
src/terralib/utils/TeDatabaseUtils.cpp | 582 +
src/terralib/utils/TeUpdateDBVersion.cpp | 1504 ++
src/terralib/utils/TeUpdateDBVersion.h | 60 +
src/terralib/utils/mtrand.cpp | 50 +
src/terralib/utils/mtrand.h | 153 +
src/visualisers/Akima474MethodAttributes.h | 82 -
src/visualisers/Akima760.cc | 77 +-
src/visualisers/Akima760Method.cc | 52 +
src/visualisers/Akima760MethodAttributes.h | 82 -
src/visualisers/Akima761.cc | 3408 +++
src/visualisers/Akima761Method.cc | 52 +
src/visualisers/ArrowPlotting.cc | 45 +-
src/visualisers/ArrowPlotting.h | 10 +-
src/visualisers/Axis.cc | 10 +-
src/visualisers/AxisAttributes.cc | 463 -
src/visualisers/AxisAttributes.h | 133 -
src/visualisers/AxisControl.cc | 77 +
src/visualisers/AxisControl.h | 115 +
src/visualisers/AxisGrid.cc | 125 +
src/visualisers/AxisGrid.h | 125 +
src/visualisers/AxisItem.cc | 41 +-
src/visualisers/AxisItem.h | 18 +-
src/visualisers/AxisLine.cc | 119 +
src/visualisers/AxisLine.h | 129 +
src/visualisers/AxisMethod.cc | 10 +-
src/visualisers/AxisMethod.h | 10 +-
src/visualisers/AxisMethodAttributes.cc | 91 -
src/visualisers/AxisMinorTick.cc | 101 +
src/visualisers/AxisMinorTick.h | 117 +
src/visualisers/AxisTick.cc | 116 +
src/visualisers/AxisTick.h | 118 +
src/visualisers/AxisTickLabelType.cc | 107 +
src/visualisers/AxisTickLabelType.h | 131 +
src/visualisers/AxisTip.cc | 98 +
src/visualisers/AxisTip.h | 116 +
src/visualisers/AxisType.cc | 54 +
src/visualisers/AxisType.h | 86 +
src/visualisers/BothValuePlotMethodAttributes.cc | 125 -
src/visualisers/BoundariesAttributes.h | 93 -
src/visualisers/BoxPlotBoxAttributes.cc | 146 -
src/visualisers/BoxPlotBoxBorderAttributes.cc | 117 -
src/visualisers/BoxPlotItem.cc | 45 +-
src/visualisers/BoxPlotMedianAttributes.cc | 117 -
src/visualisers/BoxPlotVisualiser.cc | 18 +-
src/visualisers/BoxPlotVisualiserAttributes.cc | 132 -
src/visualisers/BoxPlotWhiskerBorderAttributes.cc | 119 -
src/visualisers/BoxPlotWhiskerBoxAttributes.cc | 129 -
src/visualisers/BoxPlotWhiskerLineAttributes.cc | 118 -
src/visualisers/CMakeLists.txt | 204 +
src/visualisers/CalcStreamlines.cc | 861 +
src/visualisers/CalcStreamlines.h | 85 +
.../CalculateColourTechniqueAttributes.h | 85 -
src/visualisers/CdfGraphAttributes.cc | 137 -
src/visualisers/CellShading.cc | 55 +
src/visualisers/CellShading.h | 20 +
src/visualisers/CellShadingAttributes.h | 82 -
src/visualisers/CoastPlottingAttributes.h | 84 -
src/visualisers/CoastlinesAttributes.h | 86 -
src/visualisers/ColourSelection.cc | 53 +
src/visualisers/ColourSelectionCount.cc | 61 +
src/visualisers/ColourSelectionList.cc | 59 +
src/visualisers/ColourTechnique.cc | 29 +-
src/visualisers/ColourTechnique.h | 11 +-
src/visualisers/ContinuousLegendMethodAttributes.h | 81 -
src/visualisers/Contour.cc | 41 +-
src/visualisers/Contour.h | 1 +
src/visualisers/ContourAttributes.cc | 206 -
src/visualisers/ContourAttributes.h | 93 -
src/visualisers/ContourLibrary.cc | 168 +
src/visualisers/ContourLibrary.h | 131 +-
src/visualisers/CountSelectionType.cc | 4 +-
src/visualisers/CountSelectionType.h | 2 +-
src/visualisers/CountSelectionTypeAttributes.h | 83 -
src/visualisers/Curve.cc | 102 +-
src/visualisers/Curve.h | 5 +
src/visualisers/DateAxis.cc | 40 +-
src/visualisers/DefinitionTable.h | 2 +-
.../{DefinitionTable.cc => DefinitionTable.hcc} | 0
src/visualisers/DotPolyShadingMethodAttributes.h | 84 -
src/visualisers/EfiGraphAttributes.cc | 172 -
src/visualisers/EpsCloudAttributes.cc | 110 -
src/visualisers/EpsGraph.cc | 285 +-
src/visualisers/EpsGraph.h | 2 +-
src/visualisers/EpsGraphAttributes.cc | 312 -
src/visualisers/EpsPlumeAttributes.cc | 166 -
src/visualisers/EpsShadeAttributes.cc | 123 -
src/visualisers/EpsWindAttributes.cc | 117 -
src/visualisers/FixedTableModeAttributes.h | 82 -
src/visualisers/FlagPlotting.cc | 174 +-
src/visualisers/FlagPlotting.h | 16 +-
src/visualisers/FloatSelection.cc | 74 +
src/visualisers/GraphShadeStyle.cc | 8 +
src/visualisers/GridPlottingAttributes.h | 84 -
src/visualisers/GridShadingAttributes.h | 81 -
src/visualisers/HatchPolyShadingMethodAttributes.h | 83 -
src/visualisers/HeightSelection.cc | 53 +
src/visualisers/HiLoAttributes.cc | 187 -
src/visualisers/HiLoAttributes.h | 92 -
src/visualisers/HiLoMarkerAttributes.h | 84 -
src/visualisers/HiLoNumber.h | 4 +-
src/visualisers/HiLoNumberAttributes.h | 82 -
src/visualisers/HiLoTechnique.cc | 52 -
src/visualisers/HiLoTechniqueAttributes.h | 85 -
src/visualisers/HiLoTextAttributes.h | 83 -
src/visualisers/Histogram.cc | 13 +-
src/visualisers/HistogramAttributes.cc | 175 -
src/visualisers/HistogramLegendMethodAttributes.h | 92 -
src/visualisers/ImageListColourTechnique.h | 2 +-
src/visualisers/ImagePlotting.cc | 292 -
src/visualisers/ImagePlotting.h | 86 -
src/visualisers/ImagePlottingAttributes.h | 86 -
src/visualisers/ImportPlotAttributes.h | 91 -
src/visualisers/IntervalSelectionType.cc | 47 +-
src/visualisers/IntervalSelectionType.h | 2 +-
src/visualisers/IntervalSelectionTypeAttributes.h | 82 -
src/visualisers/IsoHelper.cc | 6 +-
src/visualisers/IsoHelper.h | 2 +-
src/visualisers/IsoHighlightAttributes.h | 86 -
src/visualisers/IsoLabel.cc | 6 +-
src/visualisers/IsoLabelAttributes.h | 89 -
src/visualisers/IsoPlot.cc | 2402 +-
src/visualisers/IsoPlot.h | 126 +-
src/visualisers/IsoPlotAttributes.cc | 222 -
src/visualisers/IsoPlotAttributes.h | 97 -
src/visualisers/IsoShading.cc | 34 +
src/visualisers/IsoShading.h | 4 +
src/visualisers/IsoShadingAttributes.cc | 149 -
src/visualisers/IsoShadingAttributes.h | 86 -
src/visualisers/LabelPlottingAttributes.h | 90 -
src/visualisers/LabelPlottingBase.h | 106 +
src/visualisers/LandgramBox.cc | 144 -
src/visualisers/LandgramBox.h | 87 -
src/visualisers/LegendBoxAttributes.h | 80 -
src/visualisers/LegendMethod.cc | 5 +-
src/visualisers/LevelListSelectionType.h | 2 +-
src/visualisers/LevelListSelectionTypeAttributes.h | 81 -
src/visualisers/LevelSelection.cc | 7 +-
src/visualisers/LevelSelection.h | 2 +-
src/visualisers/LevelSelectionAttributes.h | 84 -
src/visualisers/ListColourTechnique.cc | 2 +
src/visualisers/ListColourTechnique.h | 2 +-
src/visualisers/ListColourTechniqueAttributes.h | 82 -
src/visualisers/LookupTableModeAttributes.h | 83 -
src/visualisers/Makefile.am | 192 -
src/visualisers/Makefile.in | 1194 -
src/visualisers/MarkerShadingTechniqueAttributes.h | 83 -
src/visualisers/MetgramCurveAttributes.cc | 137 -
src/visualisers/MetgramFlagsAttributes.cc | 116 -
src/visualisers/MetgramGraphAttributes.cc | 111 -
src/visualisers/NoGridPlottingAttributes.h | 84 -
src/visualisers/ObsItem.h | 15 +-
src/visualisers/ObsItemFamily.cc | 357 +-
src/visualisers/ObsItemFamily.h | 139 +-
src/visualisers/ObsPlotting.cc | 27 +-
src/visualisers/ObsPlottingAttributes.h | 81 -
src/visualisers/ObsStatGraph.h | 90 -
src/visualisers/ObsTable.cc | 5 +-
src/visualisers/ObsTable.h | 11 +-
src/visualisers/PolyShadingMethod.cc | 11 +-
src/visualisers/PolyShadingTechnique.h | 4 +-
src/visualisers/PolyShadingTechniqueAttributes.cc | 117 -
src/visualisers/PolyShadingTechniqueAttributes.h | 82 -
src/visualisers/SampleContourMethodAttributes.h | 82 -
src/visualisers/SegmentJoiner.cc | 54 +-
src/visualisers/SegmentJoiner.h | 21 +-
src/visualisers/ShadingTechnique.h | 11 +-
src/visualisers/SimplePolylineVisualiser.h | 1 +
src/visualisers/Streamlines.cc | 111 +
src/visualisers/Streamlines.h | 83 +
src/visualisers/SymbolAdvancedTableMode.cc | 6 +-
src/visualisers/SymbolAdvancedTableMode.h | 1 +
src/visualisers/SymbolIndividualModeAttributes.h | 98 -
src/visualisers/SymbolMode.cc | 8 +-
src/visualisers/SymbolTableModeAttributes.h | 86 -
src/visualisers/TephiGrid.cc | 428 +
src/visualisers/TephiGrid.h | 83 +
src/visualisers/Title.h | 123 -
src/visualisers/TitleBase.h | 130 -
src/visualisers/UserDate.cc | 62 +
src/visualisers/UserDate.h | 93 +
src/visualisers/VisDefInfo.cc | 2 +-
src/visualisers/Wind.cc | 23 +-
src/visualisers/Wind.h | 1 +
src/visualisers/WindPlotting.cc | 137 +-
src/visualisers/WindPlotting.h | 19 +-
src/web/CMakeLists.txt | 12 +
src/web/MagConfig.cc | 20 +-
src/web/MagConfig.h | 3 +
src/web/MagJSon.cc | 4 +-
src/web/Makefile.am | 24 -
src/web/Makefile.in | 679 -
src/web/ObsJSon.cc | 59 +-
src/web/ObsJSon.h | 4 +-
src/web/ObsJSonAttributes.cc | 102 -
src/web/WrepJSon.cc | 327 +-
src/web/WrepJSon.h | 9 +-
src/web/WrepJSonAttributes.cc | 228 -
src/web/json_spirit.h | 12 +-
src/web/json_spirit.vcproj | 213 +
src/web/json_spirit_error_position.h | 54 +
src/web/json_spirit_reader.cpp | 758 +-
src/web/json_spirit_reader.h | 53 +-
src/web/json_spirit_reader_template.h | 650 +
src/web/json_spirit_stream_reader.h | 70 +
src/web/json_spirit_utils.h | 16 +-
src/web/json_spirit_value.h | 287 +-
src/web/json_spirit_writer.cpp | 355 +-
src/web/json_spirit_writer.h | 61 +-
src/web/json_spirit_writer_options.h | 33 +
src/web/json_spirit_writer_template.h | 387 +
src/xml/ActionRoutines.xml | 167 -
src/xml/Akima.xml | 69 -
src/xml/Axis.xml | 372 -
src/xml/BaseDriver.xml | 79 -
src/xml/BinaryDriver.xml | 35 -
src/xml/BinningObject.xml | 75 -
src/xml/BoxPlot.xml | 193 -
src/xml/CairoDriver.xml | 22 -
src/xml/CoastPlotting.xml | 233 -
src/xml/Coastlines.xml | 40 -
src/xml/Contour.xml | 94 -
src/xml/Drivers.xml | 26 -
src/xml/EpsJSon.xml | 141 -
src/xml/Epsgram.xml | 812 -
src/xml/Frame.xml | 45 -
src/xml/GDDriver.xml | 33 -
src/xml/GeoRectangularProjection.xml | 63 -
src/xml/Geopoints.xml | 186 -
src/xml/Grib.xml | 232 -
src/xml/GridPlotting.xml | 71 -
src/xml/HiLo.xml | 186 -
src/xml/HiLoMarker.xml | 41 -
src/xml/HiLoNumber.xml | 15 -
src/xml/HiLoTechnique.xml | 32 -
src/xml/HiLoText.xml | 23 -
src/xml/Histogram.xml | 79 -
src/xml/ImagePlotting.xml | 264 -
src/xml/Import.xml | 119 -
src/xml/InputData.xml | 94 -
src/xml/InputMatrix.xml | 151 -
src/xml/IsoHighlight.xml | 43 -
src/xml/IsoLabel.xml | 85 -
src/xml/IsoPlot.xml | 86 -
src/xml/IsoShading.xml | 177 -
src/xml/KMLDriver.xml | 58 -
src/xml/LabelPlotting.xml | 84 -
src/xml/Landgram.xml | 63 -
src/xml/Layout.xml | 54 -
src/xml/Legend.xml | 269 -
src/xml/LevelSelection.xml | 107 -
src/xml/Makefile.am | 134 -
src/xml/Makefile.in | 526 -
src/xml/MetaData.xml | 37 -
src/xml/NetcdfDecoder.xml | 47 -
src/xml/NetcdfInterpretor.xml | 249 -
src/xml/Obs.xml | 26 -
src/xml/ObsJSon.xml | 11 -
src/xml/ObsPlotting.xml | 233 -
src/xml/ObsStat.xml | 32 -
src/xml/OdaDecoder.xml | 100 -
src/xml/Page.xml | 103 -
src/xml/PageID.xml | 124 -
src/xml/PolarStereographicProjection.xml | 116 -
src/xml/PostScriptDriver.xml | 29 -
src/xml/Proj4Projection.xml | 73 -
src/xml/QtDriver.xml | 39 -
src/xml/SVGDriver.xml | 38 -
src/xml/SatelliteProjection.xml | 19 -
src/xml/SelectionMode.xml | 39 -
src/xml/SubPage.xml | 214 -
src/xml/SubPageProj4.xml | 212 -
src/xml/SuperPage.xml | 183 -
src/xml/SymbolInput.xml | 43 -
src/xml/SymbolPlotting.xml | 441 -
src/xml/TableDecoder.xml | 93 -
src/xml/Taylor.xml | 193 -
src/xml/TextVisitor.xml | 405 -
src/xml/Title.xml | 54 -
src/xml/TitleTemplate.xml | 16 -
src/xml/ValuePlot.xml | 130 -
src/xml/View.xml | 348 -
src/xml/Wind.xml | 343 -
src/xml/XYList.xml | 154 -
src/xml/XYTransformation.xml | 267 -
src/xml/XmlBox.xml | 57 -
src/xml/XmlPage.xml | 39 -
src/xml/XmlSubPage.xml | 46 -
src/xml/graph_params.xml | 233 -
src/xml/magml.xml | 114 -
src/xml/output.xml | 16 -
test/C/Makefile.am | 25 -
test/C/Makefile.in | 724 -
test/C/cairo.c | 52 -
test/C/contours.c | 68 -
test/C/drivers.c | 40 -
test/C/land_sea_shade.c | 72 -
test/C/large_area.c | 61 -
test/CMakeLists.txt | 101 +
test/MagML/Makefile.am | 7 -
test/MagML/Makefile.in | 541 -
test/MagML/drivers.magml | 123 -
test/Makefile.am | 18 -
test/Makefile.in | 656 -
test/bufr.f90 | 31 +
test/bufr.py | 53 +
test/cairo.f90 | 26 +
test/cairo.py | 61 +
test/coast.f90 | 22 +
test/coast.py | 40 +
test/data.bufr | Bin 0 -> 1070184 bytes
test/data/cloudcover.grib | Bin 1557480 -> 0 bytes
test/data/t2m_fc12.grib | Bin 82680 -> 0 bytes
test/data/t850_fc_12.grib | Bin 9840 -> 0 bytes
test/data/uv500.grb | Bin 116400 -> 0 bytes
test/data/wind30m_fc12.grib | Bin 166800 -> 0 bytes
test/data/z500.grb | Bin 58200 -> 0 bytes
test/data/z500_fc_12.grib | Bin 9840 -> 0 bytes
test/fortran/Makefile.am | 15 -
test/fortran/Makefile.in | 692 -
test/fortran/boxplot.f | 168 -
test/fortran/coast_only.f | 52 -
test/fortran/layout_test.f | 572 -
test/fortran/shaded_isolines.f | 131 -
test/fortran/wind.f | 69 -
test/grib.f90 | 38 +
test/grib.py | 71 +
test/odb.py | 32 +
test/python/Makefile.am | 7 -
test/python/Makefile.in | 541 -
test/python/magmacro_example.py | 35 -
test/python/simple.py | 33 -
test/synop.bufr | Bin 0 -> 1070184 bytes
test/test.odb | Bin 0 -> 235010 bytes
tools/CMakeLists.txt | 27 +
tools/Makefile.am | 9 -
tools/Makefile.in | 510 -
tools/RPM_build_specs/EmosLib.spec | 118 +
tools/RPM_build_specs/emoslib/EmosLib.spec | 155 +
tools/RPM_build_specs/emoslib/generateRPM.sh | 47 +
tools/RPM_build_specs/grib_api/rpms/grib_api.spec | 96 +
tools/axis2doc.py | 285 +
tools/beau.py | 10 +
tools/beautify-xml.py | 14 +
tools/generateDebugLibs.sh | 27 +
tools/magml2json.pl | 153 +
tools/make_wrappers | 79 +
tools/metview.py | 17 +
tools/newbase.pl | 111 +
tools/newclass.pl | 117 +
tools/newdriver.pl | 34 +-
tools/newfactory.pl | 147 +
tools/newprojection.pl | 435 +
tools/newtemplate.pl | 118 +
tools/shp_process.ksh | 293 +
tools/x | 1 +
tools/xml2cc.pl | 0
tools/xml2cc.pl.workshop | 742 +
tools/xml2cc_list.pl | 140 +
tools/xml2cc_new.pl | 1 +
tools/xml2doc.pl | 147 +
tools/xml2doc.py | 203 +
tools/xml2dtd.pl | 0
tools/xml2html.py | 197 +
tools/xml2icon.pl | 149 +
tools/xml2mv.pl | 4 +-
tools/xml2mv.py | 848 +
tools/xml2odt.py | 87 +
tools/xml2odt.sh | 40 +
tools/xml2split.py | 70 +
version.sh | 4 +-
1267 files changed, 83103 insertions(+), 111486 deletions(-)
diff --cc debian/changelog
index 01aa1d9,869e9d9..ca2937b
--- a/debian/changelog
+++ b/debian/changelog
@@@ -2,7 -2,7 +2,8 @@@ magics++ (2.24.4-1) UNRELEASED; urgency
* New upstream release.
* Standards-Version: 3.9.6
+ * emoslib now builds on mips, so remove exception for its dependency
+ * Move to cmake-based build. Update patches
-- Alastair McKinstry <mckinstry at debian.org> Wed, 29 Apr 2015 08:09:32 +0100
diff --cc debian/patches/python3.patch
index 03c430a,0000000..e8935d1
mode 100644,000000..100644
--- a/debian/patches/python3.patch
+++ b/debian/patches/python3.patch
@@@ -1,803 -1,0 +1,1110 @@@
+Index: magics++-2.24.4/tools/axis2doc.py
+===================================================================
+--- magics++-2.24.4.orig/tools/axis2doc.py
++++ magics++-2.24.4/tools/axis2doc.py
+@@ -1,4 +1,6 @@
+ #!/usr/bin/python
++
++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):
+
+ def anyset(p, attrs):
+ p["set"] = "psetc"
+- if attrs.has_key("values") :
++ if "values" in attrs:
+ val = attrs["values"]
+ values = val.split("/")
+ p["values"] = values
+@@ -88,21 +90,18 @@ class ObjectHandler(ContentHandler):
+
+
+ def get(self, attrs, name, default):
+- if attrs.has_key(name):
+- return attrs.get(name)
+- else :
+- return default
++ return attrs.get(name, default)
+
+ def newparam(self, attrs):
+ p = {}
+ self.parameters[attrs.get("name")] = p
+ p["name"] = attrs.get("name")
+ p["type"] = attrs.get("to")
+- if attrs.has_key("metview") :
++ if "metview" in attrs:
+ p["metview"]= attrs["metview"]
+ p["values"] = []
+ t = p["type"]
+- if self.types.has_key(t) :
++ if t in self.types:
+ self.types[t](p, attrs)
+ else :
+ p["set"]="psetc"
+@@ -117,7 +116,7 @@ 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") :
+ 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" ) :
+ 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):
+ 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):
+
+ def prepare(self, defparam):
+ param = defparam.copy()
+- print "prepare-->"
+- print param
+- print "<---prepare"
+- if param.has_key("values") == False:
++ print ("prepare-->")
++ print (param)
++ print ("<---prepare")
++ if "values" not in param:
+ return param
+ if len(param["values"]) == 0:
+ return param
+ for val in param["values"]:
+- print val + " For " + param["name"]
++ print (val + " For " + param["name"])
+ newp = []
+- if param.has_key(val):
++ if val in param):
+ for v in param[val]:
+- print "prepare-->" + v
++ print ("prepare-->" + v)
+ # Can be a parameter or another object!
+- if self.parameters.has_key(v) :
++ if v in self.parameters:
+ self.append(newp, v)
+ else:
+ self.append(newp, self.getList(v))
+@@ -210,7 +209,7 @@ class ObjectHandler(ContentHandler):
+ def getList(self, 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):
+
+ def buildParam(self, param):
+ parameters = []
+- if param.has_key("inherits"):
+- print param["name"] + " inherits from " + param["inherits"]
++ if "inherits" in param:
++ print (param["name"] + " inherits from " + param["inherits"])
+ parent = self.buildParam(self.magics[param["inherits"]])
+ self.append(parameters, parent)
+ parameters.append(self.prepare(param))
+@@ -232,8 +231,8 @@ class ObjectHandler(ContentHandler):
+ def build(self, params):
+ parameters = []
+ for p in params:
+- print "find class " + p
+- if ( self.magics.has_key(p) ) :
++ print ("find class " + p)
++ if p in self.magics:
+ defp = self.magics[p]
+ # internal object
+ for p in defp["parameters"]:
+Index: magics++-2.24.4/tools/beau.py
+===================================================================
+--- magics++-2.24.4.orig/tools/beau.py
++++ magics++-2.24.4/tools/beau.py
+@@ -1,10 +1,10 @@
+-
++from __future__ import print_function
+ import xml.dom.minidom
+
+ xml = xml.dom.minidom.parse("../src/xml/TextVisitor.xml") # or xml.dom.minidom.parseString(xml_string)
+ pretty_xml_as_string = xml.toprettyxml()
+
+
+-print pretty_xml_as_string
++print (pretty_xml_as_string)
+
+
+Index: magics++-2.24.4/tools/xml2doc.py
+===================================================================
+--- magics++-2.24.4.orig/tools/xml2doc.py
++++ magics++-2.24.4/tools/xml2doc.py
+@@ -1,4 +1,4 @@
+-
++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):
+ if self.inherits != '':
+ try:
+ file = open("xml/%s.xml" % attrs.get("inherits"), "r")
+- print " inherits ->%s" % self.inherits
++ print (" inherits ->%s" % self.inherits)
+ object = ObjectHandler()
+ parser = make_parser()
+ object.params = []
+Index: magics++-2.24.4/tools/xml2html.py
+===================================================================
+--- magics++-2.24.4.orig/tools/xml2html.py
++++ magics++-2.24.4/tools/xml2html.py
+@@ -1,4 +1,5 @@
+ #!/usr/bin/python
++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):
+ 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):
+
+
+ def get(self, attrs, name, default):
+- if attrs.has_key(name):
++ if name in attrs:
+ return attrs.get(name)
+ else :
+ return default
+@@ -53,7 +54,7 @@ class ObjectHandler(ContentHandler):
+ p["type"] = attrs.get("to")
+ p["values"] = []
+ t = p["type"]
+- if self.types.has_key(t) :
++ if t in self.types:
+ self.types[t](p, attrs)
+ else :
+ p["type"]="toggle"
+@@ -68,9 +69,9 @@ 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")
+- print o["name"] + " inhrits from " + o["inherits"]
++ print (o["name"] + " inhrits from " + o["inherits"])
+ return o
+
+ def startElement(self, name, attrs):
+@@ -90,12 +91,12 @@ class ObjectHandler(ContentHandler):
+ 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" ) :
+ 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):
+ 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):
+ parameters = []
+
+ for a in actions:
+- if ( type(a) != dict and self.magics.has_key(a) ) :
++ if ( type(a) != dict and a in self.magics) :
+ # external object
+ action = self.magics[a]
+- if action.has_key("inherits") :
++ if "inherits" in action:
+ parent = action["inherits"]
+ definition = self.magics[parent]
+- print a + " xxxxinherits from " + parent
++ print ( a + " xxxxinherits from " + parent)
+
+- print "??????????????????"
++ print ("??????????????????")
+ for p in definition["parameters"]:
+- print p["name"]
++ print (p["name"] )
+ parameters.append(p)
+- print "---------------"
++ print ("---------------")
+
+ for param in action["parameters"]:
+ #print "add" + param["name"]
+ parameters.append(param)
+ for val in param["values"]:
+- if param.has_key(val) :
++ if val in param:
+ param[val] = self.build(param[val], action)
+ else :
+ param[val] = []
+Index: magics++-2.24.4/tools/xml2odt.py
+===================================================================
+--- magics++-2.24.4.orig/tools/xml2odt.py
++++ magics++-2.24.4/tools/xml2odt.py
+@@ -1,4 +1,5 @@
+ #!/usr/bin/python
++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
+
+
+ if(len(sys.argv) != 3) :
+- print "\n\tYou need to give 2 input parameters:"
+- print "\n\t %s source.xml target.odt\n" % sys.argv[0]
++ print ("\n\tYou need to give 2 input parameters:")
++ print ("\n\t %s source.xml target.odt\n" % sys.argv[0])
+ sys.exit()
+
+
+Index: magics++-2.24.4/tools/xml2split.py
+===================================================================
+--- magics++-2.24.4.orig/tools/xml2split.py
++++ magics++-2.24.4/tools/xml2split.py
+@@ -1,5 +1,5 @@
+
+-
++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):
+ self.file.write(data);
+
+ def startElement(self, name, attrs):
+- print "found %s " % name
++ print ("found %s " % name)
+ if (name == "magics") :
+ return
+ if (name == "static") :
+@@ -44,13 +44,13 @@ class ObjectHandler(ContentHandler):
+ self.file=open(filename, "w")
+ self.open_file = 1;
+ self.file.write("<magics>\n")
+- print "open %s " % filename
++ print ("open %s " % filename)
+ self.nice(name, attrs)
+ self.tab1 = self.tab1+1
+ self.tab2 = self.tab2+1
+
+ def endElement(self,name):
+- print "close %s\n " % name
++ print ("close %s\n " % name)
+ if ( self.open_file == 0):
+ return
+
+Index: magics++-2.24.4/tools/xml2mv.py
+===================================================================
+--- magics++-2.24.4.orig/tools/xml2mv.py
++++ magics++-2.24.4/tools/xml2mv.py
+@@ -1,4 +1,5 @@
+ #!/usr/bin/python
++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
+
+
+ if(len(sys.argv) != 6) :
+- print "\n\tYou need to give 4 input parameters:"
+- print "\n\t %s source.xml targetDef CLASS_NAME rulesDef\n" % sys.argv[0]
++ print ("\n\tYou need to give 4 input parameters:")
++ print ("\n\t %s source.xml targetDef CLASS_NAME rulesDef\n" % sys.argv[0])
+ sys.exit()
+
+
+@@ -311,7 +312,7 @@ class ObjectHandler(ContentHandler):
+
+
+ def addOptionalParam(self, paramname, requirements):
+- if paramname in self.optionalparams.keys():
++ if paramname in self.optionalparams:
+ if not(requirements[0] in self.optionalparams[paramname]):
+ self.optionalparams[paramname] = self.optionalparams[paramname] + requirements
+ else:
+@@ -319,7 +320,7 @@ class ObjectHandler(ContentHandler):
+
+
+ def addRelatedOptionalRequirements(self):
+- optparams = self.optionalparams.keys()
++ optparams = list(self.optionalparams.keys())
+ for optparam in optparams:
+ conditions = self.optionalparams[optparam]
+ for condition in conditions:
+@@ -328,7 +329,7 @@ class ObjectHandler(ContentHandler):
+
+
+ def addRelatedOptionalRequirements2(self):
+- optparams = self.optionalparams.keys()
++ optparams = list(self.optionalparams.keys())
+ for optparam in optparams:
+ conditions = self.optionalparams[optparam]
+ for condition in conditions:
+@@ -341,9 +342,9 @@ class ObjectHandler(ContentHandler):
+
+ # see top of file for description of optionalparams and optionalparams2
+ def reorganiseOptionalParameters(self):
+- for optparam in self.optionalparams.keys():
++ for optparam in self.optionalparams:
+ condition = self.optionalparams[optparam]
+- if condition in self.optionalparams2.keys():
++ if condition in self.optionalparams2:
+ self.optionalparams2[condition].add(optparam)
+ else:
+ self.optionalparams2[condition] = set([optparam])
+@@ -355,7 +356,7 @@ class ObjectHandler(ContentHandler):
+ def ensureOptionalParameters2DependenciesAreInRightOrder(self):
+ self.optionalparams3 = () # empty tuple, will contain an ordered version of optionalparams2
+
+- for conditions2 in self.optionalparams2.keys():
++ for conditions2 in self.optionalparams2:
+ # 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):
+
+ # we now know that the clause should go into position 'position' in the new tuple
+ if self.debug:
+- print "put into position " + str(position)
++ print ("put into position " + str(position))
+ if position == 0:
+ firstpart = ()
+ secondpart = (newtuple3,)
+@@ -395,7 +396,7 @@ class ObjectHandler(ContentHandler):
+
+
+ def newClass(self, c):
+- if not (c in self.classes.keys()):
++ if not (c in self.classes):
+ 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):
+ params = self.classes[c].get("params", ())
+ for p in params:
+ x = reqs
+- if x <> ():
++ if x != ():
+ self.addOptionalParam(p, x)
+ #self.addOptionalParam(p, (x,))
+
+@@ -455,11 +456,11 @@ class ObjectHandler(ContentHandler):
+ #print spaces + "enter rec, class = " + classname
+ for parent in i:
+ #print parent
+- if parent <> None:
++ if parent != None:
+ reqs = self.addRecursiveInheritedClassRequirements(parent, reclevel+1)
+ #print spaces + "reqs: "
+ #print reqs
+- if reqs <> None:
++ if reqs != None:
+ for req in reqs:
+ #print "ADDING REQ FROM RECURSIVE"
+ self.addRequirementToClass(req[0], req[1], classname)
+@@ -481,11 +482,11 @@ class ObjectHandler(ContentHandler):
+ #print spaces + "enter rec, class = " + classname
+ for parent in i:
+ #print parent
+- if parent <> None:
++ if parent != None:
+ params = self.addRecursiveInheritedClassParams(parent, reclevel+1)
+ #print spaces + "reqs: "
+ #print reqs
+- if params <> None:
++ if params != None:
+ for params in params:
+ #print "ADDING REQ FROM RECURSIVE"
+ self.addParamsFromOneClassToAnother(parent, classname)
+@@ -532,7 +533,7 @@ class ObjectHandler(ContentHandler):
+ try:
+ file = open(fname, "r")
+ if (self.debug):
+- print "Opened (start class)" + fname
++ print ("Opened (start class)" + fname)
+ self.filehistory.append(fname)
+ object = ObjectHandler()
+ object.myoptions = []
+@@ -568,17 +569,17 @@ class ObjectHandler(ContentHandler):
+ return
+ if (attrs.get("inherit_parent_reqs") != 'no'):
+ docclass = attrs.get("doc_class", None)
+- if docclass <> None:
++ if docclass != None:
+ paramclass = docclass
+ else:
+ paramclass = self.classname
+ self.addParameterToClass(self.param, paramclass)
+- type = attrs.get("to")
++ typ = attrs.get("to")
+ metview_type = attrs.get("metview_interface")
+- if metview_type <> None:
+- type = metview_type
+- if (self.types.has_key(type)):
+- f = self.types[type]
++ if metview_type != None:
++ typ = metview_type
++ if typ in self.types:
++ f = self.types[typ]
+ self.newparam(self.param, f(self, attrs), self.default(attrs))
+ else:
+ self.last = self.last + self.options(attrs)
+@@ -614,7 +615,7 @@ class ObjectHandler(ContentHandler):
+ file = open(fname, "r")
+ self.filehistory.append(fname)
+ if (self.debug):
+- print "Opened (start option) " + fname
++ print ("Opened (start option) " + fname)
+ object = ObjectHandler()
+ object.myoptions = []
+ object.myrules = {}
+@@ -667,8 +668,8 @@ class ObjectHandler(ContentHandler):
+ self.last = self.last + "\t} = %s\n" % self.defparam
+ self.newparam(self.param, self.last, self.defparam)
+ if (self.debug) :
+- print " endparam: " + self.param
+- print " endparam SL: \n" + self.last
++ print (" endparam: " + self.param)
++ print (" endparam SL: \n" + self.last)
+ self.last = ""
+ for option in self.myoptions:
+ for p in option:
+@@ -768,7 +769,7 @@ class ObjectHandler(ContentHandler):
+ # two different ways to generate the rules
+ if False:
+ rules = open(sys.argv[5], "w")
+- for optparam in self.optionalparams.keys():
++ for optparam in self.optionalparams:
+ rules.write("\n%if")
+ first = True
+ prevparam = ""
+@@ -845,4 +846,4 @@ saxparser.setContentHandler(object)
+
+ datasource = open(sys.argv[1] +"/" + sys.argv[2], "r")
+ saxparser.parse(datasource)
+-print "DONE"
++print ("DONE")
+Index: magics++-2.24.4/python/Magics/macro.py
+===================================================================
+--- magics++-2.24.4.orig/python/Magics/macro.py
++++ magics++-2.24.4/python/Magics/macro.py
+@@ -1,3 +1,4 @@
++from __future__ import print_function
+ import os
+ import Magics
+ import numpy
+@@ -60,7 +61,7 @@ class Action(object):
+ return x
+
+ def inspect(self):
+- print self
++ print (self)
+
+ def quote(self, v):
+ return "\"" + v + "\""
+@@ -119,12 +120,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 I"pset1i")
+ elif ( type == 'float64' or type == 'float32') :
+ if (dim == 2) :
+- print "pset2r"
++ print ("pset2r")
+ else :
+ vval = ""
+ vsep = ""
+@@ -137,10 +138,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"
+@@ -166,20 +167,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 = ""
+@@ -190,10 +191,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)
+
+
+
+@@ -201,18 +202,18 @@ 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):
+ if key == 'odb_data':
+ Magics.setc('odb_filename', self.args[key])
+ else:
+- print >> f, '\tcall psetc("%s", "%s")'%(key, self.args[key])
++ print('\tcall psetc("%s", "%s")'%(key, self.args[key]), file=f)
+ elif isinstance(self.args[key], int):
+- print >>f, '\tcall pseti("%s", %d)'%(key, self.args[key])
++ print ('\tcall pseti("%s", %d)'%(key, self.args[key]), file=f)
+ elif isinstance(self.args[key], float):
+- print >> f, '\tcall psetr("%s", %0.2f)'%(key, self.args[key])
++ 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
+@@ -229,9 +230,9 @@ class Action(object):
+ sep = ",&\n\t\t"
+ newline = newline + 70
+ val += "/)"
+- print >>f, '\tcall pset1c("%s", %s, %d)'%(key, val, len(self.args[key]))
++ print ('\tcall pset1c("%s", %s, %d)'%(key, val, len(self.args[key])), file=f)
+ elif isinstance(self.args[key][0], int):
+- print "pset1i"
++ print ("pset1i")
+ elif isinstance(self.args[key][0], float):
+ val = "(/"
+ sep = ""
+@@ -239,18 +240,18 @@ class Action(object):
+ val += sep + ("%0.2f" % v)
+ sep = ", "
+ val += "/)"
+- print >>f, '\tcall pset1r("%s", %s, %d)'%(key, val, len(self.args[key]))
++ 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"
++ print ("pset2i")
+ else :
+- print "pset1i"
++ print ("pset1i")
+ elif ( type == 'float64' or type == 'float32') :
+ if (dim == 2) :
+- print "pset2r"
++ print ("pset2r")
+ else :
+ val = "(/"
+ sep = ""
+@@ -258,20 +259,20 @@ class Action(object):
+ val += sep + ("%0.2f" % v)
+ sep = ", "
+ val += "/)"
+- print >>f, '\tcall pset1r("%s", %s, %d)'%(key, val, len(self.args[key]))
++ print ('\tcall pset1r("%s", %s, %d)'%(key, val, len(self.args[key])), file=f)
+ elif isinstance(self.args[key][0], int):
+- print "pset1r"
++ print ("pset1r" )
+ else :
+- print "type???->", key
++ print ("type???->", key)
+
+ if self.action != None and actions[self.verb] != "" and actions[self.verb] != "pinput":
+- print >>f, "\tcall %s\n"%actions[self.verb]
++ print ("\tcall %s\n"%actions[self.verb] , file=f)
+ for key in self.args.keys():
+- print >>f, "\tcall preset('%s')"%key
+- print >>f, ""
++ print ("\tcall preset('%s')"%key , file=f)
++ print ("", file=f)
+
+ else:
+- print >>f, ""
++ print ("", file=f)
+
+
+ def clean_object(self, obj):
+@@ -290,8 +291,8 @@ class Action(object):
+ for i,v in obj.iteritems():
+ obj[i] = self.clean_object(v)
+ else:
+- print "Invalid object in data, converting to string: "
+- print type(obj)
++ print ("Invalid object in data, converting to string: " )
++ print ( type(obj))
+ obj = str(obj)
+ return obj
+
+@@ -331,7 +332,7 @@ class Action(object):
+ else :
+ Magics.set1r(key, self.args[key].copy())
+ else :
+- print "type???->", key
++ print ("type???->", key)
+
+ else:
+ self.args[key].execute(key)
+@@ -439,26 +440,26 @@ def plot(*args):
+
+
+ def tofortran(file, *args):
+- f = open(file+".f90",'w')
+- print >>f, "\tprogram magics\n"
+- print >>f, "\tcall popen\n"
+- for n in args:
++ with open(file+".f90",'w') as f:
++ print ("\tprogram magics\n", file=f)
++ print ("\tcall popen\n", file=f)
++ for n in args:
+ n.tofortran(f)
+- print >>f, "\tcall pclose\n"
+- print >>f, "\tend"
++ 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>"
++ with open(file+".html",'w') as f:
++ 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)
++ with open(file+".mv4",'w') as f:
++ for n in args:
++ n.tomv4(f)
+
+ class odb_filter(object):
+ def __init__(self, _m = None,**kw):
+@@ -472,17 +473,17 @@ class odb_filter(object):
+ odb = "%s.odb" % file
+ context.tmp.append(odb)
+ cmd = "odbsql -q \"" + self.args["query"] + "\" -i " + self.args["path"] + " -f newodb -o " + odb
+- print cmd
++ print (cmd)
+ if (os.system(cmd)) :
+- print "Error in filtering ODB data... Aborting"
++ 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"
++ 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"
++ print ("Error in viewing ODB data... Aborting")
+ os.abort();
+Index: magics++-2.24.4/python/Magics/metgram.py
+===================================================================
+--- magics++-2.24.4.orig/python/Magics/metgram.py
++++ magics++-2.24.4/python/Magics/metgram.py
+@@ -1,3 +1,4 @@
++from __future__ import print_function
+ import simplejson
+ import tempfile
+ import os
+@@ -309,7 +310,7 @@ def metgram(*args):
+
+ error = os.system(cmd)
+ if (error != 0):
+- print "Error found"
++ print ("Error found")
+ f.close
+
+
++Index: magics++-2.24.4/CMakeLists.txt
++===================================================================
++--- magics++-2.24.4.orig/CMakeLists.txt
+++++ magics++-2.24.4/CMakeLists.txt
++@@ -49,6 +49,7 @@ option( ENABLE_CAIRO "enable ca
++ option( ENABLE_GEOTIFF "enable geotiff support [implies cairo]" OFF )
++
++ option( ENABLE_PYTHON "enable python interface" ON )
+++option( ENABLE_PYTHON3 "enable python3 interface" ON )
++ option( ENABLE_FORTRAN "enable fortran interface" ON )
++
++ option( ENABLE_METVIEW "enable Metview interface" OFF )
++@@ -69,6 +70,7 @@ set( MAGICS_HTML_ROOT "${CMAKE_BI
++ file(MAKE_DIRECTORY ${MAGICS_HTML_ROOT} )
++
++ set( MAG_PYTHON_PATH ${CMAKE_BINARY_DIR}/python )
+++set( MAG_PYTHON3_PATH ${CMAKE_BINARY_DIR}/python3 )
++
++ ###############################################################################
++ # projects
++@@ -96,6 +98,19 @@ if( ENABLE_PYTHON )
++ find_package( SWIG REQUIRED )
++ find_package( NumPy REQUIRED )
++ endif()
+++
+++if( ENABLE_PYTHON3 )
+++ ecbuild_find_python3( REQUIRED )
+++ debug_var( PYTHON3_INCLUDE_DIRS )
+++ debug_var( PYTHON3_LIBRARIES )
+++
+++ if( NOT PYTHON3_INCLUDE_DIRS OR NOT PYTHON3_LIBRARIES )
+++ message( FATAL_ERROR "Couldn't find Python3 libraries" )
+++ endif()
+++ find_package( SWIG REQUIRED )
+++ find_package( NumPy3 REQUIRED )
+++endif()
+++
++ if( SWIG_FOUND )
++ include(UseSWIG)
++ endif()
++Index: magics++-2.24.4/cmake/ecbuild_find_python3.cmake
++===================================================================
++--- /dev/null
+++++ magics++-2.24.4/cmake/ecbuild_find_python3.cmake
++@@ -0,0 +1,131 @@
+++# (C) Copyright 1996-2014 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.
+++
+++############################################################################################
+++# macro to find python3
+++
+++# OUTPUT:
+++# PYTHON3INTERP_FOUND
+++# PYTHON3LIBS_FOUND
+++# PYTHON3_INCLUDE_DIRS
+++# PYTHON3_LIBRARIES
+++# PYTHON3_SITE_PACKAGES
+++
+++macro( ecbuild_find_python3 )
+++
+++ # parse parameters
+++
+++ set( options REQUIRED )
+++ set( single_value_args VERSION )
+++ set( multi_value_args )
+++
+++ cmake_parse_arguments( _p "${options}" "${single_value_args}" "${multi_value_args}" ${_FIRST_ARG} ${ARGN} )
+++
+++ if(_p_UNPARSED_ARGUMENTS)
+++ message(FATAL_ERROR "Unknown keywords given to ecbuild_find_python(): \"${_p_UNPARSED_ARGUMENTS}\"")
+++ endif()
+++
+++ # find python3 executable
+++
+++ find_package( PythonInterp3 )
+++
+++ if( NOT PYTHON3INTERP_FOUND AND _p_REQUIRED )
+++ message( FATAL_ERROR "Failed to find any Python3 interpreter (REQUIRED)" )
+++ endif()
+++
+++ # find python version
+++ # execute_process( COMMAND ${PYTHON_EXECUTABLE} -V ERROR_VARIABLE _version RESULT_VARIABLE _return ERROR_STRIP_TRAILING_WHITESPACE)
+++ # if( NOT _return )
+++ # string(REGEX REPLACE ".*([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1.\\2.\\3" PYTHON_VERSION ${_version} )
+++ # endif()
+++ # endif()
+++
+++ # message( STATUS "Python version ${PYTHON_VERSION_STRING}" )
+++ # debug_var(PYTHON_VERSION_MAJOR)
+++ # debug_var(PYTHON_VERSION_MINOR)
+++ # debug_var(PYTHON_VERSION_PATCH)
+++
+++ if( PYTHON3INTERP_FOUND AND DEFINED _p_VERSION )
+++ if( _p_VERSION VERSION_GREATER "${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}.${PYTHON3_VERSION_PATCH}" )
+++ set( PYTHON3INTERP_FOUND 0 )
+++ set( PYTHON3_EXECUTABLE "PYTHON3_EXECUTABLE-NOTFOUND" )
+++ if( _p_REQUIRED )
+++ message( FATAL_ERROR "Required python3 version at least ${_p_VERSION} but found only ${PYTHON3_VERSION_STRING}" )
+++ else()
+++ message( WARNING "Looking for python3 version at least ${_p_VERSION} but found only ${PYTHON3_VERSION_STRING}\nMarking Python3 as NOTFOUND" )
+++ endif()
+++ endif()
+++ endif()
+++
+++ if( PYTHON3INTERP_FOUND )
+++
+++ # find python3 config
+++
+++ if( PYTHON3_EXECUTABLE AND EXISTS ${PYTHON3_EXECUTABLE}-config )
+++ set(PYTHON3_CONFIG ${PYTHON3_EXECUTABLE}-config CACHE PATH "" FORCE)
+++ else()
+++ find_program( PYTHON3_CONFIG NAMES python3-config python3-config${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR} )
+++ endif()
+++
+++ # find python3 libs
+++
+++ # The OpenBSD python packages have python-config's
+++ # that don't reliably report linking flags that will work.
+++
+++ if( PYTHON3_CONFIG AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" )
+++
+++ execute_process(COMMAND "${PYTHON3_CONFIG}" --ldflags
+++ OUTPUT_VARIABLE PYTHON3_LIBRARIES
+++ OUTPUT_STRIP_TRAILING_WHITESPACE
+++ ERROR_QUIET)
+++
+++ execute_process(COMMAND "${PYTHON3_CONFIG}" --includes
+++ OUTPUT_VARIABLE PYTHON3_INCLUDE_DIR
+++ OUTPUT_STRIP_TRAILING_WHITESPACE
+++ ERROR_QUIET)
+++
+++# debug_var(PYTHON3_LIBRARIES)
+++# debug_var(PYTHON3_INCLUDE_DIR)
+++
+++ string(REGEX REPLACE "^[-I]" "" PYTHON3_INCLUDE_DIR "${PYTHON3_INCLUDE_DIR}")
+++ string(REGEX REPLACE "[ ]-I" " " PYTHON3_INCLUDE_DIR "${PYTHON3_INCLUDE_DIR}")
+++
+++ separate_arguments(PYTHON3_INCLUDE_DIR)
+++
+++ else() # revert to finding pythonlibs the standard way (cmake macro)
+++
+++ find_package(Python3Libs)
+++ if( PYTHON3_INCLUDE_PATH AND NOT PYTHON3_INCLUDE_DIR )
+++ set(PYTHON3_INCLUDE_DIR "${PYTHON3_INCLUDE_PATH}")
+++ endif()
+++
+++ endif()
+++
+++ # set output variables
+++
+++ find_package_handle_standard_args( Python3Libs DEFAULT_MSG PYTHON3_INCLUDE_DIR PYTHON3_LIBRARIES )
+++
+++ set( PYTHON3_INCLUDE_DIRS ${PYTHON3_INCLUDE_DIR} )
+++ set( PYTHON3_INCLUDE_PATH ${PYTHON3_INCLUDE_DIR} )
+++
+++ list( REMOVE_DUPLICATES PYTHON3_INCLUDE_DIRS )
+++
+++ # find where python3 site-packages are ...
+++
+++ execute_process(COMMAND ${PYTHON3_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
+++
+++ endif()
+++
+++# debug_var( PYTHON3INTERP_FOUND )
+++# debug_var( PYTHON3_EXECUTABLE )
+++# debug_var( PYTHON3LIBS_FOUND )
+++# debug_var( PYTHON3_INCLUDE_DIRS )
+++# debug_var( PYTHON3_LIBRARIES )
+++# debug_var( PYTHON3_SITE_PACKAGES )
+++
+++endmacro( ecbuild_find_python3 )
++Index: magics++-2.24.4/cmake/ecbuild_system.cmake
++===================================================================
++--- magics++-2.24.4.orig/cmake/ecbuild_system.cmake
+++++ magics++-2.24.4/cmake/ecbuild_system.cmake
++@@ -242,6 +242,7 @@ if( PROJECT_NAME STREQUAL CMAKE_PROJECT_
++ include( ecbuild_find_omp )
++ include( ecbuild_find_perl )
++ include( ecbuild_find_python )
+++ include( ecbuild_find_python3 )
++ include( ecbuild_find_lexyacc )
++ include( ecbuild_find_fortranlibs )
++ include( ecbuild_enable_fortran )
++Index: magics++-2.24.4/python/Magics/CMakeLists.txt
++===================================================================
++--- magics++-2.24.4.orig/python/Magics/CMakeLists.txt
+++++ magics++-2.24.4/python/Magics/CMakeLists.txt
++@@ -2,7 +2,7 @@ if( ENABLE_PYTHON AND NUMPY_FOUND )
++
++ ### python destination
++
++- set( PYTHON_SITE "lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages" )
+++ set( PYTHON3_DIST "lib/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}/site-packages" )
++ set( PYTHON_DEST "${PYTHON_SITE}/Magics" )
++
++ file( RELATIVE_PATH relative_rpath "${CMAKE_INSTALL_PREFIX}/${PYTHON_DEST}" "${${PNAME}_FULL_INSTALL_LIB_DIR}" )
++Index: magics++-2.24.4/cmake/FindNumPy3.cmake
++===================================================================
++--- /dev/null
+++++ magics++-2.24.4/cmake/FindNumPy3.cmake
++@@ -0,0 +1,101 @@
+++# - Find the NumPy3 libraries
+++# This module finds if NumPy3 is installed, and sets the following variables
+++# indicating where it is.
+++#
+++# TODO: Update to provide the libraries and paths for linking npymath lib.
+++#
+++# NUMPY3_FOUND - was NumPy3 found
+++# NUMPY3_VERSION - the version of NumPy3 found as a string
+++# NUMPY3_VERSION_MAJOR - the major version number of NumPy3
+++# NUMPY3_VERSION_MINOR - the minor version number of NumPy3
+++# NUMPY3_VERSION_PATCH - the patch version number of NumPy3
+++# NUMPY3_VERSION_DECIMAL - e.g. version 1.6.1 is 10601
+++# NUMPY3_INCLUDE_DIRS - path to the NumPy3 include files
+++
+++#============================================================================
+++# Copyright 2015 Alastair McKinstry <debian.org>
+++#
+++# MIT License
+++#
+++# Permission is hereby granted, free of charge, to any person obtaining
+++# a copy of this software and associated documentation files
+++# (the "Software"), to deal in the Software without restriction, including
+++# without limitation the rights to use, copy, modify, merge, publish,
+++# distribute, sublicense, and/or sell copies of the Software, and to permit
+++# persons to whom the Software is furnished to do so, subject to
+++# the following conditions:
+++#
+++# The above copyright notice and this permission notice shall be included
+++# in all copies or substantial portions of the Software.
+++#
+++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+++# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+++# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+++# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+++# OTHER DEALINGS IN THE SOFTWARE.
+++#
+++#============================================================================
+++
+++# Finding NumPy3 involves calling the Python3 interpreter
+++if(NumPy3_FIND_REQUIRED)
+++ find_package(Python3Interp REQUIRED)
+++else()
+++ find_package(Python3Interp)
+++endif()
+++
+++if(NOT PYTHON3INTERP_FOUND)
+++ set(NUMPY3_FOUND FALSE)
+++ return()
+++endif()
+++
+++execute_process(COMMAND "${PYTHON3_EXECUTABLE}" "-c"
+++ "import numpy as n; print(n.__version__); print(n.get_include());"
+++ RESULT_VARIABLE _NUMPY3_SEARCH_SUCCESS
+++ OUTPUT_VARIABLE _NUMPY3_VALUES_OUTPUT
+++ ERROR_VARIABLE _NUMPY3_ERROR_VALUE
+++ OUTPUT_STRIP_TRAILING_WHITESPACE)
+++
+++if(NOT _NUMPY3_SEARCH_SUCCESS MATCHES 0)
+++ if(NumPy3_FIND_REQUIRED)
+++ message(FATAL_ERROR
+++ "NumPy3 import failure:\n${_NUMPY3_ERROR_VALUE}")
+++ endif()
+++ set(NUMPY3_FOUND FALSE)
+++ return()
+++endif()
+++
+++# Convert the process output into a list
+++string(REGEX REPLACE ";" "\\\\;" _NUMPY3_VALUES ${_NUMPY3_VALUES_OUTPUT})
+++string(REGEX REPLACE "\n" ";" _NUMPY3_VALUES ${_NUMPY3_VALUES})
+++# Just in case there is unexpected output from the Python3 command.
+++list(GET _NUMPY3_VALUES -2 NUMPY3_VERSION)
+++list(GET _NUMPY3_VALUES -1 NUMPY3_INCLUDE_DIRS)
+++
+++string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" _VER_CHECK "${NUMPY3_VERSION}")
+++if("${_VER_CHECK}" STREQUAL "")
+++ # The output from Python3 was unexpected. Raise an error always
+++ # here, because we found NumPy3, but it appears to be corrupted somehow.
+++ message(FATAL_ERROR
+++ "Requested version and include path from NumPy3, got instead:\n${_NUMPY3_VALUES_OUTPUT}\n")
+++ return()
+++endif()
+++
+++# Make sure all directory separators are '/'
+++string(REGEX REPLACE "\\\\" "/" NUMPY3_INCLUDE_DIRS ${NUMPY3_INCLUDE_DIRS})
+++
+++# Get the major and minor version numbers
+++string(REGEX REPLACE "\\." ";" _NUMPY3_VERSION_LIST ${NUMPY3_VERSION})
+++list(GET _NUMPY3_VERSION_LIST 0 NUMPY3_VERSION_MAJOR)
+++list(GET _NUMPY3_VERSION_LIST 1 NUMPY3_VERSION_MINOR)
+++list(GET _NUMPY3_VERSION_LIST 2 NUMPY3_VERSION_PATCH)
+++string(REGEX MATCH "[0-9]*" NUMPY3_VERSION_PATCH ${NUMPY3_VERSION_PATCH})
+++math(EXPR NUMPY3_VERSION_DECIMAL
+++ "(${NUMPY3_VERSION_MAJOR} * 10000) + (${NUMPY3_VERSION_MINOR} * 100) + ${NUMPY3_VERSION_PATCH}")
+++
+++find_package_message(NUMPY3
+++ "Found NumPy3: version \"${NUMPY3_VERSION}\" ${NUMPY3_INCLUDE_DIRS}"
+++ "${NUMPY3_INCLUDE_DIRS}${NUMPY3_VERSION}")
+++
+++set(NUMPY3_FOUND TRUE)
diff --cc debian/patches/series
index f51ce15,f2016cd..44dc2d4
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -4,5 -4,4 +4,5 @@@ terralib.patc
gcc-4.7.patch
magics-config.patch
fix-headers.patch
+python3.patch
+ geotiff.patch
diff --cc debian/rules
index 9af5129,c31bb1d..b09e9d5
--- a/debian/rules
+++ b/debian/rules
@@@ -24,23 -31,12 +31,14 @@@ CMAKE_ARGS:=
override_dh_auto_clean:
find . -type l -exec rm {} \;
- find . \( -name '*.pyc' -o -name '*.o' -o -name '*.a' \) -exec rm {} \;
- find . -name '.libs' -exec rm -rf {} \; || echo ".libs deleted already."
- find test \( -name '*.ps' -o -name '*.pdf' -o -name '*.svg' -o -name '*.png' \
- -o -name '*.kmz' \) -exec rm {} \;
- rm -f config.log
++ rm -rf python3
rm -rf share/magics/ttf src/terralib
- $(MAKE) -k distclean || echo "Already distcleaned"
-
- override_dh_autoreconf:
- # remove out of date files
- rm -f conf/config.guess conf/config.sub
- libtoolize -c -f
- dh_autoreconf --as-needed
+ dh_auto_clean
override_dh_auto_configure:
# link for font for tesing.
mkdir -p share/fonts/truetype/ttf-dejavu/
++ cp -a python python3
ln -sf /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf share/fonts/truetype/ttf-dejavu/
# Link terralib
[ -e src/terralib ] || ln -sf /usr/include/terralib src/terralib
--
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