Debian's openjdk-7-jre package depends on libaccess-bridge-java-jni (source package: java-access-bridge).
The latter one has openjdk-6-jdk as a build dependency, but that can be hacked around:
# ln -s java-7-openjdk /usr/lib/jvm/java-6-openjdk
Trying to build it:
$ LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk/jre/lib/i386/jli dpkg-buildpackage -b -uc -d
[...]
make[3]: Entering directory `/media/erich/home/thomas/tmp/libaccess-bridge-java-jni/java-access-bridge-1.26.2/idlgen'
/usr/lib/jvm/java-6-openjdk/bin/idlj \
-pkgPrefix Bonobo org.GNOME \
-pkgPrefix Accessibility org.GNOME \
-emitAll -i /usr/share/idl/bonobo-activation-2.0 -i /usr/share/idl/at-spi-1.0 -i /usr/share/idl/bonobo-2.0 \
-fallTie /usr/share/idl/at-spi-1.0/Accessibility.idl
/usr/share/idl/at-spi-1.0/Accessibility_Collection.idl (line 66): WARNING: Identifier `object' collides with a keyword; use an escaped identifier to ensure future compatibility.
boolean isAncestorOf (in Accessible object);
^
/usr/share/idl/at-spi-1.0/Accessibility_Component.idl (line 83): WARNING: Identifier `Component' collides with a keyword; use an escaped identifier to ensure future compatibility.
interface Component : Bonobo::Unknown {
^
Exception in thread "main" java.lang.AssertionError: Platform not recognized
at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:71)
at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108)
at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96)
at java.security.AccessController.doPrivileged(Native Method)
at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:95)
at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90)
at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:489)
at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:480)
at java.security.AccessController.doPrivileged(Native Method)
at sun.util.calendar.ZoneInfoFile.<clinit>(ZoneInfoFile.java:479)
at sun.util.calendar.ZoneInfo.getTimeZone(ZoneInfo.java:658)
at java.util.TimeZone.getTimeZone(TimeZone.java:559)
at java.util.TimeZone.setDefaultZone(TimeZone.java:656)
at java.util.TimeZone.getDefaultRef(TimeZone.java:623)
at java.util.TimeZone.getDefault(TimeZone.java:610)
at java.text.SimpleDateFormat.initializeCalendar(SimpleDateFormat.java:682)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:619)
at java.text.DateFormat.get(DateFormat.java:772)
at java.text.DateFormat.getDateTimeInstance(DateFormat.java:547)
at com.sun.tools.corba.se.idl.toJavaPortable.Util.writeProlog(Util.java:1139)
at com.sun.tools.corba.se.idl.toJavaPortable.Skeleton.writeHeading(Skeleton.java:145)
at com.sun.tools.corba.se.idl.toJavaPortable.Skeleton.generate(Skeleton.java:102)
at com.sun.tools.corba.se.idl.toJavaPortable.InterfaceGen.generateSkeleton(InterfaceGen.java:159)
at com.sun.tools.corba.se.idl.toJavaPortable.InterfaceGen.generate(InterfaceGen.java:108)
at com.sun.tools.corba.se.idl.InterfaceEntry.generate(InterfaceEntry.java:110)
at com.sun.tools.corba.se.idl.toJavaPortable.ModuleGen.generate(ModuleGen.java:75)
at com.sun.tools.corba.se.idl.ModuleEntry.generate(ModuleEntry.java:83)
at com.sun.tools.corba.se.idl.Compile.generate(Compile.java:324)
at com.sun.tools.corba.se.idl.toJavaPortable.Compile.start(Compile.java:169)
at com.sun.tools.corba.se.idl.toJavaPortable.Compile.main(Compile.java:146)
make[3]: *** [org/GNOME/Accessibility/Accessible.java] Error 1
make[3]: Leaving directory `/media/erich/home/thomas/tmp/libaccess-bridge-java-jni/java-access-bridge-1.26.2/idlgen'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/media/erich/home/thomas/tmp/libaccess-bridge-java-jni/java-access-bridge-1.26.2/idlgen'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/media/erich/home/thomas/tmp/libaccess-bridge-java-jni/java-access-bridge-1.26.2'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
IRC, freenode, #hurd, 2011-08-10:
< jkoenig> and with my latest fix (hardwire os.name as "Linux"),
java-access-bridge actually built \o/
< youpi> I wouldn't call it a "fix" :)
< jkoenig> true, but pretty much everything assumes we're either solaris,
linux or windows :-/
< jkoenig> also we're actually using the Linux code which it is used to
select throughout the JDK
< jkoenig> if it's any consolation, os.version stays "GNU-Mach
1.3.99/Hurd-0.3" :-)
< youpi> ideally it should simply be changed to "GNU"