Version 1.5.4, jamvm has support for sparc64, but also depends on a version of classpath that cannot be compiled without some kind of java, which is not available on sparc64. The patches attached contain: 1. Update jamvm to 1.5.4 2. Update classpath to 0.98 3. Use ecj + antlr + jamvm-initial instead of jdk when building classpath-0.98 4. New package jamvm-initial-1.5.1 patched for sparc64 which is the jvm used when running ecj above 5. New package classpath-initial-0.93 which is the java library used by jamvm-initial jamvm-initial and classpath-initial are not useful once jamvm and classpath are built. The packages have been successfully built/installed on sparc64/amd64/i386. Chances are that it also works on powerpc/arm. Fix: Patch attached with submission follows:
Original patch did not build on 10-CURRENT and left gjdoc/gjdoc.1 behind from classpath. Build jars with zip instead of fastjar and add gjdoc/gjdoc.1 to pkg-plist/Makefile. Updated patch, new status: Sucessfully built on: 10-CURRENT/amd64 10-CURRENT/i386 9.0-RELEASE/amd64 9.0-RELEASE/i386 8.2-RELEASE/amd64 8.2-RELEASE/i386 7.4-RELEASE/amd64 7.4-RELEASE/i386 and 8.1-RELEASE/sparc64
State Changed From-To: open->feedback Attempt to notify maintainer of both java/jamvm and java/classpath about the proposed changes to those 2 ports. After approval, we need to do the new ports, perhaps separately.
Due to private affairs I can't maintain the ports at the moment. Since I don't want to block updates and improvements I would like to pass the maintainership of all ports that are involved.
Author: jkim Date: Fri Sep 14 22:02:09 2012 New Revision: 304300 URL: http://svn.freebsd.org/changeset/ports/304300 Log: - Update to 1.5.4. - Reset maintainer to java. - Convert to optionsNG and add license. - Unbreak sparc64. PR: ports/164941 (partial) Added: head/java/jamvm/files/ head/java/jamvm/files/patch-configure (contents, props changed) Modified: head/java/jamvm/Makefile head/java/jamvm/distinfo head/java/jamvm/pkg-plist Modified: head/java/jamvm/Makefile ============================================================================== --- head/java/jamvm/Makefile Fri Sep 14 21:56:20 2012 (r304299) +++ head/java/jamvm/Makefile Fri Sep 14 22:02:09 2012 (r304300) @@ -5,33 +5,41 @@ # $FreeBSD$ PORTNAME= jamvm -PORTVERSION= 1.5.1 -PORTREVISION= 5 +PORTVERSION= 1.5.4 CATEGORIES= java devel MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/JamVM%20${PORTVERSION} -MAINTAINER= bkoenig@alpha-tierchen.de +MAINTAINER= java@FreeBSD.org COMMENT= A compact Java virtual machine +LICENSE= GPLv2 + RUN_DEPENDS= ${LOCALBASE}/share/classpath/glibj.zip:${PORTSDIR}/java/classpath GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-classpath-install-dir=${LOCALBASE} USE_GMAKE= yes +USE_PKGCONFIG= build -OPTIONS= FFI "use libffi to call native methods" ON \ - ZIP "turn-on zip support in the bootstrap loader" ON +OPTIONS_DEFINE= FFI ZIP +OPTIONS_DEFAULT=FFI ZIP +FFI_DESC= use libffi to call native methods +ZIP_DESC= turn-on zip support in the bootstrap loader -.include <bsd.port.pre.mk> +.include <bsd.port.options.mk> -.if defined(WITH_FFI) +.if ${PORT_OPTIONS:MFFI} LIB_DEPENDS+= ffi:${PORTSDIR}/devel/libffi CONFIGURE_ARGS+= --enable-ffi -LDFLAGS+= -L${LOCALBASE}/lib -CFLAGS+= `pkg-config libffi --cflags` +FFI_CFLAGS!= pkgconf libffi --cflags +FFI_LDFLAGS!= pkgconf libffi --libs-only-L +CFLAGS+= ${FFI_CFLAGS} +LDFLAGS+= ${FFI_LDFLAGS} +.elif ${ARCH} == "sparc64" +IGNORE= for ${ARCH} requires libffi .endif -.if defined(WITH_ZIP) +.if ${PORT_OPTIONS:MZIP} BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip PLIST_SUB+= WITH_ZIP="" WITHOUT_ZIP="@comment " .else @@ -39,15 +47,9 @@ CONFIGURE_ARGS+= --disable-zip PLIST_SUB+= WITH_ZIP="@comment " WITHOUT_ZIP="" .endif -.if ${ARCH} == "sparc64" -BROKEN= Does not configure on sparc64 -.endif +.include <bsd.port.pre.mk> post-extract: - @${MV} ${WRKSRC}/src/arch/x86_64.h ${WRKSRC}/src/arch/amd64.h @${REINPLACE_CMD} -e "s,\(^include_HEADERS = .*\)jni.h\(.*\),\1\2," ${WRKSRC}/src/Makefile.in -post-configure: - @${MV} ${WRKSRC}/src/os/bsd/x86_64 ${WRKSRC}/src/os/bsd/amd64 - .include <bsd.port.post.mk> Modified: head/java/jamvm/distinfo ============================================================================== --- head/java/jamvm/distinfo Fri Sep 14 21:56:20 2012 (r304299) +++ head/java/jamvm/distinfo Fri Sep 14 22:02:09 2012 (r304300) @@ -1,2 +1,2 @@ -SHA256 (jamvm-1.5.1.tar.gz) = 663895bd69caf3a1fda6af5eea8263d90a5fd35ca8f4c32e2210ac410788901a -SIZE (jamvm-1.5.1.tar.gz) = 599084 +SHA256 (jamvm-1.5.4.tar.gz) = 7865693698bc4322cabe1014a4b7ebdec1bc1daf45f1a4457b6e908a4446b124 +SIZE (jamvm-1.5.4.tar.gz) = 656283 Added: head/java/jamvm/files/patch-configure ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/jamvm/files/patch-configure Fri Sep 14 22:02:09 2012 (r304300) @@ -0,0 +1,11 @@ +--- configure.orig 2009-12-31 13:41:44.000000000 -0500 ++++ configure 2012-09-12 20:07:36.000000000 -0400 +@@ -2689,7 +2689,7 @@ + hppa*-*-linux*) host_cpu=parisc host_os=linux ;; + mipsel-*-linux*) host_cpu=mips host_os=linux ;; + x86_64-*-openbsd*) host_os=bsd libdl_needed=no ;; +-x86_64-*-freebsd*) host_os=bsd libdl_needed=no ;; ++amd64-*-freebsd*) host_os=bsd host_cpu=x86_64 libdl_needed=no ;; + arm*-*-linux*) host_cpu=arm host_os=linux ;; + arm*-*-openbsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; + arm*-*-freebsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; Modified: head/java/jamvm/pkg-plist ============================================================================== --- head/java/jamvm/pkg-plist Fri Sep 14 21:56:20 2012 (r304299) +++ head/java/jamvm/pkg-plist Fri Sep 14 22:02:09 2012 (r304300) @@ -2,33 +2,36 @@ bin/jamvm lib/libjvm.la lib/libjvm.a %%WITH_ZIP%%lib/rt.jar -%%WITH_ZIP%%share/jamvm/classes.zip -%%WITHOUT_ZIP%%share/jamvm/classes/jamvm/java/lang/VMClassLoaderData.class -%%WITHOUT_ZIP%%share/jamvm/classes/jamvm/java/lang/JarLauncher.class -%%WITHOUT_ZIP%%share/jamvm/classes/jamvm/java/lang/VMClassLoaderData$Unloader.class -%%WITHOUT_ZIP%%share/jamvm/classes/sun/reflect/annotation/AnnotationInvocationHandler.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/security/VMAccessController.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/reflect/Field.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/reflect/Constructor.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/reflect/Method.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/VMClassLoader.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/VMThrowable.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/VMString.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/VMThread.class -%%WITHOUT_ZIP%%share/jamvm/classes/java/lang/VMRuntime.class -%%WITHOUT_ZIP%%share/jamvm/classes/gnu/classpath/VMSystemProperties.class -%%WITHOUT_ZIP%%share/jamvm/classes/gnu/classpath/VMStackWalker.class -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/gnu/classpath -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/gnu -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/java/lang/reflect -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/java/lang -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/java/security -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/java -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/sun/reflect/annotation -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/sun/reflect -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/sun -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/jamvm/java/lang -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/jamvm/java -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes/jamvm -%%WITHOUT_ZIP%%@dirrm share/jamvm/classes -@dirrm share/jamvm +%%WITH_ZIP%%%%DATADIR%%/classes.zip +%%WITHOUT_ZIP%%%%DATADIR%%/classes/gnu/classpath/VMStackWalker.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/gnu/classpath/VMSystemProperties.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/jamvm/ThreadInfoHelper.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/jamvm/java/lang/JarLauncher.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/jamvm/java/lang/VMClassLoaderData$Unloader.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/jamvm/java/lang/VMClassLoaderData.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMClass.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMClassLoader$PackageInfo.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMClassLoader.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMRuntime.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMString.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMThread.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/VMThrowable.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/reflect/VMConstructor.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/reflect/VMField.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/lang/reflect/VMMethod.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/java/security/VMAccessController.class +%%WITHOUT_ZIP%%%%DATADIR%%/classes/sun/reflect/annotation/AnnotationInvocationHandler.class +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/gnu/classpath +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/gnu +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/java/lang/reflect +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/java/lang +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/java/security +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/java +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/sun/reflect/annotation +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/sun/reflect +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/sun +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/jamvm/java/lang +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/jamvm/java +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes/jamvm +%%WITHOUT_ZIP%%@dirrm %%DATADIR%%/classes +@dirrm %%DATADIR%% _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->open The changes to java/jamvm have been committed, but AFAICT no one has looked at the classpath changes yet.
Responsible Changed From-To: freebsd-ports-bugs->freebsd-java
Back to pool.
A port javavm with version 1.5.4_2 is in the portstree. I think this could be closed.
Also port classpath PORTNAME= classpath PORTVERSION= 0.99 PORTREVISION= 5 It is done, so I close here.