aboutsummaryrefslogtreecommitdiffstats
path: root/setup-standalone.in
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-01-16 21:51:09 +0100
committerTristan Gingold <tgingold@free.fr>2023-01-16 21:51:09 +0100
commit4f049968ed5b09b28fa6f7642129bf519ae495b1 (patch)
tree32474feb7b1b1272d4d65c28c1a347c8a03aa3a2 /setup-standalone.in
parent27812b602d2dfc452895c156bf0376bdcda71c8c (diff)
downloadghdl-4f049968ed5b09b28fa6f7642129bf519ae495b1.tar.gz
ghdl-4f049968ed5b09b28fa6f7642129bf519ae495b1.tar.bz2
ghdl-4f049968ed5b09b28fa6f7642129bf519ae495b1.zip
Makefile.in: add a recipe for python-bwheel
Diffstat (limited to 'setup-standalone.in')
-rw-r--r--setup-standalone.in101
1 files changed, 101 insertions, 0 deletions
diff --git a/setup-standalone.in b/setup-standalone.in
new file mode 100644
index 000000000..7c7c8d4ff
--- /dev/null
+++ b/setup-standalone.in
@@ -0,0 +1,101 @@
+# =============================================================================
+# ____ _ _ ____ _
+# _ __ _ _ / ___| | | | _ \| |
+# | '_ \| | | | | _| |_| | | | | |
+# | |_) | |_| | |_| | _ | |_| | |___
+# | .__/ \__, |\____|_| |_|____/|_____|
+# |_| |___/
+# =============================================================================
+# Authors:
+# Tristan Gingold
+# Patrick Lehmann
+# Unai Martinez-Corral
+#
+# Package installer: Python binding for GHDL and high-level APIs.
+#
+# License:
+# ============================================================================
+# Copyright (C) 2019-2021 Tristan Gingold
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <gnu.org/licenses>.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+# ============================================================================
+#
+from setuptools import setup, find_packages, Distribution
+
+from pathlib import Path
+from pyTooling.Packaging import loadRequirementsFile
+import glob
+
+requirementsFile = Path("dist-wheel/pyGHDL/requirements.txt")
+install_requires=list(set(loadRequirementsFile(requirementsFile)))
+
+#@__init__.py variables
+
+# Extend the Distribution class to force platform specific wheel
+class BinaryDistribution (Distribution):
+ def has_ext_modules(self):
+ return True
+
+# Package data files
+dist_dir="dist-wheel/pyGHDL"
+package_data=[]
+package_data.extend(glob.glob(dist_dir+"/lib/ghdl/**/*.vhdl", recursive=True))
+package_data.extend(glob.glob(dist_dir+"/lib/ghdl/**/*.cf", recursive=True))
+package_data.extend(glob.glob(dist_dir+"/lib/lib*" + soext))
+package_data=[x[len(dist_dir)+1:] for x in package_data]
+
+setup(
+ name="pyGHDL",
+ version=__version__,
+ author=__author__,
+ author_email=__email__,
+ license="GPL-2.0-or-later",
+ description="Python binding for GHDL and high-level APIs (incl. LSP).",
+ long_description=open("dist-wheel/pyGHDL/README.md","r").read(),
+ long_description_content_type="text/markdown",
+ url="https://github.com/ghdl/ghdl",
+ project_urls={"Documentation": "https://ghdl.github.io/ghdl",
+ "Source Code": "https://github.com/ghdl/ghdl",
+ "Issue Tracker": "https://github.com/ghdl/ghdl/issues"},
+ packages=find_packages("dist-wheel"),
+ package_dir={"": "dist-wheel"},
+ classifiers=[
+ "Programming Language :: Python :: 3 :: Only",
+ "Development Status :: Beta",
+ "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
+ "Operating System :: MacOS",
+ "Operating System :: Microsoft :: Windows :: Windows 10",
+ "Operating System :: POSIX :: Linux",
+ "Intended Audience :: Developers",
+ "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
+ "Topic :: Software Development :: Code Generators",
+ "Topic :: Software Development :: Compilers",
+ "Topic :: Software Development :: Testing",
+ "Topic :: Utilities",
+ ],
+ keywords=__keywords__,
+ entry_points={
+ 'console_scripts': [
+ "ghdl-ls=pyGHDL.cli.lsp:main",
+ "ghdl-dom=pyGHDL.cli.dom:main"
+ ]
+ },
+ python_requires=">=3.8",
+ install_requires=install_requires,
+ package_data={'pyGHDL': package_data},
+ include_package_data=True,
+ distclass = BinaryDistribution,
+ )