changeset 390:1ea88e3bec25

On the default trunk begin a pure PEP 517 build configuration. This is Python3 only. Builds with Python2.7 and/or older Python3 versions are supported on the upcoming build-2.7 branch.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 16 Feb 2026 13:28:35 +0100
parents faa36af3c629
children 5b8c48e8c4ec
files pyproject.toml setup.cfg
diffstat 2 files changed, 58 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/pyproject.toml	Sun May 18 06:00:46 2025 +0200
+++ b/pyproject.toml	Mon Feb 16 13:28:35 2026 +0100
@@ -1,4 +1,61 @@
 # Pure-Python-Build
 [build-system]
-requires = ["setuptools>=43.0", "wheel>=0.33"]
+requires = ["setuptools>=77.0", "wheel>=0.33"]
 build-backend = "setuptools.build_meta"
+
+[project]
+name = "py-cutils"
+description = "Pure Python implementation of some coreutils with some extensions"
+#
+# NOTE: This is the *distribution* license (e.g. includes vendored stuff).
+#       There is no such thing here as a "project" license.
+#
+license = "BSD-3-Clause AND MIT"
+license-files = [
+  "LICENSES/BSD-3-Clause.txt",
+  "LICENSES/MIT.txt"
+]
+authors = [
+  {name = "Franz Glasner", email = "fzglas.hg@dom66.de"},
+]
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Environment :: Console",
+    "Intended Audience :: Developers",
+    "Intended Audience :: End Users/Desktop",
+    "Intended Audience :: System Administrators",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python :: 2.7",
+    "Programming Language :: Python :: 3",
+    "Topic :: System",
+    "Topic :: Utilities"
+]
+requires-python = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+dynamic = ["version", "readme"]
+
+[project.urls]
+homepage = "https://hg2.dom66.de/hgrepos/Python/apps/py-cutils"
+download = "https://pypi2.dom66.de/simple/py-cutils/"
+source = "https://hg2.dom66.de/hgrepos/Python/apps/py-cutils"
+
+[project.scripts]
+py-dos2unix = "cutils.dos2unix:main"
+py-genpwd = "cutils.genpwd:main"
+py-shasum = "cutils.shasum:main"
+py-treesum = "cutils.treesum:main"
+
+[tool.setuptools]
+include-package-data = false
+platforms = ["any"]
+zip-safe = true
+packages = [
+    "cutils",
+    "cutils.util",
+    "cutils.crcmod",
+    "cutils.crcmod.python2",
+    "cutils.crcmod.python3"
+]
+
+[tool.setuptools.dynamic]
+version = {attr = "cutils.__version__"}
+readme = {file = ["README.txt"], content-type = "text/x-rst"}
--- a/setup.cfg	Sun May 18 06:00:46 2025 +0200
+++ b/setup.cfg	Mon Feb 16 13:28:35 2026 +0100
@@ -9,53 +9,6 @@
 [sdist]
 formats = tar
 
-[metadata]
-name = py-cutils
-version = attr: cutils.__version__
-description = Pure Python implementation of some coreutils with some extensions
-author = Franz Glasner
-author_email = fzglas.hg@dom66.de
-license = BSD 3-Clause "New" or "Revised" License
-url = https://pypi.dom66.de/simple/py-cutils/
-download_url = https://pypi.dom66.de/simple/py-cutils/
-license_files =
-  LICENSES/BSD-3-Clause.txt
-  LICENSES/MIT.txt
-long_description = file: README.txt
-long_description_content_type = text/x-rst
-platforms = any
-classifiers =
-    Development Status :: 5 - Production/Stable
-    Environment :: Console
-    Intended Audience :: Developers
-    Intended Audience :: End Users/Desktop
-    Intended Audience :: System Administrators
-    License :: OSI Approved :: BSD License
-    Operating System :: OS Independent
-    Programming Language :: Python :: 2.7
-    Programming Language :: Python :: 3
-    Topic :: System
-    Topic :: Utilities
-
-[options]
-include_package_data = False
-zip_safe = True
-python_requires = >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
-packages =
-    cutils
-    cutils.util
-    cutils.crcmod
-    cutils.crcmod.python2
-    cutils.crcmod.python3
-
-[options.entry_points]
-console_scripts =
-    py-dos2unix = cutils.dos2unix:main
-    py-genpwd = cutils.genpwd:main
-    py-shasum = cutils.shasum:main
-    py-treesum = cutils.treesum:main
-
-
 [flake8]
 exclude =
     # Ignore the vendored crcmod2/crcmod sub-package