
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.
48 lines
1.4 KiB
Python
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",
|
|
},
|
|
)
|