net-libs/nodejs-14.17.4 (and probably a couple earlier versions) fail compilation when c-ares isn't upgraded first: ../src/cares_wrap.cc: In function ‘int node::cares_wrap::{anonymous}::ParseCaaReply(node::Environment*, const unsigned char*, int, v8::Local<v8::Array>, bool)’: ../src/cares_wrap.cc:324:16: error: ‘ares_parse_caa_reply’ was not declared in this scope; did you mean ‘ares_parse_soa_reply’? 324 | int status = ares_parse_caa_reply(buf, len, &caa_start); | ^~~~~~~~~~~~~~~~~~~~ | ares_parse_soa_reply ../src/cares_wrap.cc:330:66: error: invalid use of incomplete type ‘struct node::cares_wrap::{anonymous}::ParseCaaReply(node::Environment*, const unsigned char*, int, v8::Local<v8::Array>, bool)::ares_caa_reply’ 330 | for (uint32_t i = 0; current != nullptr; ++i, current = current->next) { | ^~ Given that nodejs ebuild does specify a (too low) c-ares minimum requirement, might want to fix this for cleaner upgrade paths on outdated systems.
I'll go for "fixed" here because 12.22.5 and 14.17.5 require c-ares-1.17.2 or newer, and as soon as we've had those two stabilised all other v12 and v14 version will be gone due to security issues.