90db5612c26134ee664422e57b7b11736dddd965
[openpower-isa.git] / setup.py
1 from setuptools import setup, find_packages
2 import sys
3 import os
4
5 here = os.path.abspath(os.path.dirname(__file__))
6 README = open(os.path.join(here, 'README.md')).read()
7 NEWS = open(os.path.join(here, 'NEWS.txt')).read()
8
9 version = '0.0.3'
10
11 # using pip3 for ongoing development is a royal pain. seriously not
12 # recommended. therefore a number of these dependencies have been
13 # commented out. *they are still required* - they will need installing
14 # manually.
15
16 install_requires = [
17 # ok to install using pip3 as long as it is not with the rest of Libre-SOC. # https://git.libre-soc.org/?p=nmigen.git
18 'nmigen',
19 # can be obtained with pip3, best done manually
20 # https://git.libre-soc.org/?p=nmutil.git
21 'libresoc-nmutil',
22 # these should be fine
23 'pygdbmi', # gdb machine interfave
24 'ply', # python lex yacc. very cool
25 'astor', # python AST manipulation
26 'cffi', # LuaJIT-style C FFI for Python
27 "cached-property",
28 ]
29
30 test_requires = [
31 'nose',
32 # best to install pia from Libre-SOC:
33 # https://git.libre-soc.org/?p=power-instruction-analyzer.git
34 'power-instruction-analyzer'
35 ]
36
37 setup(
38 name='libresoc-openpower-isa',
39 version=version,
40 description="OpenPOWER ISA resources including a python-based simulator",
41 long_description=README + '\n\n',
42 long_description_content_type='text/markdown',
43 classifiers=[
44 "Topic :: Software Development",
45 "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
46 "Programming Language :: Python :: 3",
47 "Operating System :: OS Independent",
48 ],
49 keywords='nmigen libre-soc openpower simulator',
50 author='Luke Kenneth Casson Leighton',
51 author_email='lkcl@libre-soc.org',
52 url='http://git.libre-soc.org/?p=openpower-isa.git',
53 license='LGPLv3+',
54 packages=find_packages('src'),
55 package_dir={'': 'src'},
56 include_package_data=True,
57 zip_safe=False,
58 install_requires=install_requires,
59 tests_require=test_requires,
60 test_suite='nose.collector',
61 entry_points={
62 'console_scripts': [
63 'pywriter=openpower.decoder.pseudo.pywriter:pywriter',
64 'pyfnwriter=openpower.decoder.pseudo.pyfnwriter:pyfnwriter',
65 'sv_analysis=openpower.sv.sv_analysis:main',
66 'pypowersim=openpower.decoder.isa.pypowersim:run_simulation',
67 'pysvp64asm=openpower.sv.trans.svp64:asm_process'
68 ]
69 }
70 )