51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
# Copyright 2013-2020 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)
|
|
|
|
|
|
from spack import *
|
|
|
|
|
|
class Z3(MakefilePackage):
|
|
"""Z3 is a theorem prover from Microsoft Research.
|
|
It is licensed under the MIT license."""
|
|
|
|
homepage = "https://github.com/Z3Prover/z3/wiki"
|
|
url = "https://github.com/Z3Prover/z3/archive/z3-4.5.0.tar.gz"
|
|
|
|
version('4.5.0', sha256='aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c')
|
|
version('4.4.1', sha256='50967cca12c5c6e1612d0ccf8b6ebf5f99840a783d6cf5216336a2b59c37c0ce')
|
|
version('4.4.0', sha256='65b72f9eb0af50949e504b47080fb3fc95f11c435633041d9a534473f3142cba')
|
|
|
|
phases = ['bootstrap', 'build', 'install']
|
|
|
|
variant('python', default=False, description='Enable python binding')
|
|
depends_on('python', type=('build', 'run'))
|
|
extends('python', when='+python')
|
|
|
|
# Referenced: https://github.com/Z3Prover/z3/issues/1016
|
|
patch('fix_1016_1.patch', when='@:4.4.1')
|
|
patch('fix_1016_2.patch', when='@4.5.0')
|
|
|
|
build_directory = 'build'
|
|
|
|
def configure_args(self):
|
|
spec = self.spec
|
|
|
|
args = []
|
|
|
|
if spec.satisfies('+python'):
|
|
args.append('--python')
|
|
args.append(
|
|
'--pypkgdir=%s' % join_path(
|
|
prefix.lib,
|
|
'python%s' % spec['python'].version.up_to(2),
|
|
'site-packages'))
|
|
|
|
return args
|
|
|
|
def bootstrap(self, spec, prefix):
|
|
options = ['--prefix={0}'.format(prefix)] + self.configure_args()
|
|
spec['python'].command('scripts/mk_make.py', *options)
|