File mingw64-nghttp3.spec of Package mingw64-nghttp3

#
# spec file for package mingw64-nghttp3
#
# Copyright (c) 2025, Martin Hauke <mardnh@gmx.de>
#
# 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 http://bugs.opensuse.org/
#


%define sover 9
%define realname nghttp3
%define libname mingw64-lib%{realname}-%{sover}
Name:           mingw64-%{realname}
Version:        1.12.0
Release:        0
Summary:        Implementation of Hypertext Transfer Protocol version 3 in C
License:        MIT
Group:          Development/Libraries/C and C++
URL:            https://nghttp2.org/nghttp3/
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:        %{name}.keyring
BuildRequires:  mingw64-cross-gcc-c++
BuildRequires:  mingw64-cross-pkgconf
BuildRequires:  mingw64-cross-cmake
%_mingw64_package_header_debug
BuildArch:      noarch

%description
nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and
RFC 9204 QPACK in C.

%package -n %{libname}
Summary:        Hypertext Transfer Protocol version 3 implementation
Group:          System/Libraries

%description -n %{libname}
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 devel
Summary:        Development files for nghttp3
Group:          Development/Languages/C and C++
Requires:       %{libname} = %{version}

%description devel
Development files for usage with libnghttp3, which implements
Hypertext Transfer Protocol version 3.

%_mingw64_debug_package

%prep
%autosetup -p1 -n %{realname}-%{version}

%build
%{_mingw64_cmake} \
  -DENABLE_LIB_ONLY=ON \
  -DENABLE_STATIC_LIB=OFF \
  -DCMAKE_DLL_NAME_WITH_SOVERSION=ON
%{_mingw64_cmake_build}

%install
%{_mingw64_cmake_install}
rm -v %{buildroot}%{_mingw64_docdir}/nghttp3/README.rst

%files -n %{libname}
%license COPYING
%{_mingw64_bindir}/libnghttp3-%{sover}.dll

%files devel
%license COPYING
%doc README.rst
%{_mingw64_includedir}/nghttp3
%{_mingw64_libdir}/libnghttp3.dll.a
%{_mingw64_libdir}/pkgconfig/libnghttp3.pc
%{_mingw64_libdir}/cmake/nghttp3

%changelog
openSUSE Build Service is sponsored by