diff --git a/python-bottle.changes b/python-bottle.changes index 7c1f96e..2e6ace4 100644 --- a/python-bottle.changes +++ b/python-bottle.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Oct 18 05:46:24 UTC 2023 - Steve Kowalik + +- Add patch update-module-loader.patch: + * Add find_spec to the magic bottle.ext loader, Python 3.12 no longer + calls find_module. +- Switch to pyproject and autosetup macros. + ------------------------------------------------------------------- Fri May 19 09:25:55 UTC 2023 - Jiri Srain diff --git a/python-bottle.spec b/python-bottle.spec index bac8e28..98138ef 100644 --- a/python-bottle.spec +++ b/python-bottle.spec @@ -25,7 +25,11 @@ License: MIT URL: https://bottlepy.org/ Source: https://files.pythonhosted.org/packages/source/b/bottle/bottle-%{version}.tar.gz Source1: http://bottlepy.org/docs/0.12/bottle-docs.pdf +# PATCH-FIX-UPSTREAM gh#bottlepy/bottle#ca6762c559c5e71e0dff71dc97eb4c6b3ed9bbcd +Patch0: update-module-loader.patch +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires(post): update-alternatives @@ -56,15 +60,14 @@ This subpackage contains the PDF documentation for %{name}. %endif %prep -%setup -q -n bottle-%{version} - +%autosetup -p1 -n bottle-%{version} cp %{SOURCE1} . %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %python_clone -a %{buildroot}%{_bindir}/bottle.py @@ -83,7 +86,7 @@ cp %{SOURCE1} . %python_alternative %{_bindir}/bottle.py %{python_sitelib}/bottle.py* %pycache_only %{python_sitelib}/__pycache__ -%{python_sitelib}/bottle-%{version}-py%{python_version}.egg-info +%{python_sitelib}/bottle-%{version}.dist-info %if 0%{?suse_version} > 1500 %files -n %{name}-doc diff --git a/update-module-loader.patch b/update-module-loader.patch new file mode 100644 index 0000000..1177598 --- /dev/null +++ b/update-module-loader.patch @@ -0,0 +1,32 @@ +From ca6762c559c5e71e0dff71dc97eb4c6b3ed9bbcd Mon Sep 17 00:00:00 2001 +From: Marcel Hellkamp +Date: Sun, 12 Jun 2022 15:15:35 +0200 +Subject: [PATCH] Fix #1378: Module loader should move from find_mdoule to + find_spec. + +--- + bottle.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +Index: bottle-0.12.25/bottle.py +=================================================================== +--- bottle-0.12.25.orig/bottle.py ++++ bottle-0.12.25/bottle.py +@@ -1803,10 +1803,15 @@ class _ImportRedirect(object): + '__all__': [], '__loader__': self}) + sys.meta_path.append(self) + ++ def find_spec(self, fullname, path, target=None): ++ if '.' not in fullname: return ++ if fullname.rsplit('.', 1)[0] != self.name: return ++ from importlib.util import spec_from_loader ++ return spec_from_loader(fullname, self) ++ + def find_module(self, fullname, path=None): + if '.' not in fullname: return +- packname = fullname.rsplit('.', 1)[0] +- if packname != self.name: return ++ if fullname.rsplit('.', 1)[0] != self.name: return + return self + + def load_module(self, fullname):