diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/magics/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/magics/package.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py index fca92d69d4..1b3e3e87bf 100644 --- a/var/spack/repos/builtin/packages/magics/package.py +++ b/var/spack/repos/builtin/packages/magics/package.py @@ -41,10 +41,6 @@ class Magics(Package): version('2.29.4', '91c561f413316fb665b3bb563f3878d1') version('2.29.0', 'db20a4d3c51a2da5657c31ae3de59709', preferred=True) - # The patch changes the hardcoded path to python in shebang to enable the - # usage of the first python installation that appears in $PATH - patch('no_hardcoded_python.patch', when='@:2.29.6') - # The patch reorders includes and adds namespaces where necessary to # resolve ambiguity of invocations of isnan and isinf functions. The # patch is not needed since the version 2.29.1 @@ -55,6 +51,7 @@ class Magics(Package): variant('cairo', default=True, description='Enable cairo support[png/jpeg]') variant('metview', default=False, description='Enable metview support') variant('qt', default=False, description='Enable metview support with qt') + variant('eccodes', default=False, description='Use eccodes instead of grib-api') depends_on('cmake', type='build') depends_on('pkg-config', type='build') @@ -64,8 +61,8 @@ class Magics(Package): depends_on('python', type='build') depends_on('perl', type='build') depends_on('perl-xml-parser', type='build') - depends_on('eccodes', when='@2.30.0:') - depends_on('grib-api', when='@:2.29.6') + depends_on('eccodes', when='+eccodes') + depends_on('grib-api', when='~eccodes') depends_on('proj') depends_on('boost') depends_on('expat') @@ -74,9 +71,14 @@ class Magics(Package): depends_on('libemos', when='+bufr') depends_on('qt', when='+metview+qt') + conflicts('+eccodes', when='@:2.29.0') + + # Replace system python and perl by spack versions: def patch(self): for plfile in glob.glob('*/*.pl'): filter_file('#!/usr/bin/perl', '#!/usr/bin/env perl', plfile) + for pyfile in glob.glob('*/*.py'): + filter_file('#!/usr/bin/python', '#!/usr/bin/env python', pyfile) def install(self, spec, prefix): options = [] @@ -87,11 +89,6 @@ class Magics(Package): options.append('-DPROJ4_PATH=%s' % spec['proj'].prefix) options.append('-DENABLE_TESTS=OFF') - if self.version >= Version('2.30.0'): - options.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix) - else: - options.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix) - if '+bufr' in spec: options.append('-DENABLE_BUFR=ON') options.append('-DLIBEMOS_PATH=%s' % spec['libemos'].prefix) @@ -119,6 +116,13 @@ class Magics(Package): else: options.append('-DENABLE_METVIEW=OFF') + if '+eccodes' in spec: + options.append('-DENABLE_ECCODES=ON') + options.append('-DECCODES_PATH=%s' % spec['eccodes'].prefix) + else: + options.append('-DENABLE_ECCODES=OFF') + options.append('-DGRIB_API_PATH=%s' % spec['grib-api'].prefix) + if (self.compiler.f77 is None) or (self.compiler.fc is None): options.append('-DENABLE_FORTRAN=OFF') |