icedtea-sound and java9

Fridrich Strba fridrich.strba at suse.com
Thu Nov 2 12:30:19 UTC 2017


Hello, good people,

Continuing in trying to make work stuff that worked with jdk8 and
somehow does not so well with jdk9, I massacred icedtea-sound. The
result is the attached patch. With it, one can build icedtea-sound.jar
as a modular jar with jdk9 and I was able to merge it into the jdk by
using this command:

/usr/lib64/jvm/java-9-openjdk-9/bin/jlink --module-path
/usr/lib64/jvm/java-9-openjdk-9/jmods:/home/fstrba/devel-cvs/icedtea-sound
--add-modules
"org.icedtea.sound,java.base,java.datatransfer,java.logging,java.activation,java.compiler,jdk.unsupported,java.rmi,java.transaction,java.xml,java.prefs,java.desktop,java.security.sasl,java.naming,java.corba,java.instrument,java.management,java.management.rmi,java.scripting,java.xml.ws.annotation,java.sql,java.sql.rowset,java.security.jgss,java.xml.crypto,java.se,java.xml.bind,jdk.httpserver,java.xml.ws,java.se.ee,java.smartcardio,jdk.accessibility,jdk.internal.vm.ci,jdk.management,jdk.internal.vm.compiler,jdk.aot,jdk.internal.jvmstat,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.ec,jdk.crypto.cryptoki,jdk.dynalink,jdk.internal.ed,jdk.editpad,jdk.hotspot.agent,jdk.incubator.httpclient,jdk.internal.le,jdk.internal.opt,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.management.agent,jdk.jconsole,jdk.jdeps,jdk.jdwp.agent,jdk.jdi,jdk.jlink,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.pack,jdk.security.jgss,jdk.policytool,jdk.rmic,jdk.scripting.nashorn,jdk.scripting.nashorn.shell,jdk.sctp,jdk.security.auth,jdk.xml.bind,jdk.xml.dom,jdk.xml.ws,jdk.zipfs"
--output /home/fstrba/devel-cvs/icedtea-sound/new_jdk

The resulting jdk9 in /home/fstrba/devel-cvs/icedtea-sound/new_jdk can
run without problem a simple test application JavaSoundDemo that I found
on web. I set the pulseaudio.debugLevel=Verbose, and it shows me that
PulseAudioMixerProvider is running.

the module list, I got it by sourcing the release file in the root of
the jdk and composing it using the space-separated list in variable MODULES:

NEWMODULES=org.icedtea.sound; for i in $MODULES; do
NEWMODULES="$NEWMODULES,$i"; done; echo $NEWMODULES

The attached patch is a bit overkeen, since I crafted it knowing that I
will apply it only with java9, so it is detecting the jdk9's java_home
and checks whether the jdk can build with source and target 9. Also, I
removed any way to build with ecj, since we want a modular jar. Another
thing is the deprecated javah tool: I modified the build so that the
header files be generated using the javac's -h option.

I don't know whether it interests anybody, but as usual, I don't want
this kind of things rot on my disk only.

Cheers

Fridrich
-------------- next part --------------
A non-text attachment was scrubbed...
Name: icedtea-sound-java9.patch
Type: text/x-patch
Size: 15160 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20171102/976c2d3a/icedtea-sound-java9.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20171102/976c2d3a/signature.asc>


More information about the distro-pkg-dev mailing list