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 <james@jtaylor.id.au>
This commit is contained in:
parent
da867f65cb
commit
c9fa74bf43
4 changed files with 102 additions and 0 deletions
54
libs/h2o/Makefile
Normal file
54
libs/h2o/Makefile
Normal file
|
@ -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 <james@jtaylor.id.au
|
||||||
|
PKG_LICENSE:=MIT
|
||||||
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=ruby/host
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
CMAKE_OPTIONS:= \
|
||||||
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
|
-DWITH_MRUBY=OFF
|
||||||
|
|
||||||
|
CMAKE_INSTALL:=1
|
||||||
|
|
||||||
|
define Package/libh2o-evloop
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE:=H2O Library compiled with its own event loop
|
||||||
|
URL:=https://h2o.examp1e.net/
|
||||||
|
DEPENDS:=+libwslay +libopenssl +zlib +libyaml +ruby
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libh2o
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE:=H2O Library compiled with libuv
|
||||||
|
URL:=https://h2o.examp1e.net/
|
||||||
|
DEPENDS:=+libuv +libwslay +libopenssl +zlib +libyaml +ruby
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libh2o-evloop/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libh2o-evloop.so* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libh2o/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libh2o.so* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,libh2o-evloop))
|
||||||
|
$(eval $(call BuildPackage,libh2o))
|
22
libs/h2o/patches/100-socket_disable_npn.patch
Normal file
22
libs/h2o/patches/100-socket_disable_npn.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--- a/include/h2o/socket.h
|
||||||
|
+++ b/include/h2o/socket.h
|
||||||
|
@@ -29,6 +29,7 @@
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
+#include <openssl/opensslconf.h>
|
||||||
|
#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
|
9
libs/h2o/patches/200-libh2o-evloop_wslay-link.patch
Normal file
9
libs/h2o/patches/200-libh2o-evloop_wslay-link.patch
Normal file
|
@ -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}
|
17
libs/h2o/patches/300-picotls-chacha-detect.patch
Normal file
17
libs/h2o/patches/300-picotls-chacha-detect.patch
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--- a/deps/picotls/include/picotls/openssl.h
|
||||||
|
+++ b/deps/picotls/include/picotls/openssl.h
|
||||||
|
@@ -26,11 +26,14 @@
|
||||||
|
#include <openssl/evp.h>
|
||||||
|
#include <openssl/hmac.h>
|
||||||
|
#include <openssl/x509.h>
|
||||||
|
+#include <openssl/opensslconf.h>
|
||||||
|
#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[];
|
Loading…
Reference in a new issue