Fix breakage in setuptools-69.0.0 by cleaning up setup.py

Hello,

Setuptools 69.0.0 deprecated a bunch stuff leading to a nasty errors during install.

> File "/tmp/pip-build-env-w815o5v3/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py", line 183, in _license
>          _set_config(dist, "license", val["text"])
>                                       ~~~^^^^^^^^
> KeyError: 'text'
> [end of output]

__version__.py wasn't used anywhere except setup.py so removing and setting it all pyproject.toml is safe.

During this decided to move as much as I could out of setup.py, zip-safe has been obsolete for modern setuptools installation methods so dropped it.

From c0be008217350f03de7f856866a402d95b5db2a3 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Tue, 21 Nov 2023 15:13:35 +0200
Subject: [PATCH] Move metadata to project.toml

* Setuptools 69.0.0 deprecated a slew of old style configurations.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
This commit is contained in:
parona' via Olm 2023-11-21 17:20:39 +00:00 committed by Hubert Chathi
parent 4beb2487ce
commit bbdac4045d
4 changed files with 12 additions and 43 deletions

View file

@ -1,9 +0,0 @@
__title__ = "python-olm"
__description__ = ("python CFFI bindings for the olm "
"cryptographic ratchet library")
__url__ = "https://gitlab.matrix.org/matrix-org/olm/-/tree/master/python"
__version__ = "3.2.15"
__author__ = "Damir Jelić"
__author_email__ = "poljar@termina.org.uk"
__license__ = "Apache 2.0"
__copyright__ = "Copyright 2018-2019 Damir Jelić, 2019-2023 The Matrix.org Foundation C.I.C."

View file

@ -1,14 +1,22 @@
[build-system]
requires = ["setuptools", "cffi>=1.0.0"]
build-backend = "setuptools.build_meta"
[project] [project]
name = "python-olm" name = "python-olm"
version = "3.2.15" version = "3.2.15"
description = "python CFFI bindings for the olm cryptographic ratchet library" description = "python CFFI bindings for the olm cryptographic ratchet library"
authors = [{name = "Damir Jelić", email = "poljar@termina.org.uk"}] authors = [{name = "Damir Jelić", email = "poljar@termina.org.uk"}]
license = {text = "Apache-2.0"}
readme = "README.md"
classifiers = [ classifiers = [
"License :: OSI Approved :: Apache Software License", "License :: OSI Approved :: Apache Software License",
"Topic :: Communications", "Topic :: Communications",
] ]
dependencies = ["cffi>=1.0.0"] dependencies = ["cffi>=1.0.0"]
[build-system] [project.urls]
requires = ["setuptools", "cffi>=1.0.0"] homepage = "https://gitlab.matrix.org/matrix-org/olm/-/tree/master/python"
build-backend = "setuptools.build_meta"
[tool.setuptools]
packages = [ "olm" ]

View file

@ -3,6 +3,3 @@ testpaths = tests
flake8-ignore = flake8-ignore =
olm/*.py F401 olm/*.py F401
tests/*.py W503 tests/*.py W503
[coverage:run]
omit=olm/__version__.py

View file

@ -1,33 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os
from codecs import open
from setuptools import setup from setuptools import setup
here = os.path.abspath(os.path.dirname(__file__))
about = {}
with open(os.path.join(here, "olm", "__version__.py"), "r", "utf-8") as f:
exec(f.read(), about)
setup( setup(
name=about["__title__"], cffi_modules=["olm_build.py:ffibuilder"]
version=about["__version__"],
description=about["__description__"],
author=about["__author__"],
author_email=about["__author_email__"],
url=about["__url__"],
license=about["__license__"],
packages=["olm"],
setup_requires=["cffi>=1.0.0"],
cffi_modules=["olm_build.py:ffibuilder"],
install_requires=[
"cffi>=1.0.0",
"typing;python_version<'3.5'"
],
zip_safe=False,
package_data={
"olm": ["py.typed"]
}
) )