From de830ca464d6f5c4f27646b21ee0103b1242b3b9 Mon Sep 17 00:00:00 2001 From: Olof Kindgren Date: Sat, 14 Sep 2024 10:31:46 +0200 Subject: [PATCH] Migrate setup.py to pyproject.toml --- pyproject.toml | 47 ++++++++++++++++++++++++++++++++++++- setup.py | 63 -------------------------------------------------- 2 files changed, 46 insertions(+), 64 deletions(-) delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml index fed528d4..88ca624b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,48 @@ [build-system] -requires = ["setuptools"] +requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" + +[project] +name = "fusesoc" +description = "Award-winnning package manager and build abstraction tool for HDL code" +readme = "README.md" +authors = [ + {name = "Olof Kindgren", email = "olof@award-winning.me"}, +] +maintainers = [ + {name = "Olof Kindgren", email = "olof@award-winning.me"}, +] + +keywords=["VHDL", "verilog", "hdl", "rtl", "synthesis", "FPGA", "simulation", "ASIC"] + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Topic :: Utilities", + "Topic :: Software Development :: Build Tools", + "License :: OSI Approved :: BSD License", +] + +dynamic = ["version"] + +install_requires = [ + "edalize>=0.4.1", + "pyparsing>=2.3.1", + "pyyaml>=6.0", + "simplesat>=0.8.0", + "fastjsonschema", + "jsonschema2md", +] +requires-python = ">=3.6, <4" + +[project.urls] +Homepage = "https://fusesoc.net" +Documentation = "https://fusesoc.readthedocs.io" +Repository = "https://github.com/olofk/fusesoc" +Issues = "https://github.com/olofk/fusesoc/issues" +Changelog = "https://github.com/olofk/fusesoc/blob/main/NEWS" + +[tool.setuptools_scm] +version_file = "fusesoc/version.py" + +[project.scripts] +fusesoc = "fusesoc.main:main" diff --git a/setup.py b/setup.py deleted file mode 100644 index 4031328f..00000000 --- a/setup.py +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright FuseSoC contributors -# Licensed under the 2-Clause BSD License, see LICENSE for details. -# SPDX-License-Identifier: BSD-2-Clause - -import os - -from setuptools import setup - - -def read(fname): - return open(os.path.join(os.path.dirname(__file__), fname)).read() - - -setup( - name="fusesoc", - packages=["fusesoc", "fusesoc.capi2", "fusesoc.provider", "fusesoc.parser"], - use_scm_version={ - "relative_to": __file__, - "write_to": "fusesoc/version.py", - }, - author="Olof Kindgren", - author_email="olof.kindgren@gmail.com", - description=( - "FuseSoC is a package manager and a set of build tools for HDL " - "(Hardware Description Language) code." - ), - license="BSD-2-Clause", - keywords=[ - "VHDL", - "verilog", - "hdl", - "rtl", - "synthesis", - "FPGA", - "simulation", - "Xilinx", - "Altera", - ], - url="https://github.com/olofk/fusesoc", - long_description=read("README.md"), - long_description_content_type="text/markdown", - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Topic :: Utilities", - "Topic :: Software Development :: Build Tools", - "License :: OSI Approved :: BSD License", - ], - entry_points={"console_scripts": ["fusesoc = fusesoc.main:main"]}, - setup_requires=[ - "setuptools_scm < 7.0; python_version<'3.7'", - "setuptools_scm; python_version>='3.7'", - ], - install_requires=[ - "edalize>=0.4.1", - "pyparsing>=2.3.1", - "pyyaml>=6.0", - "simplesat>=0.8.0", - "fastjsonschema", - "jsonschema2md", - ], - # Supported Python versions: 3.6+ - python_requires=">=3.6, <4", -)