At present, nginx defines a 'http' flag in IUSE, however as noted in the ebuild: > # - any http-module activates the main http-functionality and overrides USE=-http This then goes on to set a 'http_enabled' variable during configure and uses that as the status of the http flag: > # HTTP modules > for mod in $NGINX_MODULES_STD; do > if use nginx_modules_http_${mod}; then > http_enabled=1 > else > myconf+=( --without-http_${mod}_module ) > fi > done And finally: > if [ $http_enabled ]; then > use http-cache || myconf+=( --without-http-cache ) > use ssl && myconf+=( --with-http_ssl_module ) > else > myconf+=( --without-http --without-http-cache ) > fi This should instead be handled with a REQUIRED_USE rather than silently ignoring the USE flag. This could be done with something like: > for mod in $NGINX_MODULES_STD; do > REQUIRED_USE="${REQUIRED_USE} > nginx_modules_http_${mod}? ( http )" > done > for mod in $NGINX_MODULES_OPT; do > REQUIRED_USE="${REQUIRED_USE} > nginx_modules_http_${mod}? ( http )" > done > for mod in $NGINX_MODULES_3RD; do > # all current 3rd-party mods are http-* > REQUIRED_USE="${REQUIRED_USE} > nginx_modules_${mod}? ( http )" > done The setting/checking of ${http_enabled} would also then need to be reworked.