17
0

- Switch to autosetup and pyproject macros.

- Add patch remove-imp-module.patch:
  * Use importlib, not imp.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-http-parser?expand=0&rev=36
This commit is contained in:
2024-01-11 03:17:22 +00:00
committed by Git OBS Bridge
parent 1f280e5672
commit f6bb93bd2a
3 changed files with 52 additions and 3 deletions

View File

@@ -1,9 +1,11 @@
-------------------------------------------------------------------
Thu Jan 11 02:06:44 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
Thu Jan 11 03:17:05 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Switch to pyproject macro.
- Switch to autosetup and pyproject macros.
- Stop using greedy globs in %files.
- Actually run fdupes.
- Add patch remove-imp-module.patch:
* Use importlib, not imp.
-------------------------------------------------------------------
Wed Jun 17 04:47:07 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -23,6 +23,8 @@ Summary: HTTP Request/Response Parser for Python in C
License: MIT
URL: https://github.com/benoitc/http-parser/
Source: https://files.pythonhosted.org/packages/source/h/http-parser/http-parser-%{version}.tar.gz
# PATCH-FIX-UPSTREAM gh#benoitc/http-parser#101
Patch0: remove-imp-module.patch
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pip}
@@ -37,7 +39,7 @@ HTTP request/response parser for Python in C, based on
http-parser from Ryan Dahl.
%prep
%setup -q -n http-parser-%{version}
%autosetup -p1 -n http-parser-%{version}
%build
# fix wrongly generated cyx files

45
remove-imp-module.patch Normal file
View File

@@ -0,0 +1,45 @@
From 4d4984ce129253f9de475bfd3c683301c916e8b1 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Thu, 11 Jan 2024 14:14:07 +1100
Subject: [PATCH] Switch to importlib in setup.py
The imp module has been deprecated and was removed in Python 3.12.
Switch to using importlib functions to load the module, rather than
imp.load_source().
Fixes #99
---
setup.py | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 5c3f768..04de1d0 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,8 @@
from distutils.command.build_ext import build_ext
from distutils.command.sdist import sdist as _sdist
import glob
-from imp import load_source
+import importlib.machinery
+import importlib.util
import io
import os
import shutil
@@ -28,6 +29,16 @@
# find the compiler
ext_errors += (IOError,)
+
+def load_source(modname, filename):
+ loader = importlib.machinery.SourceFileLoader(modname, filename)
+ spec = importlib.util.spec_from_file_location(
+ modname, filename, loader=loader)
+ module = importlib.util.module_from_spec(spec)
+ loader.exec_module(module)
+ return module
+
+
http_parser = load_source("http_parser", os.path.join("http_parser",
"__init__.py"))