forked from pool/python-http-parser
Accepting request 1146668 from devel:languages:python
- 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. OBS-URL: https://build.opensuse.org/request/show/1146668 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-http-parser?expand=0&rev=18
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 11 03:17:05 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- 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>
|
Wed Jun 17 04:47:07 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-http-parser
|
# spec file for package python-http-parser
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,18 +16,21 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
||||||
Name: python-http-parser
|
Name: python-http-parser
|
||||||
Version: 0.9.0
|
Version: 0.9.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: HTTP Request/Response Parser for Python in C
|
Summary: HTTP Request/Response Parser for Python in C
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Languages/Python
|
|
||||||
URL: https://github.com/benoitc/http-parser/
|
URL: https://github.com/benoitc/http-parser/
|
||||||
Source: https://files.pythonhosted.org/packages/source/h/http-parser/http-parser-%{version}.tar.gz
|
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 Cython}
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
@@ -36,22 +39,24 @@ HTTP request/response parser for Python in C, based on
|
|||||||
http-parser from Ryan Dahl.
|
http-parser from Ryan Dahl.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n http-parser-%{version}
|
%autosetup -p1 -n http-parser-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# fix wrongly generated cyx files
|
# fix wrongly generated cyx files
|
||||||
find . -name '*.pyx' -exec cython {} \;
|
find . -name '*.pyx' -exec cython {} \;
|
||||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||||
%python_build
|
%pyproject_wheel
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%pyproject_install
|
||||||
# Remove exec bits from example scripts
|
# Remove exec bits from example scripts
|
||||||
chmod a-x examples/*
|
chmod a-x examples/*
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc NOTICE README.rst examples
|
%doc NOTICE README.rst examples
|
||||||
%{python_sitearch}/*
|
%{python_sitearch}/http_parser
|
||||||
|
%{python_sitearch}/http_parser-%{version}.dist-info
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
45
remove-imp-module.patch
Normal file
45
remove-imp-module.patch
Normal 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"))
|
||||||
|
|
||||||
Reference in New Issue
Block a user