diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a925168f147 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.13.0' + +homepage = 'https://github.com/Z3Prover/z3' +description = """Z3 is a theorem prover from Microsoft Research with support for bitvectors, +booleans, arrays, floating point numbers, strings, and other data types. This +module includes z3-solver, the Python interface of Z3. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), + ('GMP', '6.3.0'), +] + +use_pip = True + +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py && """ +_enable_gmp = """sed -i "s/Z3_USE_LIB_GMP.*/Z3_USE_LIB_GMP' : True,/" setup.py && """ + +exts_list = [ + ('z3-solver', version + '.0', { + 'modulename': 'z3', + 'checksums': ['52588e92aec7cb338fd6288ce93758ae01770f62ca0c80e8f4f2b2333feaf51b'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +local_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + 'ln -s %s/include "%%(installdir)s/include"' % local_z3_site_path, + 'cd "%%(installdir)s"; for lib in %s/lib/*; do ln -s ../$lib lib/$(basename $lib); done' % local_z3_site_path +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.' + SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools'