raven/base/rx/rx-nghttp2/nghttp2.spec
2024-11-11 15:20:09 +06:00

122 lines
2.9 KiB
RPMSpec

%global with_mingw 0
%global realname nghttp2
%global _prefix /opt/rx
%global _libdir %{_prefix}/%{_lib}
%global _includedir %{_prefix}/include
%global _libexecdir %{_prefix}/libexec
%global _datadir %{_prefix}/share
%global _mandir %{_datadir}/man
Summary: Experimental HTTP/2 client, server and proxy
Name: rx-nghttp2
Version: 1.62.1
Release: 1%{?dist}
# Parts of ruby bindings are additionally under GPL-2.0-or-later, MIT and
# HPND-Kevlin-Henney but they are NOT shipped.
License: MIT
URL: https://nghttp2.org/
Source0: https://github.com/tatsuhiro-t/nghttp2/releases/download/v%{version}/nghttp2-%{version}.tar.xz
BuildRequires: CUnit-devel
BuildRequires: c-ares-devel
%if 0%{?rhel} >= 8
BuildRequires: clang
%else
BuildRequires: gcc-c++
%endif
BuildRequires: libev-devel
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: pkgconfig(openssl) >= 3.0
BuildRequires: python3.11-devel python3.11-rpm-macros
BuildRequires: zlib-devel
# For gpg verification of source tarball
BuildRequires: gnupg2
%description
This package contains the HTTP/2 client, server and proxy programs.
%package -n rx-libnghttp2
Summary: A library implementing the HTTP/2 protocol
%description -n rx-libnghttp2
libnghttp2 is a library implementing the Hypertext Transfer Protocol
version 2 (HTTP/2) protocol in C.
%package -n rx-libnghttp2-devel
Summary: Files needed for building applications with libnghttp2
Requires: rx-libnghttp2%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description -n rx-libnghttp2-devel
The libnghttp2-devel package includes libraries and header files needed
for building applications with libnghttp2.
%prep
%autosetup -p1 -n %{realname}-%{version}
%build
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
export LDFLAGS="-L%{_libdir} -Wl,-rpath=%{_libdir} ${LDFLAGS:-%__global_ldflags}"
%if 0%{?rhel} >= 8
export CC=clang
export CXX=clang++
%endif
mkdir build
pushd build
%define _configure ../configure
%configure PYTHON=%{__python3} \
--disable-hpack-tools \
--disable-python-bindings \
--disable-static \
--with-libxml2
# avoid using rpath
sed -i libtool \
-e 's/^runpath_var=.*/runpath_var=/' \
-e 's/^hardcode_libdir_flag_spec=".*"$/hardcode_libdir_flag_spec=""/'
%make_build
popd
%install
pushd build
%make_install
# not needed on Fedora/RHEL
rm -f "$RPM_BUILD_ROOT%{_libdir}/libnghttp2.la"
# will be installed via %%doc
rm -f "$RPM_BUILD_ROOT%{_datadir}/doc/nghttp2/README.rst"
rm -rf %{buildroot}%{_bindir}
rm -rf %{buildroot}%{_mandir}
rm -rf %{buildroot}%{_unitdir}
rm -f %{buildroot}%{_datadir}/nghttp2/fetch-ocsp-response
%ldconfig_scriptlets -n rx-libnghttp2
%files -n rx-libnghttp2
%{_libdir}/libnghttp2.so.*
%{!?_licensedir:%global license %%doc}
%license COPYING
%files -n rx-libnghttp2-devel
%{_includedir}/nghttp2
%{_libdir}/pkgconfig/libnghttp2.pc
%{_libdir}/libnghttp2.so
%doc README.rst