[RFC] New Port: Eclipse Java Compiler, java/eclipse-ecj

Jung-uk Kim jkim at FreeBSD.org
Tue Mar 20 16:30:16 UTC 2012


On Monday 19 March 2012 07:59 pm, Jason Helfman wrote:
> On Mon, Mar 19, 2012 at 07:45:45PM -0400, Jung-uk Kim thus spake:
> >On Monday 19 March 2012 07:08 pm, Jason Helfman wrote:
> >> On Mon, Mar 19, 2012 at 07:00:39PM -0400, Jung-uk Kim thus spake:
> >> >Hmm...  It doesn't seem right.
> >> >
> >> >% cat /usr/local/bin/ecj.sh
> >> >#!/bin/sh
> >> >
> >> >/usr/local/openjdk6/bin/javac -classpath
> >> > /usr/local/share/java/classes/ecj.jar $1 %
> >> > /usr/local/bin/ecj.sh -version
> >> >javac 1.6.0_30
> >> >% /usr/local/openjdk6/bin/javac -version
> >> >javac 1.6.0_30
> >> >
> >> >Please note it isn't coming from ecj.jar.
> >>
> >> That is grabbing the version of javac based on the shell script.
> >
> >Yes, that's exactly my point. :-)
> >
> >> I'm not certain if you can get a vesion of the jar with an
> >> argument, or if that argument is even valid.
> >
> >Of course, it is valid:
> >
> >% fetch
> >http://download.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202
> >080800/ecj-3.7.2.jar ecj-3.7.2.jar                                
> > 100% of 1708 kB 1851 kBps
> >% /usr/local/openjdk6/bin/java -jar ecj-3.7.2.jar -version
> >Eclipse Compiler for Java(TM) 0.B83_R37x, 3.7.2, Copyright IBM
> > Corp 2000, 2011. All rights reserved.
>
> I am unable to validate this with the jar that is built. Are you
> able to get it to work?

No, current port builds unusable ecj.jar. :-(

> >> >Also, `$1' should be `$*'.
> >>
> >> I can change this.
> >
> >Thanks.
> >
> >While you are at it, please add these:
> >
> >USE_ZIP=        yes
>
> Why? It isn't a zip file, and why is this dependency required?

A JAR file is essentially a ZIP file with additional meta-data, just 
like a FreeBSD package is a tarball with meta-data.

% file /usr/local/openjdk6/jre/lib/rt.jar 
/usr/local/openjdk6/jre/lib/rt.jar: Zip archive data, at least v1.0 to 
extract

If you are really concerned about the additiaonal build dependency, 
you may use jar but (bsd)tar is the worst choice.

> >NO_WRKSUBDIR=   yes
>
> Can't see why this would be an issue to put in.
>
> >and remove these:
> >
> >BUILD_WRKSRC=   ${WRKDIR}
>
> Why?  Otherwise, I need to put:
> WRKSRC=	${WRKDIR}

That's because it is easier to read/maintain for maintainer(s), 
"FOO=yes" is easier to parse with scripts, it is the "official" ports 
way to handle this case, etc, etc...

bsd.port.mk:
# NO_WRKSUBDIR  - Assume port unpacks directly into ${WRKDIR}.

> Seems silly when bpm supports a different BUILD worksource.

I am sorry but I don't understand this because I don't use bpm.

> >...
> >EXTRACT_CMD=	${TAR}
> >EXTRACT_BEFORE_ARGS=    xf
> >EXTRACT_AFTER_ARGS=     -C ${WRKDIR}
>
> Why on these, as well? I'm not using zip, and zip is in different
> locations based on different releases of the Operating System.

Please see above.  Besides, what made you think bsdtar is available 
and able extract a JAR file on "different releases of the Operating 
System"? ;-)

Jung-uk Kim


More information about the freebsd-java mailing list