Bug 164941 - [UPDATE] [NEW PORTS] java/classpath-initial, including rework of java/classpath
Summary: [UPDATE] [NEW PORTS] java/classpath-initial, including rework of java/classpath
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-java (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-09 20:30 UTC by Per Ola Ingvarsson
Modified: 2018-02-24 02:37 UTC (History)
2 users (show)

See Also:


Attachments
file.diff (48.10 KB, patch)
2012-02-09 20:30 UTC, Per Ola Ingvarsson
no flags Details | Diff
patch_v2.txt (48.45 KB, text/plain; charset=US-ASCII)
2012-02-14 19:19 UTC, Per Ola Ingvarsson
no flags Details
smime.p7s (6.16 KB, application/pkcs7-signature)
2012-03-01 06:29 UTC, Björn König
no flags Details
classpath_jamvm.patch2 (47.03 KB, patch)
2013-02-19 21:30 UTC, Per Ola Ingvarsson
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Per Ola Ingvarsson 2012-02-09 20:30:12 UTC
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:
Comment 1 Per Ola Ingvarsson 2012-02-14 19:19:00 UTC
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
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2012-02-17 04:29:25 UTC
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.
Comment 3 Björn König 2012-03-01 06:29:00 UTC
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.
Comment 4 dfilter service freebsd_committer freebsd_triage 2012-09-14 23:02:25 UTC
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"
Comment 5 Mark Linimon freebsd_committer freebsd_triage 2013-01-20 00:28:08 UTC
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. 


Comment 6 Mark Linimon freebsd_committer freebsd_triage 2013-01-20 00:28:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-java
Comment 7 Carlo Strub freebsd_committer freebsd_triage 2014-08-31 17:21:05 UTC
Back to pool.
Comment 8 Walter Schwarzenfeld freebsd_triage 2018-01-12 00:48:06 UTC
A port javavm with version 1.5.4_2 is in the portstree. I think this could be closed.
Comment 9 Walter Schwarzenfeld freebsd_triage 2018-02-24 02:37:49 UTC
Also port classpath
PORTNAME=       classpath
PORTVERSION=    0.99
PORTREVISION=   5

It is done, so I close here.