# Maintainer: blacktea # Contributor: kXuan # Contributor: Dan Fuhry pkgname=envoyproxy pkgver=1.21.1 pkgrel=1 pkgdesc="A high performance, open source, general RPC framework that puts mobile and HTTP/2 first." arch=('i686' 'x86_64') url='https://envoyproxy.io' license=('Apache2') makedepends=( 'cmake' 'clang' 'git' 'lld' 'go' 'java-environment-openjdk' 'ninja' 'llvm' 'perl' 'python' ) source=( "https://github.com/$pkgname/envoy/archive/v$pkgver.tar.gz" use_bazelisk.patch fix_wee8_build.patch ) sha512sums=('520fc2958e48b4e472f855bc5e0a923c25ed44091d3d137ed981457eeb98b29fa468efa0958e9b6555e6177cf881ad6e3909813fe8e0bddfafb2ed17a128a0c7' '248d0903c0aaa680065cdb308068e7f999f2ba7e2ffbc3b743715d2db968858f41cf104c59e1e98d6cda74baea54755e7c9edc29711c3b1daa87d63107ee4017' 'e16e4949c7b66797f85d4e9547f4e47be689c2e3eb320514ba83a2c54f22f860bfc5a729b3be56b89c31336f0e414880d373b5f4d1f8b859710f80da650e9c31') prepare() { cd "envoy-$pkgver" for f in ${source[@]}; do # test that "$f" ends in ".patch" if [ "${f%.patch}" != "$f" ]; then msg "Applying patch: $f" patch -Np1 -i "../$f" fi done export GOPATH="$srcdir"/go msg "Building bazelisk" go install github.com/bazelbuild/bazelisk@latest export BAZELISK="$GOPATH/bin/bazelisk" msg "Setting SOURCE_VERSION" # https://github.com/envoyproxy/envoy/blob/main/bazel/get_workspace_status echo "65a0228c93d2b7ca20c2ec56940735e5b6d76a38" > SOURCE_VERSION msg "Setting build environment for Clang" ./bazel/setup_clang.sh } build() { cd "envoy-$pkgver" $BAZELISK build \ --workspace_status_command bazel/get_workspace_status \ --config=clang --verbose_failures -c opt \ --features=-default_compile_flags \ --copt=-g \ --copt=-fstack-protector \ --copt=-fcolor-diagnostics \ --copt=-D_FORTIFY_SOURCE=1 \ --copt=-O2 \ --copt=-DNDEBUG \ --copt=-ffunction-sections \ --copt=-fdata-sections \ //source/exe:envoy-static } package() { cd "envoy-$pkgver" install -Dm755 bazel-bin/source/exe/envoy-static "$pkgdir"/usr/bin/envoy install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE }