devel/jdk: add JAVA_HOME to MAKE_ENV for MODJAVA_BUILD=ant

2011-12-14 Thread Matthias Kilian
If jdk-1.7 is already installed when apache-ant gets installed,
javaPathHelper -c apache-ant will use jdk-1.7, which is quite
confusing. For example, naddy reported a problem with postgresql-jdbc
which failed to build because the JDBC interfaces got some new
declarations since jdk-1.7. Yet, postgresql-jdbc ports-wise build
depends on jdk-1.6.

The diff below passes JAVA_HOME via MAKE_ENV whenever MODJAVA_BUILD=ant
is set.

It would be nice if someone could test this in a bulk build before
I commit it.

comments?

Ciao,
Kili

Index: java.port.mk
===
RCS file: /cvs/ports/devel/jdk/java.port.mk,v
retrieving revision 1.29
diff -u -p -r1.29 java.port.mk
--- java.port.mk7 Oct 2011 13:54:31 -   1.29
+++ java.port.mk14 Dec 2011 19:16:59 -
@@ -93,6 +93,7 @@ CATEGORIES+=  java
 # respectively.
 .if defined(MODJAVA_BUILD) && ${MODJAVA_BUILD:L} == "ant"
 BUILD_DEPENDS += devel/apache-ant
+MAKE_ENV += JAVA_HOME=${JAVA_HOME}
 MODJAVA_BUILD_TARGET ?=
 MODJAVA_BUILD_FILE ?= build.xml
 MODJAVA_BUILD_DIR ?= ${WRKSRC}



Re: devel/jdk: add JAVA_HOME to MAKE_ENV for MODJAVA_BUILD=ant

2011-12-14 Thread Nigel Taylor
On 12/14/11 19:34, Matthias Kilian wrote:
> If jdk-1.7 is already installed when apache-ant gets installed,
> javaPathHelper -c apache-ant will use jdk-1.7, which is quite
> confusing. For example, naddy reported a problem with postgresql-jdbc
> which failed to build because the JDBC interfaces got some new
> declarations since jdk-1.7. Yet, postgresql-jdbc ports-wise build
> depends on jdk-1.6.
> 
> The diff below passes JAVA_HOME via MAKE_ENV whenever MODJAVA_BUILD=ant
> is set.
> 
> It would be nice if someone could test this in a bulk build before
> I commit it.
> 
> comments?
> 
> Ciao,
>   Kili
> 
> Index: java.port.mk
> ===
> RCS file: /cvs/ports/devel/jdk/java.port.mk,v
> retrieving revision 1.29
> diff -u -p -r1.29 java.port.mk
> --- java.port.mk  7 Oct 2011 13:54:31 -   1.29
> +++ java.port.mk  14 Dec 2011 19:16:59 -
> @@ -93,6 +93,7 @@ CATEGORIES+=java
>  # respectively.
>  .if defined(MODJAVA_BUILD) && ${MODJAVA_BUILD:L} == "ant"
>  BUILD_DEPENDS += devel/apache-ant
> +MAKE_ENV += JAVA_HOME=${JAVA_HOME}
>  MODJAVA_BUILD_TARGET ?=
>  MODJAVA_BUILD_FILE ?= build.xml
>  MODJAVA_BUILD_DIR ?= ${WRKSRC}
> 
> 
Hi,

Hit this issue before in java/jna see below, the line added to java/jna 
is the same your adding. jna could have it's MAKE_ENV line removed, as now 
it's in java.port.mk.

Nigel

.
Hi,

