pysvp64db: fix traversal
[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 # the only reason this is added is because it's become a part of python 3.9.
12 # the project standard is python 3.7 however in future that will be updated.
13 # for now, cached_property is RELUCTANTLY added but a *copy* is added so
14 # that the generation of HDL is not critically dependent on random crap
15 # off the internet. you're spending USD 16 *MILLION* on masks, you better
16 # be absolutely paranoid-level certain you know where every piece of the
17 # chain creating the HDL comes from.
18 cprop = "git+https://git.libre-soc.org/git/cached-property.git@1.5.2" \
19 "#egg=cached-property-1.5.2"
20
21 pyelftools = "git+https://git.libre-soc.org/git/pyelftools.git@v0.30" \
22 "#egg=pyelftools-0.30"
23
24 # using pip3 for ongoing development is a royal pain. seriously not
25 # recommended. therefore a number of these dependencies have been
26 # commented out. *they are still required* - they will need installing
27 # manually.
28
29 install_requires = [
30 # NOT ok to install using pip3 https://git.libre-soc.org/?p=nmigen.git
31 'nmigen>=0.0,<=0.5',
32 # can be obtained with pip3, best done manually
33 # https://git.libre-soc.org/?p=nmutil.git
34 'libresoc-nmutil>=0.0.0,<=1.0',
35 # these should be fine
36 'pygdbmi==0.9.0.3', # gdb machine interface, requires older version (sigh)
37 'ply', # python lex yacc. very cool
38 'astor', # python AST manipulation
39 'cffi', # LuaJIT-style C FFI for Python
40
41 # git url needed for having `pip3 install -e .` install from libre-soc git
42 'cached-property@'+cprop,
43 "pyelftools@" + pyelftools,
44 ]
45
46 # git url needed for having `setup.py develop` install from libre-soc git
47 dependency_links = [
48 cprop,
49 pyelftools,
50 ]
51
52 test_requires = [
53 'nose',
54 # best to install pia from Libre-SOC:
55 # https://git.libre-soc.org/?p=power-instruction-analyzer.git
56 'power-instruction-analyzer'
57 ]
58
59 setup(
60 name='libresoc-openpower-isa',
61 version=version,
62 description="OpenPOWER ISA resources including a python-based simulator",
63 long_description=README + '\n\n',
64 long_description_content_type='text/markdown',
65 classifiers=[
66 "Topic :: Software Development",
67 "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
68 "Programming Language :: Python :: 3",
69 "Operating System :: OS Independent",
70 ],
71 keywords='nmigen libre-soc openpower simulator',
72 author='Luke Kenneth Casson Leighton',
73 author_email='lkcl@libre-soc.org',
74 url='http://git.libre-soc.org/?p=openpower-isa.git',
75 license='LGPLv3+',
76 packages=find_packages('src'),
77 package_dir={'': 'src'},
78 include_package_data=True,
79 zip_safe=False,
80 install_requires=install_requires,
81 dependency_links=dependency_links,
82 tests_require=test_requires,
83 test_suite='nose.collector',
84 entry_points={
85 'console_scripts': [
86 'pywriter=openpower.decoder.pseudo.pywriter:pywriter',
87 'pyfnwriter=openpower.decoder.pseudo.pyfnwriter:pyfnwriter',
88 'sv_analysis=openpower.sv.sv_analysis:main',
89 'pypowersim=openpower.decoder.isa.pypowersim:run_simulation',
90 'pysvp64asm=openpower.insndb.asm:main',
91 'pysvp64db=openpower.insndb.db:main',
92 'pysvp64dis=openpower.insndb.disasm:main',
93 ],
94 },
95 )