Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Sep 2000 13:06:36 -0700 (PDT)
From:      Archie Cobbs <archie@whistle.com>
To:        Warner Losh <imp@village.org>
Cc:        Akinori -Aki- MUSHA <knu@idaemons.org>, ade@FreeBSD.org, asami@FreeBSD.org, freebsd-java@FreeBSD.org
Subject:   Re: cvs commit: ports INDEX
Message-ID:  <200009212006.NAA18943@bubba.whistle.com>
In-Reply-To: <200009211731.LAA60133@harmony.village.org> "from Warner Losh at Sep 21, 2000 11:31:12 am"

next in thread | previous in thread | raw e-mail | index | archive | help
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 freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009212006.NAA18943>