Originally, iriverter was built with Autotools, so in theory, distributors could use the standard mechanisms (ebuilds, BSD Makefiles, specs, etc.) to build packages for a specific distro. I thought Autotools were right at the time, especially since I primarily saw this as a GCJ project. Unfortunately, there aren't any real standards for Java applications in Linux as far as file locations. I can't just read in a .pc file to find the SWT jars like with most C libraries. Plus, where do I put the installed jar? I just threw it in /usr/share/iriverter like Gentoo would do, but I know that isn't what other distributions would do.
So now iriverter is built with Ant, and distributed for users with Java Web Start. If you want to packages this for your distribution properly, consider the following dependencies and files.
Dependencies
iriverter requires =ant-? to build, >=swt-3.2 to build and run and >=mplayer-1.0rc1 with dvd, mencoder, xvid, x264, and lame support to run. Necessary files
When built (see example below), all that is needed to run is iriverter.jar. All of iriverter's resources are self contained. The jar is, obviously, relocatable.
Example
The following is the bare minimum to build iriverter for your distribution.
$ svn export http://iriverter.thestaticvoid.org/svn/tags/17 iriverter-17
you probably want to tar and mirror this
$ cd iriverter-17
$ vi build.xml
change the "swt.*.dir" property to the location of your distribution's swt.jar. Ex: /usr/lib/java
this can be done with a patch, sed, or maybe with a build.properties file (I've never tried)
$ ant jar
# cp jar/iriverter.jar /usr/lib/java
# cat > /usr/bin/iriverter << EOF
#!/bin/sh
/path/to/java -Djava.library.path=/path/to/libswt*.so \
-classpath /path/to/iriverter.jar:/path/to/swt.jar \
org.thestaticvoid.iriverter.ConverterUI $*
EOF
Also, please create a .desktop file to call iriverter. You can use iriverter.svg for the icon.
I hope this gives you some idea of what's involved. Now go out there and create some ebuilds, Makefiles, rpms, and debs!
