git: 51b815d204e7 - main - www/envoy: unbreak the port's build on i386 (at least)

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Fri, 16 Jun 2023 11:26:43 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=51b815d204e78b3af2cbdbbba67e06e4017d8515

commit 51b815d204e78b3af2cbdbbba67e06e4017d8515
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-06-16 11:26:06 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-06-16 11:26:06 +0000

    www/envoy: unbreak the port's build on i386 (at least)
    
    Abseil developers say they don't know of anything faster than
    CityHash32 for 32-bit x86 code, thus we must link this symbol
    to unbreak the build:
    
        ld: error: undefined symbol: absl::lts_20220623::
        hash_internal::CityHash32(char const*, unsigned int)
        >>> referenced by access_log_impl.cc
---
 www/envoy/Makefile            | 1 -
 www/envoy/files/makefile-main | 5 ++++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/www/envoy/Makefile b/www/envoy/Makefile
index 6765c0d10dd7..d19216c4f84d 100644
--- a/www/envoy/Makefile
+++ b/www/envoy/Makefile
@@ -11,7 +11,6 @@ WWW=		https://www.envoyproxy.io/
 
 LICENSE=	APACHE20
 
-BROKEN_i386=	makes a lot of 64-bit assumptions (patches welcome)
 BROKEN_SSL=	base openssl libressl libressl-devel
 BROKEN_SSL_REASON=	requires BoringSSL
 
diff --git a/www/envoy/files/makefile-main b/www/envoy/files/makefile-main
index 1821e2ec7602..55fbea6677e5 100644
--- a/www/envoy/files/makefile-main
+++ b/www/envoy/files/makefile-main
@@ -724,8 +724,11 @@ server/admin/html/admin_html_gen.h:
 %.o: %.cc
 	$(CCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $(<:.cc=.o) -c $<
 
+maybe_city = $(if $(shell nm -C common/access_log/access_log_impl.o \
+	| grep ::hash_internal::CityHash),city)
+
 ABSEIL_LIBS=\
-	base cord cordz_functions cordz_info flags_commandlineflag \
+	base $(maybe_city) cord cordz_functions cordz_info flags_commandlineflag \
 	flags_internal flags_marshalling flags_parse flags_reflection \
 	hash raw_hash_set spinlock_wait stacktrace status statusor \
 	str_format_internal strings symbolize synchronization \