convert trap test_pipe_caller.py to consistent format
[soc.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.1'
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 # using pip3 for ongoing development is a royal pain. seriously not
22 # recommended. therefore a number of these dependencies have been
23 # commented out. *they are still required* - they will need installing
24 # manually.
25
26 # XXX UNDER NO CIRCUMSTANCES ADD ARBITRARY DEPENDENCIES HERE. XXX
27 # as this is HDL, not software, every dependency added is
28 # a serious maintenance and reproducible-build problem.
29 # dropping USD 16 million on 7nm Mask Charges when the
30 # HDL can be compromised - accidentally or deliberately -
31 # by pip3 going out and randomly downloading complete
32 # shite is not going to do anyone any favours.
33
34 # TODO: make *all* of these be from libre-soc git repo only
35 # (which means updating the nmigen-soc one to mirror gitlab)
36
37 install_requires = [
38 # 'sfpy', # needs manual patching
39 'libresoc-ieee754fpu', # uploaded (successfully, whew) to pip
40 'libresoc-openpower-isa', # uploaded (successfully, whew) to pip
41 # 'nmigen-soc', # install manually from git.libre-soc.org
42
43 # git url needed for having `pip3 install -e .` install from libre-soc git
44 "cached-property@"+cprop,
45 ]
46
47 # git url needed for having `setup.py develop` install from libre-soc git
48 dependency_links = [
49 cprop,
50 ]
51
52 test_requires = [
53 'nose',
54 # install pia from https://salsa.debian.org/Kazan-team/power-instruction-analyzer
55 'power-instruction-analyzer'
56 ]
57
58 setup(
59 name='libresoc',
60 version=version,
61 description="A nmigen-based OpenPOWER multi-issue Hybrid 3D CPU-VPU-GPU",
62 long_description=README + '\n\n' + NEWS,
63 long_description_content_type='text/markdown',
64 classifiers=[
65 "Topic :: Software Development",
66 "License :: OSI Approved :: " \
67 "GNU Lesser General Public License v3 or later (LGPLv3+)",
68 "Programming Language :: Python :: 3",
69 "Operating System :: OS Independent",
70 ],
71 keywords='nmigen ieee754 libre-soc soc',
72 author='Luke Kenneth Casson Leighton',
73 author_email='lkcl@libre-soc.org',
74 url='http://git.libre-soc.org/?p=soc',
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 )