diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/openwsman/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/openwsman/package.py | 68 |
1 files changed, 62 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/openwsman/package.py b/var/spack/repos/builtin/packages/openwsman/package.py index c355e2627f..562f6455ec 100644 --- a/var/spack/repos/builtin/packages/openwsman/package.py +++ b/var/spack/repos/builtin/packages/openwsman/package.py @@ -1,4 +1,4 @@ -# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) @@ -16,10 +16,66 @@ class Openwsman(CMakePackage): version('2.6.11', sha256='895eaaae62925f9416766ea3e71a5368210e6cfe13b23e4e0422fa0e75c2541c') version('2.6.10', sha256='d3c624a03d7bc1835544ce1af56efd010f77cbee0c02b34e0755aa9c9b2c317b') - depends_on('python@3:', type='build') - depends_on('curl') - depends_on('libxml2') - depends_on('sblim-sfcc') + variant('python', default=True, description='Enable python') + + extends('python', when='+python') + + depends_on('python', type=('build', 'link', 'run')) + depends_on('curl', type='link') + depends_on('swig', type='build') + depends_on('libxml2', type='link') + depends_on('openssl', type='link') + depends_on('sblim-sfcc', type='link') + + def patch(self): + """ Change python install directory. """ + if self.spec.satisfies('+python'): + python_spec = self.spec['python'] + python_libdir = join_path( + self.spec.prefix.lib, + 'python' + str(python_spec.version.up_to(2)), + 'site-packages' + ) + filter_file( + 'DESTINATION .*', + 'DESTINATION {0} )'.format(python_libdir), + join_path('bindings', 'python', 'CMakeLists.txt') + ) def cmake_args(self): - return ['-DBUILD_PYTHON=OFF', '-DUSE_PAM=NO'] + define = self.define + spec = self.spec + arg = [ + define('BUILD_PERL', False), + define('BUILD_JAVA', False), + define('BUILD_CSHARP', False), + define('USE_PAM', 'OFF'), + ] + if spec.satisfies('+python'): + if spec.satisfies('^python@3:'): + arg.extend([ + define('BUILD_PYTHON', False), + define('BUILD_PYTHON3', True) + ]) + else: + arg.extend([ + define('BUILD_PYTHON', True), + define('BUILD_PYTHON3', False) + ]) + arg.append(define('PYTHON_EXECUTABLE', + spec['python'].command.path)) + else: + arg.extend([ + define('BUILD_PYTHON', False), + define('BUILD_PYTHON3', False) + ]) + return arg + + def flag_handler(self, name, flags): + flags = list(flags) + if name == 'cflags': + if self.spec.satisfies('%gcc'): + flags.append('-std=gnu99') + else: + flags.append(self.compiler.c99_flag) + return (None, None, flags) |