SHA256
1
0
forked from pool/nghttp2

Accepting request 341961 from home:XRevan86

- Update to 1.4.0.

OBS-URL: https://build.opensuse.org/request/show/341961
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/nghttp2?expand=0&rev=40
This commit is contained in:
Martin Pluskal 2015-11-01 19:46:13 +00:00 committed by Git OBS Bridge
parent 56effae15c
commit 4c3ad91dfa
6 changed files with 177 additions and 90 deletions

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libnghttp2-14
libnghttp2_asio1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87803308317247f90cab37cdba2eb45cf03a7f083fac5ed4e40f0937a9c37867
size 1271920

View File

@ -0,0 +1,31 @@
--- a/configure.ac
+++ b/configure.ac
@@ -695,6 +695,9 @@ if test "x$threads" != "xyes" ||
AC_DEFINE([NOTHREADS], [1], [Define to 1 if you want to disable threads.])
fi
+# propagate $enable_static to tests/Makefile.am
+AM_CONDITIONAL([ENABLE_STATIC], [test "x$enable_static" = "xyes"])
+
AC_SUBST([TESTLDADD])
AC_SUBST([APPLDFLAGS])
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -49,7 +49,15 @@ HFILES = nghttp2_pq_test.h nghttp2_map_t
main_SOURCES = $(HFILES) $(OBJECTS)
-main_LDADD = ${top_builddir}/lib/libnghttp2.la @CUNIT_LIBS@ @TESTLDADD@
+if ENABLE_STATIC
+main_LDADD = ${top_builddir}/lib/libnghttp2.la
+else
+# With static lib disabled and symbol hiding enabled, we have to link object
+# files directly because the tests use symbols not included in public API.
+main_LDADD = ${top_builddir}/lib/.libs/*.o
+endif
+
+main_LDADD += @CUNIT_LIBS@ @TESTLDADD@
main_LDFLAGS = -static
if ENABLE_FAILMALLOC

3
nghttp2-1.4.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20d1481fe7fa65fd4f25457a43406a6f627a34f19b61f488a18ab56e2ef15b65
size 1388820

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Sat Oct 31 10:21:56 UTC 2015 - sor.alexei@meowr.ru
- Update to 1.4.0:
* lib: Don't always expect dynamic table size update.
* lib: Shrink to the minimum table size seen in local SETTINGS.
* lib: Add new error code NGHTTP2_ERR_PAUSE to send_data_callback.
* lib: Avoid excessive WINDOW_UPDATE queuing.
* lib: Return fatal error if flooding is detected to close
session immediately.
* lib: Return type of nghttp2_submit_trailer is int.
* lib: Don't send WINDOW_UPDATE with 0 increment.
* lib: Fix bug that headers in CONTINUATION were ignored after
HEADERS with padding.
* package: Use -fvisibility=hidden for internal functions.
* package: Show more information in configure summary.
* package: Add PIDFile directive to systemd service.
* package: Fix daemon upgrade when running under systemd.
* app: Compile with BoringSSL.
* nghttp: Allow multiple -c option occurrence, and take min and
last value.
* nghttpd: Fix leak when server failed to listen to given port.
* nghttpx: Add TLS dynamic record size behaviour command line
options.
* nghttpx: Reduce default timeouts for read sockets to 1m.
* nghttpx: Fix bug that PUT is replaced with POST.
* nghttpx: Change mruby script handling.
* nghttpx: Added support for RFC 7413 (TCP Fast Open) on nghttpx
proxy listening connections.
* nghttpx: Add neverbleed support.
* h2load: Don't DOS our server!
* h2load: Use duration syntax for timeouts.
* h2load: Support subsecond rate period.
* h2load: Simplify rate mode.
* h2load: Add option for user-definable rate period.
* h2load: Reuse SSL/TLS session.
* h2load: Reconnect server on connection: close.
* h2load: Don't exit in the case of no ALPN protocol overlap.
* integration: Update go's http2 package URI.
- Add missing baselibs.conf.
- Add nghttp2-1.4.0-fix-tests.patch from commit 4825009.
- Small spec cleanup.
-------------------------------------------------------------------
Sun Sep 27 12:38:17 UTC 2015 - mpluskal@suse.com

View File

@ -16,18 +16,23 @@
#
%define lib_name lib%{name}-14
%define lib_name_asio lib%{name}_asio1
%define soname libnghttp2
%define sover 14
%define soname_asio libnghttp2_asio
%define sover_asio 1
Name: nghttp2
Version: 1.3.4
Version: 1.4.0
Release: 0
Summary: Implementation of Hypertext Transfer Protocol version 2 in C
License: MIT
Group: Development/Libraries/C and C++
Url: https://nghttp2.org/
#Git-Clone: git://github.com/tatsuhiro-t/nghttp2
Source: https://github.com/tatsuhiro-t/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
Patch1: nghttp2-remove-python-build.patch
Source1: baselibs.conf
# PATCH-FIX-OPENSUSE nghttp2-remove-python-build.patch
Patch0: %{name}-remove-python-build.patch
# PATCH-FIX-UPSTREAM nghttp2-1.4.0-fix-tests.patch kdudka@redhat.com -- Tests: fix broken linkage with --disable-static (commit 4825009).
Patch1: %{name}-1.4.0-fix-tests.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: boost-devel
@ -44,148 +49,154 @@ BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(python)
BuildRequires: pkgconfig(zlib)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This is an implementation of Hypertext Transfer Protocol version 2 in C.
This is an implementation of Hypertext Transfer Protocol version 2.
The framing layer of HTTP/2 is implemented as a form of reusable C library.
On top of that, we have implemented HTTP/2 client, server and proxy.
We have also developed load test and benchmarking tool for HTTP/2 and SPDY.
The framing layer of HTTP/2 is implemented as a form of reusable C
library. On top of that, we have implemented HTTP/2 client, server
and proxy. We have also developed load test and benchmarking tool
for HTTP/2.
HPACK encoder and decoder are available as public API.
%package -n %{lib_name}
Summary: Shared library for %{name}
%package -n %{soname}-%{sover}
Summary: Shared library for nghttp2
Group: System/Libraries
%description -n %{lib_name}
Shared C libraries for implementation of Hypertext Transfer Protocol version 2
%description -n %{soname}-%{sover}
Shared C libraries for implementation of
Hypertext Transfer Protocol version 2.
%package -n %{lib_name_asio}
Summary: Shared library for %{name}
%package -n %{soname_asio}%{sover_asio}
Summary: Shared library for nghttp2
Group: System/Libraries
%description -n %{lib_name_asio}
Shared librarios for asynchronous implementation of Hypertext Transfer Protocol version 2
%description -n %{soname_asio}%{sover_asio}
Shared librarios for asynchronous implementation of
Hypertext Transfer Protocol version 2.
%package -n python-%{name}
Summary: Python bindings for %{name}
Summary: Python bindings for nghttp2
Group: Development/Libraries/Python
%description -n python-%{name}
Python bindings for implementation of Hypertext Transfer Protocol version 2
%package -n lib%{name}-devel
Summary: Development files for %{name}
Group: Development/Languages/C and C++
Requires: %{lib_name} = %{version}
Provides: %{name}-devel
%description -n lib%{name}-devel
Development files for usage with lib%{name}, which implements Hypertext
Transfer Protocol version 2.
%package -n lib%{name}_asio-devel
Summary: Development files for %{name}
Group: Development/Languages/C and C++
Requires: %{lib_name_asio} = %{version}
%description -n lib%{name}_asio-devel
Development files for usage with lib%{name}_aio, which implements asynchronous
Python bindings for implementation of
Hypertext Transfer Protocol version 2.
%package -n %{soname}-devel
Summary: Development files for nghttp2
Group: Development/Languages/C and C++
Requires: %{soname_asio}%{sover_asio} = %{version}
Provides: %{name}-devel
%description -n %{soname}-devel
Development files for usage with libnghttp2, which implements
Hypertext Transfer Protocol version 2.
%package -n %{soname_asio}-devel
Summary: Development files for nghttp2
Group: Development/Languages/C and C++
Requires: %{soname_asio}%{sover_asio} = %{version}
%description -n %{soname_asio}-devel
Development files for usage with libnghttp2_aio, which implements
asynchronous Hypertext Transfer Protocol version 2.
%package doc
Summary: Documentation for %{name}
Summary: Documentation for nghttp2
Group: Documentation/HTML
%description doc
Documentation for %{name}, which includes a shared C library, HTTP/2 client,
server and proxy.
Documentation for nghttp2, which includes a shared C library,
HTTP/2 client, server and proxy.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
autoreconf -fiv
autoreconf -fi
%configure \
--disable-silent-rules \
--enable-asio-lib \
--enable-python-bindings \
--disable-static
make %{?_smp_mflags} all html
pushd python
make %{?_smp_mflags} nghttp2.c
python setup.py build
popd
--disable-static \
--disable-silent-rules \
--enable-asio-lib \
--enable-python-bindings
%check
make %{?_smp_mflags} check
make all html %{?_smp_mflags}
pushd python
make nghttp2.c %{?_smp_mflags}
python2 setup.py build
popd
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%make_install
pushd python
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
python2 setup.py install \
--root=%{buildroot} --prefix=%{_prefix}
popd
# do not ship these
# Move to the correct directory.
mkdir -p %{buildroot}%{_docdir}/
mv -f %{buildroot}%{_datadir}/doc/%{name}/ %{buildroot}%{_docdir}/%{name}-doc/
find %{buildroot} -type f -name "*.la" -delete -print
# none of applications using these man pages is built
rm -rf %{buildroot}%{_mandir}/man1/*
rm -rf doc/manual/html/.buildinfo
%post -n %{lib_name} -p /sbin/ldconfig
# None of applications using these man pages are built.
rm -rf %{buildroot}%{_mandir}/man1/* \
doc/manual/html/.buildinfo
%post -n %{lib_name_asio} -p /sbin/ldconfig
%check
make check %{?_smp_mflags}
%postun -n %{lib_name} -p /sbin/ldconfig
%post -n %{soname}-%{sover} -p /sbin/ldconfig
%postun -n %{lib_name_asio} -p /sbin/ldconfig
%post -n %{soname_asio}%{sover_asio} -p /sbin/ldconfig
%postun -n %{soname}-%{sover} -p /sbin/ldconfig
%postun -n %{soname_asio}%{sover_asio} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/deflatehd
%{_bindir}/inflatehd
%{_datadir}/%{name}
%{_datadir}/%{name}/
%files -n %{lib_name}
%files -n %{soname}-%{sover}
%defattr(-,root,root)
%doc COPYING
%{_libdir}/lib%{name}.so.*
%{_libdir}/%{soname}.so.%{sover}*
%files -n %{lib_name_asio}
%files -n %{soname_asio}%{sover_asio}
%defattr(-,root,root)
%doc COPYING
%{_libdir}/lib%{name}_asio.so.*
%{_libdir}/%{soname_asio}.so.%{sover_asio}*
%files -n python-%{name}
%defattr(-,root,root)
%{python_sitearch}/nghttp2.so
%{python_sitearch}/python_nghttp2-%{version}-py%{py_ver}.egg-info
%{python_sitearch}/python_nghttp2-*
%files -n lib%{name}-devel
%files -n %{soname}-devel
%defattr(-,root,root)
%doc ChangeLog
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/nghttp2.h
%{_includedir}/%{name}/nghttp2ver.h
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/lib%{name}.pc
%dir %{_includedir}/%{name}/
%{_includedir}/%{name}/%{name}*.h
%{_libdir}/%{soname}.so
%{_libdir}/pkgconfig/%{soname}.pc
%files -n lib%{name}_asio-devel
%files -n %{soname_asio}-devel
%defattr(-,root,root)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/asio_http2.h
%{_includedir}/nghttp2/asio_http2_client.h
%{_includedir}/nghttp2/asio_http2_server.h
%{_libdir}/lib%{name}_asio.so
%{_libdir}/pkgconfig/lib%{name}_asio.pc
%dir %{_includedir}/%{name}/
%{_includedir}/%{name}/asio_http2*.h
%{_libdir}/%{soname_asio}.so
%{_libdir}/pkgconfig/%{soname_asio}.pc
%files doc
%defattr(-,root,root)
%doc AUTHORS ChangeLog
%doc doc/manual/html
%dir %{_datadir}/doc/%{name}
%doc %{_datadir}/doc/%{name}/README.rst
%doc AUTHORS ChangeLog doc/manual/html
%doc %{_docdir}/%{name}-doc/
%changelog