@@ -743,29 +740,38 @@ local depstr newdepstr - # TODO should probably do only unique arguments. Also could check previous - # java-pkg_use calls. for virtual in ${@}; do + if has ${virtual} ${JAVA_PKG_VNEED}; then + debug-print "Already registered virtual ${virtual}" + continue + fi case ${virtual} in javamail) + debug-print "java-pkg_need: adding javamail dependencies" newdepstr="|| ( dev-java/gnu-javamail dev-java/sun-javamail-bin )" ;; jdbc-stdext) + debug-print "java-pkg_need: adding jdbc-stdext dependencies" newdepstr="|| ( >=virtual/jdk-1.4 dev-java/jdbc2-stdext )" ;; jaf) + debug-print "java-pkg_need: adding jaf dependencies" newdepstr="|| ( dev-java/gnu-jaf dev-java/sun-jaf-bin )" ;; jdbc-rowset) + debug-print "java-pkg_need: adding jdbc-rowset dependencies" newdepstr="|| ( >=virtual/jdk-1.5 dev-java/sun-jdbc-rowset )" ;; jms) + debug-print "java-pkg_need: adding jms dependencies" newdepstr="|| ( dev-java/sun-jms dev-java/openjms )" ;; *) die "Invalid virtual: ${virtual}" esac + JAVA_PKG_VNEED="${JAVA_PKG_VNEED} ${virtual}" + if [[ -n ${useflag} ]]; then depstr="${depstr} ${useflag}? ( ${newdepstr} )" else @@ -773,7 +779,7 @@ fi done - export JAVA_PKG_VNEED="${JAVA_PKG_VNEED} ${@}" + export JAVA_PKG_VNEED [[ -z ${JAVA_PKG_NV_DEPEND} ]] && export JAVA_PKG_NV_DEPEND="${DEPEND}" [[ -z ${JAVA_PKG_NV_RDEPEND} ]] && export JAVA_PKG_NV_RDEPEND="${RDEPEND}"