Warner Losh writes:
> : > We're only 400 ports away from 6!*6. That's just a long weekend for
> : > Steve Price, so we should see that before 4.2 :-)
> :
> : Okay, you can find me another language than Ruby!
> :
> : Err, just kidding. :->
>
> Hmmm. I almost said that if we found another language that we could
> do this in under a day. I think both java and python are
> underrepresented in the tree right now. We've got boatloads of ruby
> things, a blue million P5- libraries, but very few from Java and
> Python.
[ nb: moving this thread to freebsd-java@freebsd.org ]
This brings up a semi-serious point. There is tons of Java code
out there that is distributed as JAR files, or maybe JAR files plus
a native shared library. Just taking one a random example, SableCC:
http://www.sable.mcgill.ca/sablecc/
This is an application, but there are also various Java libraries.
We need to have a standard way of installing this kind of software.
Better yet, it should work for any of our Java runtimes (JDK, kaffe, ...?)
For example, we could specify that:
- All JAR files go into /usr/local/share/java/jars (replace
/usr/local with your favorite ${PREFIX} of course).
- All native shared libraries files go into /usr/local/lib/java
- Ports of application code should install helper scripts, e.g.:
#!/bin/sh
# Note: this script is stored as /usr/local/bin/sablecc
JARSDIR=/usr/local/share/java/jars
CLASSPATH=${CLASSPATH}:${JARSDIR}/sablecc-2.13.jar
export CLASSPATH
java SableCC ${1+"$@"}
If there was a shared library, it would be added to the
LD_LIBRARY_PATH environment variable in this script as well.
Etc.
- Ports should install man pages as well
This way you could install and run as easy as this:
$ cd /usr/ports/java/sablecc
$ make all install
$ sablecc ...
Thoughts?
-Archie
___________________________________________________________________________
Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message