From c9fa74bf43cfa535d6220a9db8cf43e20c4f104c Mon Sep 17 00:00:00 2001 From: James Taylor Date: Mon, 9 Dec 2019 12:49:19 +1100 Subject: [PATCH] h2o: add package H2O is a new generation HTTP server that provides quicker response to users with less CPU utilization when compared to older generation of web servers. Designed from ground-up, the server takes full advantage of HTTP/2 features including prioritized content serving and server push, promising outstanding experience to the visitors of your web site. Signed-off-by: James Taylor --- libs/h2o/Makefile | 54 +++++++++++++++++++ libs/h2o/patches/100-socket_disable_npn.patch | 22 ++++++++ .../200-libh2o-evloop_wslay-link.patch | 9 ++++ .../patches/300-picotls-chacha-detect.patch | 17 ++++++ 4 files changed, 102 insertions(+) create mode 100644 libs/h2o/Makefile create mode 100644 libs/h2o/patches/100-socket_disable_npn.patch create mode 100644 libs/h2o/patches/200-libh2o-evloop_wslay-link.patch create mode 100644 libs/h2o/patches/300-picotls-chacha-detect.patch diff --git a/libs/h2o/Makefile b/libs/h2o/Makefile new file mode 100644 index 000000000..688f6ef6d --- /dev/null +++ b/libs/h2o/Makefile @@ -0,0 +1,54 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=h2o +PKG_VERSION:=2.2.6 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=https://codeload.github.com/h2o/h2o/tar.gz/v${PKG_VERSION}? +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=f8cbc1b530d85ff098f6efc2c3fdbc5e29baffb30614caac59d5c710f7bda201 + +PKG_MAINTAINER:=James Taylor + #include + #include ++#include + #include "h2o/cache.h" + #include "h2o/memory.h" + #include "h2o/openssl_backport.h" +@@ -45,7 +44,11 @@ + + #if OPENSSL_VERSION_NUMBER >= 0x10002000L + #define H2O_USE_ALPN 1 ++#ifndef OPENSSL_NO_NEXTPROTONEG + #define H2O_USE_NPN 1 ++#else ++#define H2O_USE_NPN 0 ++#endif + #elif OPENSSL_VERSION_NUMBER >= 0x10001000L + #define H2O_USE_ALPN 0 + #define H2O_USE_NPN 1 diff --git a/libs/h2o/patches/200-libh2o-evloop_wslay-link.patch b/libs/h2o/patches/200-libh2o-evloop_wslay-link.patch new file mode 100644 index 000000000..8f7dfcdd1 --- /dev/null +++ b/libs/h2o/patches/200-libh2o-evloop_wslay-link.patch @@ -0,0 +1,9 @@ +--- a/libh2o-evloop.pc.in ++++ b/libh2o-evloop.pc.in +@@ -7,5 +7,5 @@ + Description: An optimized HTTP/1.x & HTTP/2 library + URL: https://h2o.examp1e.net/ + Version: @LIBRARY_VERSION_MAJOR@.@LIBRARY_VERSION_MINOR@.@LIBRARY_VERSION_PATCH@ +-Libs: -L${libdir} -lh2o-evloop ++Libs: -L${libdir} -lh2o-evloop -lwslay + Cflags: -I${includedir} diff --git a/libs/h2o/patches/300-picotls-chacha-detect.patch b/libs/h2o/patches/300-picotls-chacha-detect.patch new file mode 100644 index 000000000..5fc793285 --- /dev/null +++ b/libs/h2o/patches/300-picotls-chacha-detect.patch @@ -0,0 +1,17 @@ +--- a/deps/picotls/include/picotls/openssl.h ++++ b/deps/picotls/include/picotls/openssl.h +@@ -26,11 +26,14 @@ + #include + #include + #include ++#include + #include "../picotls.h" + + #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) + #define PTLS_OPENSSL_HAVE_CHACHA20_POLY1305 + #endif ++#endif + + extern ptls_key_exchange_algorithm_t ptls_openssl_secp256r1; + extern ptls_key_exchange_algorithm_t *ptls_openssl_key_exchanges[];