Preparations for PEP440 support

Currrently, builds for patches are broken because the version numbers
generated for them are not valid according to PEP 440 [1].

This has to be solved in several steps, in coordination with the
packaging code. Procedure will be the same as for core.sr.ht:

https://git.sr.ht/~sircmpwn/core.sr.ht/commit/57ee3427

The only difference is that the extra build step (running `make`) will
remain in `setup.py` (as there is no generic mechanism for this in
`pyproject.toml`). This just means the build process will still always
have to be performed with setuptools as backend.

[1] https://peps.python.org/pep-0440
This commit is contained in:
Conrad Hoffmann 2024-10-28 11:10:08 +01:00
parent fdfff83511
commit 597f17e1f0
3 changed files with 44 additions and 0 deletions

1
.git_archival.txt Normal file
View file

@ -0,0 +1 @@
describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
.git_archival.txt export-subst

42
pyproject.toml Normal file
View file

@ -0,0 +1,42 @@
[build-system]
requires = ["setuptools", "setuptools_scm"]
build-backend = "setuptools.build_meta"
[project]
name = "hubsrht"
dynamic = ["version"]
description = "hub.sr.ht website"
readme = "README.md"
authors = [{name = "Drew DeVault", email = "sir@cmpwn.com"}]
dependencies = [
"srht",
]
license.text = "AGPL-3.0-only"
[project.urls]
repository = "https://git.sr.ht/~sircmpwn/hub.sr.ht"
[tool.setuptools]
# This defaults to true, but we explicitly specify what we want included in the
# package via packages and tool.setuptools.package-data below.
include-package-data = false
packages = [
"hubsrht",
"hubsrht.alembic",
"hubsrht.alembic.versions",
"hubsrht.blueprints",
"hubsrht.static",
"hubsrht.static.icons",
"hubsrht.templates",
"hubsrht.types",
]
script-files = [
"hubsrht-initdb",
"hubsrht-migrate",
]
[tool.setuptools.package-data]
"hubsrht.templates" = ['*.html']
"hubsrht.static" = ['*']
"hubsrht.static.icons" = ['*']
[tool.setuptools_scm]