Why compile Java ports and commons-logging

Blair Zajac blair at orcaware.com
Tue Feb 5 11:13:53 PST 2008


Anders F Björklund wrote:
> Blair Zajac wrote:
> 
>> Additionally, with the upgrade to Spring 2.5.x, one needs JDK 6 to 
>> compile it, so for that port, I had to disable compilation and just 
>> use the supplied jar's, which I'm happy to do.
>>
>> The only reason I see to compile a Java port is if you are patching 
>> the source code.
> 
> Isn't running the supplied jar just like running the supplied binary ?
> Seems more like a question of binary blob versus open source to me...
> 
> Then again, a working binary might be better than a broken source :-)
> (depending on who you ask, other projects like JPackage* recompile all)
> 
> --anders
> 
> * see http://www.jpackage.org/jpprequest.php

I don't think the comparison with binary packages is entirely fair.  Jar files 
fall in between source packages and complete binary ones.  You can relocate a 
jar file without it breaking, but you can't relocate a binary package with 
dylibs, say if you want to move /opt/local into /Users/blair/my-macports.  You 
have to recompile.  There's also too many customizations people like to do with 
source releases, look at all our variants.  You don't find many variants in Java 
packages.

And I think saying "open source" is just mixing different concepts in this 
discussion.

Right now compiling Java packages is more of a pain than it needs to be.  This 
is the second package I've had to patch.  Spring doesn't compile at all on 10.x 
unless you want to install JDK 6 which isn't officially released.  Now 
commons-logging doesn't compile since it doesn't work with the new junit.

Blair


More information about the macports-dev mailing list