Unbundle llhttp

This commit is contained in:
Benjamin A. Beasley 2021-12-24 14:13:06 -05:00
parent 17a8bf379c
commit 767ad756c6
3 changed files with 35 additions and 25 deletions

View File

@ -0,0 +1,29 @@
diff -Naur aiohttp-3.8.1-original/aiohttp/_http_parser.c aiohttp-3.8.1/aiohttp/_http_parser.c
--- aiohttp-3.8.1-original/aiohttp/_http_parser.c 2021-11-14 15:05:16.000000000 -0500
+++ aiohttp-3.8.1/aiohttp/_http_parser.c 2021-12-24 14:10:29.592094322 -0500
@@ -620,7 +620,7 @@
#include "pythread.h"
#include <limits.h>
#include <stdint.h>
-#include "../vendor/llhttp/build/llhttp.h"
+#include "llhttp.h"
#include "_find_header.h"
#ifdef _OPENMP
#include <omp.h>
diff -Naur aiohttp-3.8.1-original/setup.py aiohttp-3.8.1/setup.py
--- aiohttp-3.8.1-original/setup.py 2021-11-14 15:05:00.000000000 -0500
+++ aiohttp-3.8.1/setup.py 2021-12-24 14:10:00.781760798 -0500
@@ -33,12 +33,8 @@
[
"aiohttp/_http_parser.c",
"aiohttp/_find_header.c",
- "vendor/llhttp/build/c/llhttp.c",
- "vendor/llhttp/src/native/api.c",
- "vendor/llhttp/src/native/http.c",
],
- define_macros=[("LLHTTP_STRICT_MODE", 0)],
- include_dirs=["vendor/llhttp/build"],
+ libraries=["llhttp"],
),
Extension("aiohttp._helpers", ["aiohttp/_helpers.c"]),
Extension("aiohttp._http_writer", ["aiohttp/_http_writer.c"]),

View File

@ -9,10 +9,11 @@ License: ASL 2.0
URL: https://github.com/aio-libs/aiohttp
Source0: %{pypi_source}
Patch0: aiohttp-3.8.1-unbundle-llhttp.patch
BuildRequires: gcc
# Replacement for http-parser
Provides: bundled(llhttp)
BuildRequires: llhttp-devel
# EPEL8 is utilizing the CentOS Devel repo for some packages. However, this is
# not available for s390x, so exclude it.
@ -43,6 +44,8 @@ with middlewares and pluggable routing.
%prep
%autosetup -p 1 -n %{srcname}-%{version}
# Remove bundled llhttp
rm -rvf vendor/llhttp
%build
%py3_build
@ -60,6 +63,7 @@ with middlewares and pluggable routing.
%changelog
* Fri Dec 24 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 3.8.1-2
- Stop disabling debug packages
- Unbundle llhttp
* Wed Dec 01 2021 Fabian Affolter <mail@fabian-affolter.ch> - 3.8.1-1
- Update to latest upstream release 3.8.1

View File

@ -1,23 +0,0 @@
diff -Nur aiohttp-3.7.1/aiohttp/_cparser.pxd aiohttp-3.7.1-new/aiohttp/_cparser.pxd
--- aiohttp-3.7.1/aiohttp/_cparser.pxd 2020-10-25 08:26:45.000000000 +0100
+++ aiohttp-3.7.1-new/aiohttp/_cparser.pxd 2020-10-26 09:07:05.024487885 +0100
@@ -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.7.1/setup.py aiohttp-3.7.1-new/setup.py
--- aiohttp-3.7.1/setup.py 2020-10-25 08:26:45.000000000 +0100
+++ aiohttp-3.7.1-new/setup.py 2020-10-26 09:07:05.024487885 +0100
@@ -27,7 +27,6 @@
"aiohttp._http_parser",
[
"aiohttp/_http_parser.c",
- "vendor/http-parser/http_parser.c",
"aiohttp/_find_header.c",
],
define_macros=[("HTTP_PARSER_STRICT", 0)],