diff -ruN pichi.orig/Makefile pichi/Makefile --- pichi.orig/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ pichi/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +1,12 @@ # $FreeBSD: head/net/pichi/Makefile 519824 2019-12-11 17:53:48Z jbeich $ PORTNAME= pichi -DISTVERSION= 1.2.0 +DISTVERSION= 1.3.0 PORTREVISION= 1 CATEGORIES= net MAINTAINER= pichi@elude.in -COMMENT= Application Layer Proxy controlled via RESTful APIs +COMMENT= Flexible rule-based proxy LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE @@ -22,20 +22,19 @@ PLIST_SUB= DISTVERSION=${DISTVERSION} CMAKE_BUILD_TYPE= MinSizeRel -CMAKE_ARGS= -DVERSION=${DISTVERSION} -CMAKE_ON= BUILD_SERVER BUILD_TEST -CMAKE_OFF= INSTALL_HEADERS -INSTALL_TARGET= install/strip -TEST_TARGET= test +CMAKE_ARGS= -DVERSION=${DISTVERSION} +CMAKE_ON= BUILD_SERVER BUILD_TEST +INSTALL_TARGET= install/strip +TEST_TARGET= test -OPTIONS_DEFINE= STATIC TLS +OPTIONS_DEFINE= DEVEL STATIC TLS OPTIONS_DEFAULT= TLS OPTIONS_SUB= yes TLS_DESC= Enable TLS support ( requiring OpenSSL ) TLS_CMAKE_BOOL= ENABLE_TLS -STATIC_DESC= Build/Install static library +STATIC_DESC= Static linking STATIC_CMAKE_BOOL= STATIC_LINK STATIC_BUILD_DEPENDS= boost-libs>=1.67.0:devel/boost-libs \ libmaxminddb>=1.3.0:net/libmaxminddb \ @@ -51,6 +50,9 @@ libmbedx509.so:security/mbedtls \ libsodium.so:security/libsodium +DEVEL_DESC= Install development files +DEVEL_CMAKE_BOOL= INSTALL_DEVEL + .include <bsd.port.options.mk> .if ! ${PORT_OPTIONS:MSTATIC} @@ -65,11 +67,18 @@ .endif .endif +.if ${PORT_OPTIONS:MDEVEL} post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKSRC}/test/geo.mmdb ${STAGEDIR}${ETCDIR}/geo.mmdb ${INSTALL_DATA} ${WRKSRC}/server/pichi.json.default ${STAGEDIR}${ETCDIR}/pichi.json.sample ${MKDIR} ${STAGEDIR}${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/include/pichi.h ${STAGEDIR}${PREFIX}/include/pichi.h +.else +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKSRC}/test/geo.mmdb ${STAGEDIR}${ETCDIR}/geo.mmdb + ${INSTALL_DATA} ${WRKSRC}/server/pichi.json.default ${STAGEDIR}${ETCDIR}/pichi.json.sample +.endif .include <bsd.port.mk> diff -ruN pichi.orig/distinfo pichi/distinfo --- pichi.orig/distinfo 1970-01-01 00:00:00.000000000 +0000 +++ pichi/distinfo 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +1,3 @@ TIMESTAMP = 1554899633 -SHA256 (pichi-router-pichi-1.2.0_GH0.tar.gz) = 8965077371f2dbf49a63659d686470c191c2c21c47a32f44b3b8bb2d72968043 -SIZE (pichi-router-pichi-1.2.0_GH0.tar.gz) = 1841049 +SHA256 (pichi-router-pichi-1.3.0_GH0.tar.gz) = f5686a1e7c98d9c9eca88d88af53b85648ceeff9aa33bf2b1d95a09462d74d1c +SIZE (pichi-router-pichi-1.3.0_GH0.tar.gz) = 2066723 diff -ruN pichi.orig/files/patch-CMakeLists.txt pichi/files/patch-CMakeLists.txt --- pichi.orig/files/patch-CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ pichi/files/patch-CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ ---- CMakeLists.txt.orig 2019-04-14 16:29:43 UTC -+++ CMakeLists.txt -@@ -19,6 +19,14 @@ find_package(MaxmindDB 1.3.0 REQUIRED) - find_package(Rapidjson 1.1.0 REQUIRED) - find_package(Threads REQUIRED) - -+if (Boost_VERSION_STRING VERSION_LESS "1.70.0") -+ set(RESOLVER_CONSTRUCTED_FROM_EXECUTOR OFF) -+else (Boost_VERSION_STRING VERSION_LESS "1.70.0") -+ set(RESOLVER_CONSTRUCTED_FROM_EXECUTOR ON) -+endif (Boost_VERSION_STRING VERSION_LESS "1.70.0") -+ -+configure_file(${CMAKE_SOURCE_DIR}/include/config.h.in ${CMAKE_BINARY_DIR}/include/config.h) -+ - include_directories( - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include diff -ruN pichi.orig/files/patch-cmake_ProcessOptions.cmake pichi/files/patch-cmake_ProcessOptions.cmake --- pichi.orig/files/patch-cmake_ProcessOptions.cmake 1970-01-01 00:00:00.000000000 +0000 +++ pichi/files/patch-cmake_ProcessOptions.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ ---- cmake/ProcessOptions.cmake.orig 2019-04-14 16:29:43 UTC -+++ cmake/ProcessOptions.cmake -@@ -83,5 +83,3 @@ if (BUILD_SERVER) - check_function_exists("setsid" HAS_SETSID) - check_function_exists("close" HAS_CLOSE) - endif (BUILD_SERVER) -- --configure_file(${CMAKE_SOURCE_DIR}/include/config.h.in ${CMAKE_BINARY_DIR}/include/config.h) diff -ruN pichi.orig/files/patch-include_config.h.in pichi/files/patch-include_config.h.in --- pichi.orig/files/patch-include_config.h.in 1970-01-01 00:00:00.000000000 +0000 +++ pichi/files/patch-include_config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- include/config.h.in.orig 2019-04-14 16:29:43 UTC -+++ include/config.h.in -@@ -13,6 +13,8 @@ - #cmakedefine HAS_SETSID - #cmakedefine HAS_CLOSE - -+#cmakedefine RESOLVER_CONSTRUCTED_FROM_EXECUTOR -+ - #cmakedefine CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" - - #ifdef CMAKE_INSTALL_PREFIX diff -ruN pichi.orig/files/patch-src_net_asio.cpp pichi/files/patch-src_net_asio.cpp --- pichi.orig/files/patch-src_net_asio.cpp 1970-01-01 00:00:00.000000000 +0000 +++ pichi/files/patch-src_net_asio.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ ---- src/net/asio.cpp.orig 2019-04-14 16:29:43 UTC -+++ src/net/asio.cpp -@@ -79,8 +79,12 @@ void connect(Endpoint const& endpoint, Socket& s, Yiel - else - #endif // BUILD_TEST - asio::async_connect(s, -- tcp::resolver{s.get_executor().context()}.async_resolve( -- endpoint.host_, endpoint.port_, yield), -+ tcp::resolver{s.get_executor() -+#ifndef RESOLVER_CONSTRUCTED_FROM_EXECUTOR -+ .context() -+#endif // RESOLVER_CONSTRUCTED_FROM_EXECUTOR -+ } -+ .async_resolve(endpoint.host_, endpoint.port_, yield), - yield); - } - diff -ruN pichi.orig/pkg-plist pichi/pkg-plist --- pichi.orig/pkg-plist 1970-01-01 00:00:00.000000000 +0000 +++ pichi/pkg-plist 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +1,43 @@ bin/pichi -include/pichi.h -@sample etc/pichi/pichi.json.sample -etc/pichi/geo.mmdb +%%ETCDIR%%/geo.mmdb +@sample %%ETCDIR%%/pichi.json.sample %%NO_STATIC%%lib/libpichi.so.%%DISTVERSION%% %%NO_STATIC%%lib/libpichi.so -%%STATIC%%lib/libpichi.a +%%STATIC%%%%DEVEL%%lib/libpichi.a +%%DEVEL%%include/boost/asio/spawn2.hpp +%%DEVEL%%include/pichi/api/balancer.hpp +%%DEVEL%%include/pichi/api/egress_manager.hpp +%%DEVEL%%include/pichi/api/ingress_holder.hpp +%%DEVEL%%include/pichi/api/ingress_manager.hpp +%%DEVEL%%include/pichi/api/iterator.hpp +%%DEVEL%%include/pichi/api/rest.hpp +%%DEVEL%%include/pichi/api/router.hpp +%%DEVEL%%include/pichi/api/server.hpp +%%DEVEL%%include/pichi/api/session.hpp +%%DEVEL%%include/pichi/api/vos.hpp +%%DEVEL%%include/pichi/asserts.hpp +%%DEVEL%%include/pichi/buffer.hpp +%%DEVEL%%include/pichi/common.hpp +%%DEVEL%%include/pichi/config.hpp +%%DEVEL%%include/pichi/crypto/aead.hpp +%%DEVEL%%include/pichi/crypto/base64.hpp +%%DEVEL%%include/pichi/crypto/hash.hpp +%%DEVEL%%include/pichi/crypto/key.hpp +%%DEVEL%%include/pichi/crypto/method.hpp +%%DEVEL%%include/pichi/crypto/stream.hpp +%%DEVEL%%include/pichi/exception.hpp +%%DEVEL%%include/pichi/net/adapter.hpp +%%DEVEL%%include/pichi/net/asio.hpp +%%DEVEL%%include/pichi/net/common.hpp +%%DEVEL%%include/pichi/net/direct.hpp +%%DEVEL%%include/pichi/net/helpers.hpp +%%DEVEL%%include/pichi/net/http.hpp +%%DEVEL%%include/pichi/net/reject.hpp +%%DEVEL%%include/pichi/net/socks5.hpp +%%DEVEL%%include/pichi/net/spawn.hpp +%%DEVEL%%include/pichi/net/ssaead.hpp +%%DEVEL%%include/pichi/net/ssstream.hpp +%%DEVEL%%include/pichi/net/tunnel.hpp +%%DEVEL%%include/pichi/test/socket.hpp +%%DEVEL%%include/pichi/uri.hpp +%%DEVEL%%include/pichi.h