CURL_SSL is not needed. Other packages support different tls/ssl implementations simply with USE flags. It can be simply done here as well. Examples can be found here: https://wiki.gentoo.org/wiki/Project:LibreSSL ssl? ( openssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) polarssl? ( net-libs/mbedtls:= ) gnutls? ( net-libs/gnutls:= ) nettle? ( dev-libs/nettle:= ) ) NB: "The important point to note is that USE=libressl acts as a discriminating flag between OpenSSL and LibreSSL. As such, it is not a pure implementation USE flag and is analogous to USE=libav. That is, USE=libressl is never mutually exclusive to any other USE flag and should therefore never appear in REQUIRED_USE".
In (R)DEPEND net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)] can also be replaced with net-misc/curl[gnutls(-)=,libressl(-)=,nss(-)=,openssl(-)=] (axtls and cyassl are no longer relevant, AFAIK)
I think this will also fix #588060 - cf. https://bugs.gentoo.org/588060#c4