diff options
author | Toyohisa Kameyama <kameyama@riken.jp> | 2020-12-26 00:13:31 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-25 09:13:31 -0600 |
commit | 1daf6d3df74acf48a0469d0eb9d0e600d4b75a3d (patch) | |
tree | 5706ba3461a355a38acf96afed6257e0543676fe /var | |
parent | a7017f8e3829ef3c0611bf0316db99d414606d66 (diff) | |
download | spack-1daf6d3df74acf48a0469d0eb9d0e600d4b75a3d.tar.gz spack-1daf6d3df74acf48a0469d0eb9d0e600d4b75a3d.tar.bz2 spack-1daf6d3df74acf48a0469d0eb9d0e600d4b75a3d.tar.xz spack-1daf6d3df74acf48a0469d0eb9d0e600d4b75a3d.zip |
openwsman: fix detect python executable (#20317)
* openwsman: fix detect python executable
- use spack's python insted of system's python
- Add variant to use python.
- fix dependency.
- support python2.
* format fixed.
* fix python command.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/openwsman/package.py | 66 |
1 files changed, 61 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/openwsman/package.py b/var/spack/repos/builtin/packages/openwsman/package.py index c355e2627f..25d1937bbd 100644 --- a/var/spack/repos/builtin/packages/openwsman/package.py +++ b/var/spack/repos/builtin/packages/openwsman/package.py @@ -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) |