amaranth/setup.py
whitequark b9799b4c4a back.verilog: fall back to nmigen_yosys package.
The nmigen-yosys PyPI package provides a custom, minimal build of
Yosys that uses (at the moment) wasmtime-py to deliver a single
WASM binary that can run on many platforms, and eliminates the need
to build Yosys from source.

Not only does this lower barrier to entry for new nMigen developers,
but also decouples nMigen from Yosys' yearly release cycle, which
lets us use new features and drop workarounds for Yosys bugs earlier.

The source for the nmigen-yosys package is provided at:
  https://github.com/nmigen/nmigen-yosys
The package is built from upstream source and released automatically
with no manual steps.

Fixes #371.
2020-05-22 16:51:00 +00:00

48 lines
1.4 KiB
Python

from setuptools import setup, find_packages
def scm_version():
def local_scheme(version):
if version.tag and not version.distance:
return version.format_with("")
else:
return version.format_choice("+{node}", "+{node}.dirty")
return {
"relative_to": __file__,
"version_scheme": "guess-next-dev",
"local_scheme": local_scheme
}
setup(
name="nmigen",
use_scm_version=scm_version(),
author="whitequark",
author_email="whitequark@whitequark.org",
description="Python toolbox for building complex digital hardware",
#long_description="""TODO""",
license="BSD",
python_requires="~=3.6",
setup_requires=["setuptools", "setuptools_scm"],
install_requires=[
"importlib_metadata; python_version<'3.8'", # for nmigen._yosys
"pyvcd~=0.2.0", # for nmigen.pysim
"Jinja2~=2.11", # for nmigen.build
],
extras_require = {
# this version requirement needs to be synchronized with the one in nmigen.back.verilog!
"builtin-yosys": ["nmigen-yosys>=0.9.*"],
},
packages=find_packages(),
entry_points={
"console_scripts": [
"nmigen-rpc = nmigen.rpc:main",
]
},
project_urls={
#"Documentation": "https://nmigen.readthedocs.io/",
"Source Code": "https://github.com/nmigen/nmigen",
"Bug Tracker": "https://github.com/nmigen/nmigen/issues",
},
)