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"