Skip to content

Commit 6bb9eb5

Browse files
committed
up to 1.68.0
add fix for llhttp build failure on armv7hnl - submitted upstream: nodejs/llparse#79 but it does not look like it's gonna be merged any time soon
1 parent b5a34b2 commit 6bb9eb5

File tree

2 files changed

+39
-5
lines changed

2 files changed

+39
-5
lines changed

llhttp-neon.patch

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
--- nghttp2-1.68.0/third-party/llhttp/src/llhttp.c.orig 2025-10-25 10:47:53.011444055 +0200
2+
+++ nghttp2-1.68.0/third-party/llhttp/src/llhttp.c 2025-10-25 11:07:50.499898539 +0200
3+
@@ -2639,17 +2639,17 @@
4+
/* Find first character that does not match `ranges` */
5+
single = vceqq_u8(input, vdupq_n_u8(0x9));
6+
mask = single;
7+
- single = vandq_u16(
8+
+ single = vandq_u8(
9+
vcgeq_u8(input, vdupq_n_u8(' ')),
10+
vcleq_u8(input, vdupq_n_u8('~'))
11+
);
12+
- mask = vorrq_u16(mask, single);
13+
- single = vandq_u16(
14+
+ mask = vorrq_u8(mask, single);
15+
+ single = vandq_u8(
16+
vcgeq_u8(input, vdupq_n_u8(0x80)),
17+
vcleq_u8(input, vdupq_n_u8(0xff))
18+
);
19+
- mask = vorrq_u16(mask, single);
20+
- narrow = vshrn_n_u16(mask, 4);
21+
+ mask = vorrq_u8(mask, single);
22+
+ narrow = vshrn_n_u16(vreinterpretq_u16_u8(mask), 4);
23+
match_mask = ~vget_lane_u64(vreinterpret_u64_u8(narrow), 0);
24+
match_len = __builtin_ctzll(match_mask) >> 2;
25+
if (match_len != 16) {
26+
@@ -10096,4 +10096,4 @@
27+
}
28+
29+
return 0;
30+
-}
31+
\ No newline at end of file
32+
+}

nghttp2.spec

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
Summary: HTTP/2.0 C library
1313
Summary(pl.UTF-8): Biblioteka C HTTP/2.0
1414
Name: nghttp2
15-
Version: 1.67.1
15+
Version: 1.68.0
1616
Release: 1
1717
License: MIT
1818
Group: Libraries
1919
#Source0Download: https://github.com/nghttp2/nghttp2/releases
2020
Source0: https://github.com/nghttp2/nghttp2/releases/download/v%{version}/%{name}-%{version}.tar.xz
21-
# Source0-md5: 87083f18d6b44c38a4b21a887faa3e86
21+
# Source0-md5: d5ba082629f15c67e72b4c26f7935500
22+
Patch0: llhttp-neon.patch
2223
URL: https://nghttp2.org/
2324
BuildRequires: autoconf >= 2.61
2425
BuildRequires: automake
@@ -39,9 +40,9 @@ BuildRequires: libev-devel
3940
BuildRequires: libevent-devel >= 2.0.8
4041
BuildRequires: libstdc++-devel >= 6:12
4142
BuildRequires: libxml2-devel >= 1:2.6.26
42-
%{?with_http3:BuildRequires: nghttp3-devel >= 1.11.0}
43-
%{?with_http3:BuildRequires: ngtcp2-devel >= 1.15.0}
44-
#%{?with_http3:BuildRequires: ngtcp2-crypto-quictls >= 1.15.0 or ngtcp2-crypto-boringssl}
43+
%{?with_http3:BuildRequires: nghttp3-devel >= 1.12.0}
44+
%{?with_http3:BuildRequires: ngtcp2-devel >= 1.16.0}
45+
#%{?with_http3:BuildRequires: ngtcp2-crypto-quictls >= 1.16.0 or ngtcp2-crypto-boringssl}
4546
BuildRequires: openssl-devel >= 1.1.1
4647
%{?with_http3:BuildRequires: openssl-devel(quic)}
4748
%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
@@ -107,6 +108,7 @@ Statyczna biblioteka libnghttp2.
107108

108109
%prep
109110
%setup -q
111+
%patch -P0 -p1
110112

111113
%build
112114
%{__libtoolize}

0 commit comments

Comments
 (0)