diff --git a/python-aiohttp.spec b/python-aiohttp.spec index 1308130..adfb78b 100644 --- a/python-aiohttp.spec +++ b/python-aiohttp.spec @@ -8,6 +8,8 @@ Summary: Python HTTP client/server for asyncio License: ASL 2.0 URL: https://github.com/aio-libs/aiohttp Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz +# Unbundle http-parser +Patch0: unbundle-http-parser.patch BuildRequires: gcc BuildRequires: http-parser-devel @@ -33,10 +35,7 @@ server side of the HTTP protocol, client and server websocket, and webservers with middlewares and pluggable routing. %prep -%autosetup -n %{srcname}-%{version} -# Unbundle -sed -i -e '/http_parser.h/s/".*\//"/' aiohttp/_cparser.pxd -sed -i -e '/http_parser\.c/d' setup.py +%autosetup -p 1 -n %{srcname}-%{version} %build %py3_build diff --git a/unbundle-http-parser.patch b/unbundle-http-parser.patch new file mode 100644 index 0000000..b9aa58e --- /dev/null +++ b/unbundle-http-parser.patch @@ -0,0 +1,23 @@ +diff -Nur aiohttp-3.6.1/aiohttp/_cparser.pxd aiohttp-3.6.1.new/aiohttp/_cparser.pxd +--- aiohttp-3.6.1/aiohttp/_cparser.pxd 2019-09-19 17:52:35.000000000 +0200 ++++ aiohttp-3.6.1.new/aiohttp/_cparser.pxd 2019-09-21 15:54:52.313964294 +0200 +@@ -1,7 +1,7 @@ + from libc.stdint cimport uint16_t, uint32_t, uint64_t + + +-cdef extern from "../vendor/http-parser/http_parser.h": ++cdef extern from "http_parser.h": + ctypedef int (*http_data_cb) (http_parser*, + const char *at, + size_t length) except -1 +diff -Nur aiohttp-3.6.1/setup.py aiohttp-3.6.1.new/setup.py +--- aiohttp-3.6.1/setup.py 2019-09-19 17:52:35.000000000 +0200 ++++ aiohttp-3.6.1.new/setup.py 2019-09-21 15:55:15.423495152 +0200 +@@ -27,7 +27,6 @@ + extensions = [Extension('aiohttp._websocket', ['aiohttp/_websocket.c']), + Extension('aiohttp._http_parser', + ['aiohttp/_http_parser.c', +- 'vendor/http-parser/http_parser.c', + 'aiohttp/_find_header.c'], + define_macros=[('HTTP_PARSER_STRICT', 0)], + ),