Please find attached log4j-1.2.12-r1.ebuild and associated patch. The build.xml for log4j uses the "-source 1.1" when compiling the source files. This fails on many recent compilers (i.e. jikes and sun-jdk-1.5) because they no longer support source version 1.1. The ebuild, and patch, alter the build.xml to use "-source 1.3" which is currently supported by the recent compilers.
Created attachment 69570 [details] log4j-1.2.12-r1.ebuild
Created attachment 69571 [details, diff] log4j-no-source-1.1.patch
I should mention that the ebuild I provided blindly applies the patch. Being new to 'ebuilding', I'm not sure if the patch can be selectively applied when using a newer compiler but exclude the patch for older compilers. Also I only included an ebuild for log4j-1.2.12, although the same patch and change could be applied to all of the log4j versions in portage to allow them to compile under newer jdks.
*** This bug has been marked as a duplicate of 107122 ***
I'll agree that this is a duplicate 'problem' to #107122, but instead of just stating it's a problem I provided an ebuild solution to fix it. Doesn't that make it unresolved in that the ebuild/patch wasn't applied to portage?
compiling with jikes and 1.5.0.0.5 it fails [javac] Found 1 semantic error compiling "/mnt/Dati/Gentoo/tmp/portage/log4j-1.2.12/work/logging-log4j-1.2.12/src/java/org/apache/log4j/DailyRollingFileAppender.java": [javac] 367. class RollingCalendar extends GregorianCalendar { [javac] ^-------------^ [javac] *** Semantic Error: The abstract method "int compareTo(java.lang.Object $1);", inherited from type "java.lang.Comparable", is not implemented in the non-abstract class "org.apache.log4j.RollingCalendar".