diff options
author | danfe <danfe@FreeBSD.org> | 2019-07-10 17:38:32 +0800 |
---|---|---|
committer | danfe <danfe@FreeBSD.org> | 2019-07-10 17:38:32 +0800 |
commit | c949990683e2fe2ec876f07574e9601fc4ccca7b (patch) | |
tree | 82da48bbc0bec40efd8ab909fd85686d60743fc2 /www/envoy | |
parent | 14edd7e943645d2841a5d1da18e5e3c44c1e1fa6 (diff) | |
download | freebsd-ports-gnome-c949990683e2fe2ec876f07574e9601fc4ccca7b.tar.gz freebsd-ports-gnome-c949990683e2fe2ec876f07574e9601fc4ccca7b.tar.zst freebsd-ports-gnome-c949990683e2fe2ec876f07574e9601fc4ccca7b.zip |
Envoy is a high performance C++ distributed edge and service proxy for
cloud-native services and applications.
Envoy is originally built with Bazel, monstrous build system written in
Java which does silly things like downloading dependencies from GitHub
and is just a PITA to work against. This port is built with two simple
makefiles and GNU make(1). Protobuf semantic validation was disabled
because it apparently requires pulling in ``Go'' language, and I'm not
comfortable with this technology yet.
Note that this port currently requires DEFAULT_VERSIONS+=ssl=boringssl
added to your /etc/make.conf file.
WWW: https://www.envoyproxy.io/
Diffstat (limited to 'www/envoy')
-rw-r--r-- | www/envoy/Makefile | 103 | ||||
-rw-r--r-- | www/envoy/distinfo | 13 | ||||
-rw-r--r-- | www/envoy/files/makefile-genproto | 90 | ||||
-rw-r--r-- | www/envoy/files/makefile-main | 172 | ||||
-rw-r--r-- | www/envoy/files/patch-source_common_common_posix_thread__impl.cc | 23 | ||||
-rw-r--r-- | www/envoy/files/patch-source_common_common_stack__array.h | 12 | ||||
-rw-r--r-- | www/envoy/files/patch-source_common_protobuf_utility.h | 15 | ||||
-rw-r--r-- | www/envoy/pkg-descr | 12 |
8 files changed, 440 insertions, 0 deletions
diff --git a/www/envoy/Makefile b/www/envoy/Makefile new file mode 100644 index 000000000000..6c1615d14037 --- /dev/null +++ b/www/envoy/Makefile @@ -0,0 +1,103 @@ +# Created by: Alexey Dokuchaev <danfe@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= envoy +PORTVERSION= 1.10.0 +DISTVERSIONPREFIX= v +CATEGORIES= www + +MAINTAINER= danfe@FreeBSD.org +COMMENT= Edge and service proxy for cloud-native applications + +LICENSE= APACHE20 + +BROKEN_i386= makes a lot of 64-bit assumptions (patches welcome) +BROKEN_SSL= base openssl openssl111 libressl libressl-devel +BROKEN_SSL_REASON= requires BoringSSL + +BUILD_DEPENDS= ${LOCALBASE}/include/absl/base/thread_annotations.h:devel/abseil \ + ${LOCALBASE}/include/fmt/format.h:devel/libfmt \ + ${LOCALBASE}/include/rapidjson/document.h:devel/rapidjson \ + ${LOCALBASE}/include/spdlog/spdlog.h:devel/spdlog \ + ${LOCALBASE}/include/tclap/CmdLine.h:devel/tclap +LIB_DEPENDS= libcircllhist.so:devel/libcircllhist \ + libevent.so:devel/libevent \ + libgpr.so:devel/grpc \ + libprotobuf.so:devel/protobuf \ + libxxhash.so:devel/xxhash \ + libyaml-cpp.so:devel/yaml-cpp \ + libcares.so:dns/c-ares \ + libhttp_parser.so:www/http-parser \ + libnghttp2.so:www/libnghttp2 + +USES= compiler:c++14-lang gmake ssl +USE_GITHUB= yes +GH_ACCOUNT= ${PORTNAME}proxy gogo:protobuf googleapis:gapis \ + prometheus:pm grpc:grpc +GH_PROJECT= protoc-gen-validate:validate protobuf:protobuf \ + googleapis:gapis client_model:pm grpc:grpc +GH_TAGNAME= v0.1.0:validate v1.1.1:protobuf b4c73fa:gapis \ + fd36f42:pm v1.22.0:grpc + +PLIST_FILES= bin/envoy +PORTEXAMPLES= cors/backend/front-envoy.yaml \ + cors/backend/service-envoy.yaml \ + cors/frontend/front-envoy.yaml \ + cors/frontend/service-envoy.yaml \ + front-proxy/front-envoy.yaml \ + front-proxy/service-envoy.yaml \ + grpc-bridge/config/s2s-grpc-envoy.yaml \ + grpc-bridge/config/s2s-python-envoy.yaml \ + jaeger-tracing/front-envoy-jaeger.yaml \ + jaeger-tracing/service1-envoy-jaeger.yaml \ + jaeger-tracing/service2-envoy-jaeger.yaml \ + lua/envoy.yaml \ + zipkin-tracing/front-envoy-zipkin.yaml \ + zipkin-tracing/service1-envoy-zipkin.yaml \ + zipkin-tracing/service2-envoy-zipkin.yaml + +OPTIONS_DEFINE= EXAMPLES + +post-extract: + ${LN} -s ../../client_model-fd36f42/metrics.proto \ + ../../googleapis-b4c73fa/google \ + ../../grpc-1.22.0/src \ + ../../protobuf-1.1.1/gogoproto \ + ../../protoc-gen-validate-0.1.0/validate ${WRKSRC}/api + +post-patch: + @${REINPLACE_CMD} -e '/<endian\.h>/d' \ + ${WRKSRC}/source/common/common/byte_order.h + @${REINPLACE_CMD} -e 's,__APPLE__,__${OPSYS}__,' \ + ${WRKSRC}/source/common/network/address_impl.cc \ + ${WRKSRC}/source/common/network/udp_listener_impl.cc + @${REINPLACE_CMD} -e 's,O_SYMLINK,O_NOFOLLOW,' \ + ${WRKSRC}/source/common/filesystem/kqueue/watcher_impl.cc + @${REINPLACE_CMD} -e '/#include/s,\.validate,,' \ + ${WRKSRC}/source/extensions/access_loggers/file/config.cc \ + ${WRKSRC}/source/server/overload_manager_impl.h + +do-configure: + ${ECHO_CMD} '#define BUILD_VERSION_NUMBER "${PORTVERSION}"' \ + > ${WRKSRC}/source/common/common/version_number.h + ${LN} -s kqueue/watcher_impl.h posix/filesystem_impl.h \ + posix/directory_iterator_impl.h \ + ${WRKSRC}/source/common/filesystem + ${LN} -s posix/platform_impl.h ${WRKSRC}/source/exe + ${LN} -s posix/thread_impl.h ${WRKSRC}/source/common/common + +do-build: + ${MAKE_CMD} -C ${WRKSRC}/api -f ${FILESDIR}/makefile-genproto + ${MAKE_CMD} ${_MAKE_JOBS} -C ${WRKSRC}/source \ + -f ${FILESDIR}/makefile-main + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/source/${PORTNAME} \ + ${STAGEDIR}${PREFIX}/bin + +do-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${TAR} -cf - -C ${WRKSRC}/examples ${PORTEXAMPLES} | \ + ${TAR} -xf - -C ${STAGEDIR}${EXAMPLESDIR} + +.include <bsd.port.mk> diff --git a/www/envoy/distinfo b/www/envoy/distinfo new file mode 100644 index 000000000000..79a047de018d --- /dev/null +++ b/www/envoy/distinfo @@ -0,0 +1,13 @@ +TIMESTAMP = 1554487664 +SHA256 (envoyproxy-envoy-v1.10.0_GH0.tar.gz) = 0fd7a0d11662730abeb12b19ef52af771f7426132e13e7eca7ac1fe81287add1 +SIZE (envoyproxy-envoy-v1.10.0_GH0.tar.gz) = 3391626 +SHA256 (gogo-protobuf-v1.1.1_GH0.tar.gz) = 9f8c2ad49849ab063cd9fef67e77d49606640044227ecf7f3617ea2c92ef147c +SIZE (gogo-protobuf-v1.1.1_GH0.tar.gz) = 1868227 +SHA256 (googleapis-googleapis-b4c73fa_GH0.tar.gz) = a8989197096e2643c472fe87d2ad38b58f1737330f16fd2e5d5f0ce6623a2697 +SIZE (googleapis-googleapis-b4c73fa_GH0.tar.gz) = 1773201 +SHA256 (prometheus-client_model-fd36f42_GH0.tar.gz) = 11f679aee5a14f33afc1ec14eefd7f7665f4d5a11718cb63d246bd36531813ac +SIZE (prometheus-client_model-fd36f42_GH0.tar.gz) = 57479 +SHA256 (grpc-grpc-v1.22.0_GH0.tar.gz) = 11ac793c562143d52fd440f6549588712badc79211cdc8c509b183cb69bddad8 +SIZE (grpc-grpc-v1.22.0_GH0.tar.gz) = 15082718 +SHA256 (envoyproxy-protoc-gen-validate-v0.1.0_GH0.tar.gz) = 49a275b7aff7e9c7e84db38e405b49b1ac91bbd2fcbd0c253d39ec412ed3be61 +SIZE (envoyproxy-protoc-gen-validate-v0.1.0_GH0.tar.gz) = 9625220 diff --git a/www/envoy/files/makefile-genproto b/www/envoy/files/makefile-genproto new file mode 100644 index 000000000000..6a33f561dd68 --- /dev/null +++ b/www/envoy/files/makefile-genproto @@ -0,0 +1,90 @@ +# $FreeBSD$ + +LOCALBASE?= /usr/local +PROTOC_FLAGS= -I. -I$(LOCALBASE)/include + +PB_HEADERS= \ + envoy/admin/v2alpha/certs.pb.h \ + envoy/admin/v2alpha/clusters.pb.h \ + envoy/admin/v2alpha/config_dump.pb.h \ + envoy/admin/v2alpha/memory.pb.h \ + envoy/admin/v2alpha/metrics.pb.h \ + envoy/admin/v2alpha/mutex_stats.pb.h \ + envoy/admin/v2alpha/server_info.pb.h \ + envoy/api/v2/auth/cert.pb.h \ + envoy/api/v2/cds.pb.h \ + envoy/api/v2/cluster/circuit_breaker.pb.h \ + envoy/api/v2/cluster/outlier_detection.pb.h \ + envoy/api/v2/core/address.pb.h \ + envoy/api/v2/core/base.pb.h \ + envoy/api/v2/core/config_source.pb.h \ + envoy/api/v2/core/grpc_service.pb.h \ + envoy/api/v2/core/health_check.pb.h \ + envoy/api/v2/core/http_uri.pb.h \ + envoy/api/v2/core/protocol.pb.h \ + envoy/api/v2/discovery.pb.h \ + envoy/api/v2/eds.pb.h \ + envoy/api/v2/endpoint/endpoint.pb.h \ + envoy/api/v2/endpoint/load_report.pb.h \ + envoy/api/v2/lds.pb.h \ + envoy/api/v2/listener/listener.pb.h \ + envoy/api/v2/ratelimit/ratelimit.pb.h \ + envoy/api/v2/rds.pb.h \ + envoy/api/v2/route/route.pb.h \ + envoy/config/accesslog/v2/als.pb.h \ + envoy/config/accesslog/v2/file.pb.h \ + envoy/config/bootstrap/v2/bootstrap.pb.h \ + envoy/config/filter/accesslog/v2/accesslog.pb.h \ + envoy/config/filter/fault/v2/fault.pb.h \ + envoy/config/filter/http/buffer/v2/buffer.pb.h \ + envoy/config/filter/http/fault/v2/fault.pb.h \ + envoy/config/filter/http/health_check/v2/health_check.pb.h \ + envoy/config/filter/http/lua/v2/lua.pb.h \ + envoy/config/filter/http/rate_limit/v2/rate_limit.pb.h \ + envoy/config/filter/http/router/v2/router.pb.h \ + envoy/config/filter/http/squash/v2/squash.pb.h \ + envoy/config/filter/http/transcoder/v2/transcoder.pb.h \ + envoy/config/filter/network/client_ssl_auth/v2/client_ssl_auth.pb.h \ + envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.pb.h \ + envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.pb.h \ + envoy/config/filter/network/rate_limit/v2/rate_limit.pb.h \ + envoy/config/filter/network/redis_proxy/v2/redis_proxy.pb.h \ + envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.pb.h \ + envoy/config/metrics/v2/metrics_service.pb.h \ + envoy/config/metrics/v2/stats.pb.h \ + envoy/config/overload/v2alpha/overload.pb.h \ + envoy/config/ratelimit/v2/rls.pb.h \ + envoy/config/rbac/v2alpha/rbac.pb.h \ + envoy/config/trace/v2/trace.pb.h \ + envoy/data/accesslog/v2/accesslog.pb.h \ + envoy/data/cluster/v2alpha/outlier_detection_event.pb.h \ + envoy/data/core/v2alpha/health_check_event.pb.h \ + envoy/service/accesslog/v2/als.pb.h \ + envoy/service/discovery/v2/ads.pb.h \ + envoy/service/discovery/v2/hds.pb.h \ + envoy/service/discovery/v2/sds.pb.h \ + envoy/service/load_stats/v2/lrs.pb.h \ + envoy/service/metrics/v2/metrics_service.pb.h \ + envoy/service/ratelimit/v2/rls.pb.h \ + envoy/type/matcher/metadata.pb.h \ + envoy/type/matcher/number.pb.h \ + envoy/type/matcher/string.pb.h \ + envoy/type/matcher/value.pb.h \ + envoy/type/percent.pb.h \ + envoy/type/range.pb.h \ + gogoproto/gogo.pb.h \ + google/api/annotations.pb.h \ + google/api/http.pb.h \ + google/rpc/status.pb.h \ + metrics.pb.h \ + src/proto/grpc/health/v1/health.pb.h \ + validate/validate.pb.h + +%.pb.h: %.proto + protoc -I. -I$(LOCALBASE)/include --cpp_out=. $< +# XXX: we're not ready for semantic validation just yet :( + echo >> $(basename $@).validate.h + +all: $(PB_HEADERS) + +.phony: all diff --git a/www/envoy/files/makefile-main b/www/envoy/files/makefile-main new file mode 100644 index 000000000000..2a3161c985ff --- /dev/null +++ b/www/envoy/files/makefile-main @@ -0,0 +1,172 @@ +# $FreeBSD$ + +LOCALBASE?= /usr/local +CXXFLAGS+= -std=c++14 -Wall -Wextra -Wno-unused-parameter +CPPFLAGS+= -I. -I../include -I../api -I$(LOCALBASE)/include \ + -DNDEBUG -DENVOY_SSL_VERSION=\"BoringSSL\" \ + -DBUILD_SCM_REVISION=\"e95ef6b\" \ + -DBUILD_SCM_STATUS=\"Modified\" +LDFLAGS+= -L$(LOCALBASE)/lib +CCACHE?= $(shell command -v ccache) + +api_OBJS= ../api/envoy/admin/v2alpha/certs.pb.o \ + ../api/envoy/admin/v2alpha/clusters.pb.o \ + ../api/envoy/admin/v2alpha/config_dump.pb.o \ + ../api/envoy/admin/v2alpha/memory.pb.o \ + ../api/envoy/admin/v2alpha/metrics.pb.o \ + ../api/envoy/admin/v2alpha/mutex_stats.pb.o \ + ../api/envoy/admin/v2alpha/server_info.pb.o \ + ../api/envoy/api/v2/auth/cert.pb.o \ + ../api/envoy/api/v2/cds.pb.o \ + ../api/envoy/api/v2/cluster/circuit_breaker.pb.o \ + ../api/envoy/api/v2/cluster/outlier_detection.pb.o \ + ../api/envoy/api/v2/core/address.pb.o \ + ../api/envoy/api/v2/core/base.pb.o \ + ../api/envoy/api/v2/core/config_source.pb.o \ + ../api/envoy/api/v2/core/grpc_service.pb.o \ + ../api/envoy/api/v2/core/health_check.pb.o \ + ../api/envoy/api/v2/core/protocol.pb.o \ + ../api/envoy/api/v2/discovery.pb.o \ + ../api/envoy/api/v2/eds.pb.o \ + ../api/envoy/api/v2/endpoint/endpoint.pb.o \ + ../api/envoy/api/v2/endpoint/load_report.pb.o \ + ../api/envoy/api/v2/lds.pb.o \ + ../api/envoy/api/v2/listener/listener.pb.o \ + ../api/envoy/api/v2/ratelimit/ratelimit.pb.o \ + ../api/envoy/api/v2/rds.pb.o \ + ../api/envoy/api/v2/route/route.pb.o \ + ../api/envoy/config/accesslog/v2/als.pb.o \ + ../api/envoy/config/accesslog/v2/file.pb.o \ + ../api/envoy/config/bootstrap/v2/bootstrap.pb.o \ + ../api/envoy/config/filter/accesslog/v2/accesslog.pb.o \ + ../api/envoy/config/filter/fault/v2/fault.pb.o \ + ../api/envoy/config/filter/http/fault/v2/fault.pb.o \ + ../api/envoy/config/filter/http/transcoder/v2/transcoder.pb.o \ + ../api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.pb.o \ + ../api/envoy/config/filter/network/redis_proxy/v2/redis_proxy.pb.o \ + ../api/envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.pb.o \ + ../api/envoy/config/metrics/v2/metrics_service.pb.o \ + ../api/envoy/config/metrics/v2/stats.pb.o \ + ../api/envoy/config/overload/v2alpha/overload.pb.o \ + ../api/envoy/config/rbac/v2alpha/rbac.pb.o \ + ../api/envoy/config/trace/v2/trace.pb.o \ + ../api/envoy/data/accesslog/v2/accesslog.pb.o \ + ../api/envoy/data/cluster/v2alpha/outlier_detection_event.pb.o \ + ../api/envoy/data/core/v2alpha/health_check_event.pb.o \ + ../api/envoy/service/accesslog/v2/als.pb.o \ + ../api/envoy/service/discovery/v2/ads.pb.o \ + ../api/envoy/service/discovery/v2/hds.pb.o \ + ../api/envoy/service/discovery/v2/sds.pb.o \ + ../api/envoy/service/load_stats/v2/lrs.pb.o \ + ../api/envoy/service/metrics/v2/metrics_service.pb.o \ + ../api/envoy/service/ratelimit/v2/rls.pb.o \ + ../api/envoy/type/matcher/metadata.pb.o \ + ../api/envoy/type/matcher/number.pb.o \ + ../api/envoy/type/matcher/string.pb.o \ + ../api/envoy/type/matcher/value.pb.o \ + ../api/envoy/type/percent.pb.o \ + ../api/envoy/type/range.pb.o \ + ../api/gogoproto/gogo.pb.o \ + ../api/google/api/annotations.pb.o \ + ../api/google/api/http.pb.o \ + ../api/google/rpc/status.pb.o \ + ../api/metrics.pb.o \ + ../api/src/proto/grpc/health/v1/health.pb.o \ + ../api/validate/validate.pb.o + +source_OBJS= $(common_SRCS:.cc=.o) \ + $(exe_SRCS:.cc=.o) \ + $(extensions_SRCS:.cc=.o) \ + $(server_SRCS:.cc=.o) + +common_SRCS= $(wildcard common/access_log/*.cc) \ + common/api/api_impl.cc \ + common/api/os_sys_calls_impl.cc \ + $(wildcard common/buffer/*.cc) \ + $(wildcard common/chromium_url/*.cc) \ + $(wildcard common/common/*.cc) \ + common/common/posix/thread_impl.cc \ + $(wildcard common/config/*.cc) \ + $(wildcard common/event/*.cc) \ + $(wildcard common/filesystem/*.cc) \ + common/filesystem/kqueue/watcher_impl.cc \ + $(wildcard common/filesystem/posix/*.cc) \ + $(wildcard common/grpc/*.cc) \ + common/html/utility.cc \ + $(wildcard common/http/*.cc) \ + $(wildcard common/http/http1/*.cc) \ + $(wildcard common/http/http2/*.cc) \ + $(wildcard common/init/*.cc) \ + $(wildcard common/json/*.cc) \ + $(wildcard common/memory/*.cc) \ + $(wildcard common/network/*.cc) \ + common/profiler/profiler.cc \ + common/protobuf/utility.cc \ + $(wildcard common/router/*.cc) \ + $(wildcard common/runtime/*.cc) \ + $(wildcard common/secret/*.cc) \ + $(wildcard common/singleton/*.cc) \ + $(wildcard common/ssl/*.cc) \ + $(wildcard common/stats/*.cc) \ + $(wildcard common/stream_info/*.cc) \ + common/tcp/conn_pool.cc \ + common/thread/thread_factory_singleton.cc \ + common/thread_local/thread_local_impl.cc \ + common/tracing/http_tracer_impl.cc \ + $(wildcard common/upstream/*.cc) + +exe_SRCS= $(wildcard exe/*.cc) + +extensions_SRCS=\ + extensions/filters/common/rbac/matchers.cc \ + $(wildcard extensions/transport_sockets/tls/*.cc) \ + $(wildcard extensions/access_loggers/*/*.cc) \ + $(wildcard extensions/stat_sinks/metrics_service/*.cc) + +server_SRCS= $(wildcard server/config_validation/*.cc) \ + server/configuration_impl.o \ + server/connection_handler_impl.o \ + server/drain_manager_impl.o \ + server/guarddog_impl.cc \ + server/http/admin.o \ + server/http/config_tracker_impl.o \ + server/lds_api.o \ + server/listener_manager_impl.o \ + server/options_impl.cc \ + server/options_impl_platform_default.o \ + server/overload_manager_impl.o \ + server/proto_descriptors.cc \ + server/server.o \ + server/watchdog_impl.o \ + server/worker_impl.o + +%.o: %.cc + $(CCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $< + +LIBS= $(LOCALBASE)/lib/libabsl_bad_optional_access.a \ + $(LOCALBASE)/lib/libabsl_base.a \ + $(LOCALBASE)/lib/libabsl_city.a \ + $(LOCALBASE)/lib/libabsl_graphcycles_internal.a \ + $(LOCALBASE)/lib/libabsl_hash.a \ + $(LOCALBASE)/lib/libabsl_hashtablez_sampler.a \ + $(LOCALBASE)/lib/libabsl_int128.a \ + $(LOCALBASE)/lib/libabsl_malloc_internal.a \ + $(LOCALBASE)/lib/libabsl_raw_hash_set.a \ + $(LOCALBASE)/lib/libabsl_spinlock_wait.a \ + $(LOCALBASE)/lib/libabsl_stacktrace.a \ + $(LOCALBASE)/lib/libabsl_strings.a \ + $(LOCALBASE)/lib/libabsl_symbolize.a \ + $(LOCALBASE)/lib/libabsl_synchronization.a \ + $(LOCALBASE)/lib/libabsl_throw_delegate.a \ + $(LOCALBASE)/lib/libabsl_time.a \ + $(LOCALBASE)/lib/libabsl_time_zone.a \ + -lcares -lcircllhist -lcrypto -levent -levent_pthreads -lgpr \ + -lgrpc++ -lhttp_parser -lnghttp2 -lprotobuf -lpthread -lssl \ + -lxxhash -lyaml-cpp + +envoy: $(api_OBJS) $(source_OBJS) + $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) + +all: envoy + +.PHONY: all install diff --git a/www/envoy/files/patch-source_common_common_posix_thread__impl.cc b/www/envoy/files/patch-source_common_common_posix_thread__impl.cc new file mode 100644 index 000000000000..c06b2219afda --- /dev/null +++ b/www/envoy/files/patch-source_common_common_posix_thread__impl.cc @@ -0,0 +1,23 @@ +--- source/common/common/posix/thread_impl.cc.orig 2019-04-05 18:07:44 UTC ++++ source/common/common/posix/thread_impl.cc +@@ -3,6 +3,8 @@ + + #if defined(__linux__) + #include <sys/syscall.h> ++#elif defined(__FreeBSD__) ++#include <pthread_np.h> + #endif + + namespace Envoy { +@@ -13,9 +15,9 @@ namespace { + int64_t getCurrentThreadId() { + #ifdef __linux__ + return static_cast<int64_t>(syscall(SYS_gettid)); +-#elif defined(__APPLE__) ++#elif defined(__FreeBSD__) + uint64_t tid; +- pthread_threadid_np(NULL, &tid); ++ tid = pthread_getthreadid_np(); + return tid; + #else + #error "Enable and test pthread id retrieval code for you arch in pthread/thread_impl.cc" diff --git a/www/envoy/files/patch-source_common_common_stack__array.h b/www/envoy/files/patch-source_common_common_stack__array.h new file mode 100644 index 000000000000..6627ced6aee7 --- /dev/null +++ b/www/envoy/files/patch-source_common_common_stack__array.h @@ -0,0 +1,12 @@ +--- source/common/common/stack_array.h.orig 2019-04-05 18:07:44 UTC ++++ source/common/common/stack_array.h +@@ -2,9 +2,6 @@ + + #ifdef WIN32 + #include <malloc.h> +- +-#else +-#include <alloca.h> + #endif + + #include <stddef.h> diff --git a/www/envoy/files/patch-source_common_protobuf_utility.h b/www/envoy/files/patch-source_common_protobuf_utility.h new file mode 100644 index 000000000000..8a50b8865803 --- /dev/null +++ b/www/envoy/files/patch-source_common_protobuf_utility.h @@ -0,0 +1,15 @@ +--- source/common/protobuf/utility.h.orig 2019-04-05 18:07:44 UTC ++++ source/common/protobuf/utility.h +@@ -222,10 +222,12 @@ class MessageUtil { (public) + // Log warnings or throw errors if deprecated fields are in use. + checkForDeprecation(message); + ++#if notyet + std::string err; + if (!Validate(message, &err)) { + throw ProtoValidationException(err, message); + } ++#endif + } + + template <class MessageType> diff --git a/www/envoy/pkg-descr b/www/envoy/pkg-descr new file mode 100644 index 000000000000..3e76c6b71526 --- /dev/null +++ b/www/envoy/pkg-descr @@ -0,0 +1,12 @@ +Originally built at Lyft, Envoy is a high performance C++ distributed proxy +designed for single services and applications, as well as a communication +bus and "universal data plane" designed for large microservice "service +mesh" architectures. Built on the learnings of solutions such as NGINX, +HAProxy, hardware load balancers, and cloud load balancers, Envoy runs +alongside every application and abstracts the network by providing common +features in a platform-agnostic manner. When all service traffic in an +infrastructure flows via an Envoy mesh, it becomes easy to visualize problem +areas via consistent observability, tune overall performance, and add +substrate features in a single place. + +WWW: https://www.envoyproxy.io/ |