On 09/10/11 14:24, Nigel Taylor wrote:
> Hi,
>
> jna only builds some of the time. Narrowed this down.
>
> jna will only builds if jdk-1.5.0 hasn't been installed. Wrongly setting
> the path to 1.5.0 javac during the build, which can't build for a 1.6
> target. From build log
>
> -dynamic-properties:
>  [echo] Java version 1.5.0_16-p9, compatibility: 1.4
>  [echo] JNA version 3.2.7, native 3.2.2
>  [echo] Java HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.,
> 1.5.0_16-p9-ntayl01_10_sep_2011_02_43)
>  [echo] java.home=/usr/local/jdk-1.5.0/jre
>  [echo]
> java.library.path=/usr/local/jdk-1.5.0/jre/lib/amd64/server:/usr/local/jdk-1.5.0/jre/lib/amd64:/usr/local/jdk-1.5.0/jre/../lib/amd64:/usr/lib:/usr/X11R6/lib:/usr/local/lib
> ..
> -do-compile:
> [javac] Compiling 16 source files to
> /usr/ports/pobj/jna-3.2.7/twall-jna-d928d42/jnalib/contrib/ntservice/build/classes
> [javac] javac: invalid target release: 1.6
> [javac] Usage: javac  
> [javac] where possible options include:
>
>
> >From a build that worked ...
>
> -dynamic-properties:
>  [echo] Java version 1.6.0_03-p4, compatibility: 1.4
>  [echo] JNA version 3.2.7, native 3.2.2
>  [echo] Java HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.,
> 1.6.0_03-p4-ntayl01_10_sep_2011_03_59-b00)
>  [echo] java.home=/usr/local/jdk-1.6.0/jre
>  [echo]
> java.library.path=/usr/local/jdk-1.6.0/jre/lib/amd64/server:/usr/local/jdk-1.6.0/jre/lib/amd64:/usr/local/jdk-1.6.0/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib:/
> usr/X11R6/lib:/usr/local/lib
>
>
> Nigel
Hi,

The JAVA_HOME for ant build.xml, is set by default to apache-ant's JAVA_HOME, 
which can be
any one of jdk-1.5.0, jdk-1.6.0, jdk-1.7.0. To get the correct JAVA_HOME,
MAKE_ENV can be set, devel/jdk/java.port.mk uses MAKE_ENV when running ant.

Builds ok on amd64/i386 with jdk 1.5.0 installed.

Nigel

Index: Makefile
===
RCS file: /home/cvs/ports/java/jna/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- Makefile12 Sep 2011 12:50:24 -  1.6
+++ Makefile12 Sep 2011 14:30:38 -
@@ -25,6 +25,7 @@ MODULES=  java
 MODJAVA_VER=   1.6+
 MODJAVA_BUILD= ant
 MODJAVA_BUILD_DIR=${WRKSRC}/jnalib/
+MAKE_ENV += JAVA_HOME=${JAVA_HOME}

 # jnalib/build.xml specifically wants gmake (and ggrep)
 USE_GMAKE= Yes



Re: devel/jdk: add JAVA_HOME to MAKE_ENV for MODJAVA_BUILD=ant

2011-12-14 Thread Matthias Kilian
On Wed, Dec 14, 2011 at 08:01:22PM +, Nigel Taylor wrote:
> > The diff below passes JAVA_HOME via MAKE_ENV whenever MODJAVA_BUILD=ant
> > is set.
> 
> Hit this issue before in java/jna see below, the line added to java/jna 
> is the same your adding. jna could have it's MAKE_ENV line removed, as now 
> it's in java.port.mk.

Interesting. A search in the tree shows even more ports with that
workaround:

./geo/jeoip/Makefile:MAKE_ENV=  JAVA_HOME=${JAVA_HOME} \
./geo/josm/Makefile:MAKE_ENV+=  JAVA_HOME=${JAVA_HOME}
./java/jna/Makefile:MAKE_ENV += JAVA_HOME=${JAVA_HOME}
./net/openfire/Makefile:MAKE_ENV+=  JAVA_HOME=${JAVA_HOME}

kurt@ already gave an ok@, but i'll builld and install everything
related to java and look wether there's any failure with the diff.

Ciao,
Kili



Re: devel/jdk: add JAVA_HOME to MAKE_ENV for MODJAVA_BUILD=ant

2011-12-14 Thread Christian Weisgerber
Matthias Kilian  wrote:

> The diff below passes JAVA_HOME via MAKE_ENV whenever MODJAVA_BUILD=ant
> is set.
> 
> It would be nice if someone could test this in a bulk build before
> I commit it.

Under way.

-- 
Christian "naddy" Weisgerber  na...@mips.inka.de



Re: devel/jdk: add JAVA_HOME to MAKE_ENV for MODJAVA_BUILD=ant

2011-12-15 Thread Christian Weisgerber
Christian Weisgerber  wrote:

> > The diff below passes JAVA_HOME via MAKE_ENV whenever MODJAVA_BUILD=ant
> > is set.
> > 
> > It would be nice if someone could test this in a bulk build before
> > I commit it.
> 
> Under way.

... and finished.  No problems.

-- 
Christian "naddy" Weisgerber  na...@mips.inka.de