Merge pull request #10721 from James-TR/update/dnsdist

dnsdist: update to 1.4.0 w/ new dependencies
This commit is contained in:
Rosen Penev
2019-12-11 14:24:22 -08:00
committed by GitHub
10 changed files with 228 additions and 108 deletions
+54
View 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))
@@ -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
@@ -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}
@@ -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[];
+56
View File
@@ -0,0 +1,56 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libwslay
PKG_VERSION:=1.1.0
PKG_RELEASE=1
PKG_SOURCE:=release-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/tatsuhiro-t/wslay/tar.gz/release-$(PKG_VERSION)?
PKG_HASH:=df5dca9f03614073cd8bdd22aa3c9b116f841ed3120b2d4463d2382cc44fc594
PKG_BUILD_DIR:=$(BUILD_DIR)/wslay-release-$(PKG_VERSION)
PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
define Package/libwslay
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Wslay is a WebSocket library written in C
URL:=https://tatsuhiro-t.github.io/wslay/
endef
define Package/libwslay/description
Wslay is a WebSocket library written in C. It implements the protocol version 13 described
in RFC 6455. This library offers 2 levels of API: event-based API and frame-based low-level
API. For event-based API, it is suitable for non-blocking reactor pattern style. You can set
callbacks in various events. For frame-based API, you can send WebSocket frame directly.
Wslay only supports data transfer part of WebSocket protocol and does not perform opening
handshake in HTTP.
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/wslay
$(CP) $(PKG_INSTALL_DIR)/usr/include/wslay/*.h $(1)/usr/include/wslay/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwslay.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libwslay.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libwslay/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libwslay.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libwslay))
@@ -0,0 +1,26 @@
diff --git a/Makefile.am b/Makefile.am
index ae8b02f..2e86973 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,6 +20,6 @@
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-SUBDIRS = lib tests examples doc
+SUBDIRS = lib tests
ACLOCAL_AMFLAGS = -I m4
diff --git a/configure.ac b/configure.ac
index 5e83cbf..88f4f03 100644
--- a/configure.ac
+++ b/configure.ac
@@ -123,9 +123,6 @@ AC_CONFIG_FILES([
lib/includes/Makefile
lib/includes/wslay/wslayver.h
tests/Makefile
- examples/Makefile
- doc/Makefile
- doc/sphinx/conf.py
])
AC_OUTPUT