# # spec file for package nghttp3 # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global soname libnghttp3 %global sover 9 Name: nghttp3 Version: 1.7.0 Release: 1.2 Summary: Implementation of Hypertext Transfer Protocol version 3 in C License: MIT Group: Development/Libraries/C and C++ URL: https://github.com/ngtcp2/nghttps Source0: https://github.com/ngtcp2/nghttp3/releases/download/v%{version}/nghttp3-%{version}.tar.xz Source1: https://github.com/ngtcp2/nghttp3/releases/download/v%{version}/nghttp3-%{version}.tar.xz.asc Source2: nghttp3.keyring Source3: baselibs.conf BuildRequires: gcc-c++ BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: pkgconfig(cunit) %description nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C. It does not depend on any particular QUIC transport implementation. This library implements RFC 9114 HTTP/3. It does not support server push. The following extensions have been implemented: Extensible Prioritization Scheme for HTTP Bootstrapping WebSockets with HTTP/3 %package -n %{soname}-%{sover} Summary: Shared library for nghttp3 Group: System/Libraries %description -n %{soname}-%{sover} Shared C libraries for implementation of Hypertext Transfer Protocol version 3. %package -n %{soname}-devel Summary: Development files for nghttp3 Group: Development/Languages/C and C++ Requires: %{soname}-%{sover} = %{version} Provides: %{name}-devel = %{version} %description -n %{soname}-devel Development files for usage with libnghttp3, which implements Hypertext Transfer Protocol version 3. %prep %setup -q -n nghttp3-%{version} %build %configure \ --disable-static \ --disable-silent-rules \ --enable-lib-only \ --with-cunit \ %{nil} %make_build all %install %make_install find %{buildroot} -type f -name "*.la" -delete -print # Do not ship this rm -rf %{buildroot}%{_datadir}/doc/nghttp3 # None of applications using these man pages are built. rm -rf %{buildroot}%{_mandir}/man1/* \ doc/manual/html/.buildinfo %check %make_build check %ldconfig_scriptlets -n %{soname}-%{sover} %files -n %{soname}-%{sover} %license COPYING %{_libdir}/%{soname}.so.%{sover}* %files -n %{soname}-devel %dir %{_includedir}/%{name}/ %{_includedir}/%{name}/*.h %{_libdir}/%{soname}.so %{_libdir}/pkgconfig/%{soname}.pc %changelog * Sat Feb 8 2025 Dirk Müller - update to 1.7.0: * Remove extra semicolons * Do not allow '@' in :authority or host field value * Fix compile error with NDEBUG * Port ngtcp2_ksl changes that introduced ngtcp2_ksl_search - update to 1.6.0: * Fix cmake export * Fix include export * Fix ARM64 __popcnt intrinsics * Refactor qpack reserve_buf * Fix potential overflow * nghttp3_map: Port ngtcp2 changes * Optimize nghttp3_read_varint * Consistent macro comments * clang-format files under fuzz * ispow2: Better fallback implementation * Refactor http on header * Simplify http_request_on_header and http_response_on_header * qpack: Switch on opcode * Do huffman encoding only when the reduction is more than 25%% * Optimize nghttp3_check_header_value * Revert "Optimize nghttp3_check_header_value" * cmake: Remove trailing spaces * Optimize nghttp3_check_header_value - update to 1.5.0: * Fix format in nghttp3_macro.h * Bump clang format * cmake: Fix linker warning LNK4291 when linking static lib to the final binary * Ngtcp2 port * nghttp3_idtr: Remove server field * Port ngtcp2 changes * Add examples links * Mon Jun 17 2024 Dirk Müller - update to 1.4.0: * Introduce typed nghttp3_min and nghttp3_max * Remove nghttp3_min and nghttp3_max * Added options to command find_package * Adjust memory pool allocation units to reduce allocation size - update to 1.3.0: * Refactor stream data acknowledgement * Do not call acked_data with 0 length data * Qpack tweak * Avoid assigning zero after memset * Lower decoder stream limit * Workaround llvm issue on github ubuntu runner * cmake: add BUILD_TESTING, fix MSVC with static + shared - update to 1.2.0: * Clarify the behavior when a stream is not found * Fix typo * cmake: restore `ENABLE_STATIC_CRT` and `ENABLE_ASAN` options * Add nghttp3_conn_update_ack_offset * Add include path to munit directory * Bump munit * Shrink nghttp3_stream size * Fix typo * Bump munit * Bump submodules * Thu Dec 28 2023 Dirk Müller - update to 1.1.0: * Bump clang to 15 * Bump clang-format to 15 * windows: Fix warnings * Use __FILE_NAME__ instead of __FILE__ * Add nghttp3_pri_parse_priority * Define varint identifiers as macros * Fix doc * Tue Nov 7 2023 Dirk Müller - Initial package (1.0.0)