mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
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/
This commit is contained in:
parent
b8a2328c74
commit
fb65c87f25
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=506344
@ -142,6 +142,7 @@
|
||||
SUBDIR += elixir-webassembly
|
||||
SUBDIR += emacs-w3m
|
||||
SUBDIR += encode-explorer
|
||||
SUBDIR += envoy
|
||||
SUBDIR += ephemera
|
||||
SUBDIR += epiphany
|
||||
SUBDIR += erlang-cowboy
|
||||
|
103
www/envoy/Makefile
Normal file
103
www/envoy/Makefile
Normal file
@ -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>
|
13
www/envoy/distinfo
Normal file
13
www/envoy/distinfo
Normal file
@ -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
|
90
www/envoy/files/makefile-genproto
Normal file
90
www/envoy/files/makefile-genproto
Normal file
@ -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
|
172
www/envoy/files/makefile-main
Normal file
172
www/envoy/files/makefile-main
Normal file
@ -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
|
@ -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"
|
12
www/envoy/files/patch-source_common_common_stack__array.h
Normal file
12
www/envoy/files/patch-source_common_common_stack__array.h
Normal file
@ -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>
|
15
www/envoy/files/patch-source_common_protobuf_utility.h
Normal file
15
www/envoy/files/patch-source_common_protobuf_utility.h
Normal file
@ -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>
|
12
www/envoy/pkg-descr
Normal file
12
www/envoy/pkg-descr
Normal file
@ -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/
|
Loading…
Reference in New Issue
Block a user