Hi all,

For EAPI 6+ java-pkg-opt-2_src_prepare() has eapply_user call via
java-utils-2_src_prepare() from java-utils-2.eclass. But
java-utils-2_src_prepare() call is conditional and in case when
package is build with USE=-java java-utils-2_src_prepare() is not
called, hence eapply_user is not called in src_prepare phase and
ebuild fails.

The following patch fixes this by calling eapply_user if java USE
is disabled _and_ EAPI is 6+.

[pedantic mode on]
Strictly speaking when EAPI is other than [0-5]. The way java-*
eclasses are now, they assume ![0-5] == 6+. It may be speculated
that this is not entirely correct and many other eclasses
explicitly deny all unknown EAPIs. If someone is interesting in
fixing this issue, please handle it with the java team and do not
mix it into the problem described at the beginning. My goal now is
to fix eapply_user issue which cases trouble for any EAPI 6
packages with optional java support and default src_prepare() at
the ebuild scope.
[pedantic mode off]

Best regards,
Andrew Savchenko
diff --git a/eclass/java-pkg-opt-2.eclass b/eclass/java-pkg-opt-2.eclass
index 16c9f8f..c0b05f9 100644
--- a/eclass/java-pkg-opt-2.eclass
+++ b/eclass/java-pkg-opt-2.eclass
@@ -43,7 +43,11 @@ java-pkg-opt-2_pkg_setup() {
 # default src_prepare, wrapper for java-utils-2_src_prepare
 
 java-pkg-opt-2_src_prepare() {
-	use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare
+	use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare 
+	case "${EAPI:-0}" in
+		[0-5]) ;;
+		*) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
+	esac
 }
 
 

Attachment: pgpBNKAGqg2e6.pgp
Description: PGP signature

Reply via email to