network.c defines _POSIX_C_SOURCE before pulling in the socket headers.
On FreeBSD that hides the non-standard PF_* aliases from <sys/socket.h>,
so PF_UNSPEC is undeclared and the build fails:
src/common/network.c:169:20: error: use of undeclared identifier 'PF_UNSPEC'
getaddrinfo() is specified in terms of the AF_* constants anyway, and the
rest of the file already uses AF_INET, so use AF_UNSPEC here too.
gen-public-suffix.py downloads public_suffix_list.dat at build time and
only falls back to a few hardcoded Linux paths when that fails. Package
builds usually run without network access, and on FreeBSD the list is
installed under /usr/local/share/public_suffix_list, so the build dies
with "unable to load public suffix list".
Add a public-suffix-list option that takes the path of a local copy.
When it is set the generator reads just that file and never goes
online, which also keeps the generated table reproducible.