Add port of Forte[tm] for Java[tm] Community Edition 3.0, a Sun's powerful

and extensible IDE for Java. It's huge and slow but I'm sure FreeBSD Java
monkies would like it. ;)

-Maxim
This commit is contained in:
Maxim Sobolev 2001-09-06 17:56:27 +00:00
parent 5c57381879
commit a435deed36
8 changed files with 2177 additions and 0 deletions

View file

@ -8,6 +8,7 @@
SUBDIR += collections
SUBDIR += cos
SUBDIR += cryptix-jce
SUBDIR += forte
SUBDIR += gnu-regexp
SUBDIR += guavac
SUBDIR += infobus

62
java/forte/Makefile Normal file
View file

@ -0,0 +1,62 @@
# New ports collection makefile for: Forte for Java, Cummunity Edition
# Date created: 6 August 2001
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= forte
PORTVERSION= 3.0
CATEGORIES= java devel
MASTER_SITES= # http://www.sun.com/forte/ffj/buy.html
DISTNAME= forte_ce_3
EXTRACT_SUFX= .class
EXTRACT_ONLY=
MAINTAINER= sobomax@FreeBSD.org
BUILD_DEPENDS= ${JAVAVM}:${PORTSDIR}/java/jdk13
RUN_DEPENDS= ${JAVAVM}:${PORTSDIR}/java/jdk13
JDK13DIR?= ${LOCALBASE}/jdk1.3.1
JAVAVM= ${JDK13DIR}/bin/java
RESTRICTED= "Restrictive license"
USE_XLIB= yes
NO_BUILD= yes
.include <bsd.port.pre.mk>
.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE= You must manually fetch the source distribution (${DISTFILES}) from http://www.sun.com/forte/ffj/buy.html (registration required), place it in ${DISTDIR} and then run make again
.endif
do-configure:
@${SED} "s|%%JDK13DIR%%|${JDK13DIR}|g" \
${FILESDIR}/forte.sh > ${WRKDIR}/forte.sh
pre-install:
.if exists(${PREFIX}/share/java/forte4j)
@${ECHO_MSG}
@${ECHO_MSG} "It seems that you already have \`${PREFIX}/share/java/forte4j' directory,"
@${ECHO_MSG} "please remove it before proceeding with installation, otherwise installation"
@${ECHO_MSG} "will hang."
@${ECHO_MSG}
@${FALSE}
.endif
@if [ x"$${DISPLAY}" = x"" ]; then \
${ECHO_MSG}; \
${ECHO_MSG} "Due to limitations in installer you have to install this port from within"; \
${ECHO_MSG} "X11 environment. However, the installation itself is fully automatic and"; \
${ECHO_MSG} "doesn't require any user's interaction."; \
${ECHO_MSG}; \
${FALSE}; \
fi
do-install:
@${SED} "s|%%PREFIX%%|${PREFIX}|" ${FILESDIR}/instscript | ${SETENV} \
CLASSPATH=${DISTDIR} ${JAVAVM} ${DISTNAME} -nodisplay > /dev/null || ${TRUE}
@${INSTALL_SCRIPT} ${WRKDIR}/forte.sh ${PREFIX}/share/java/forte4j/bin
@${LN} -sf ${PREFIX}/share/java/forte4j/bin/forte.sh ${PREFIX}/bin/forte
.include <bsd.port.post.mk>

1
java/forte/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (forte_ce_3.class) = 2778420443cc8d49ed45a875eac6a0cd

311
java/forte/files/forte.sh Normal file
View file

@ -0,0 +1,311 @@
#!/bin/sh
# Sun Public License Notice
#
# The contents of this file are subject to the Sun Public License
# Version 1.0 (the "License"). You may not use this file except in
# compliance with the License. A copy of the License is available at
# http://www.sun.com/
#
# The Original Code is NetBeans. The Initial Developer of the Original
# Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
# Microsystems, Inc. All Rights Reserved.
#
# customization
#
# the value set here can be overriden by $JAVA_PATH or the -jdkhome switch
jdkhome="%%JDK13DIR%%"
export jdkhome
jreflags="-Xss1024k -Xms24m -Xverify:none"
# default userdir, can be overriden by -userdir switch. This value should be
# changed for each new version so that the user can switch between versions of
# the IDE without risking loss of settings, e.g. ~/nbdev for Dev builds,
# ~/nbuser32 for NB 3.2, ~/nbuser33 for NB 3.3, etc.
userdir="${HOME}/ffjuser30"
#
# end of customization
#
PRG=$0
#
# resolve symlinks
#
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null`
if expr "$link" : '^/' 2> /dev/null >/dev/null; then
PRG="$link"
else
PRG="`dirname $PRG`/$link"
fi
done
progdir=`dirname $PRG`
progname=`basename $0`
idehome="$progdir/.."
# absolutize idehome
oldpwd=`pwd` ; cd ${idehome}; idehome=`pwd`; cd $oldpwd; unset oldpwd
thread_flag=""
jargs=${jreflags}
jargs="$jargs -Dnetbeans.home=$idehome"
jargs="$jargs -Djava.security.policy=$idehome/bin/ide.policy"
args=""
prefixcp=""
postfixcp=""
updater_class=org.netbeans.updater.UpdaterFrame
ide_class=org.netbeans.Main
#
# defaults
#
# if JAVA_PATH is set it overrides the default in the script
if [ ! -z "$JAVA_PATH" ] ; then
jdkhome=$JAVA_PATH
fi
# if JDK_HOME is set it overrides the default in the script and ${JAVA_PATH}
if [ ! -z "$JDK_HOME" ] ; then
jdkhome=$JDK_HOME
fi
#
# parse arguments
#
while [ $# -gt 0 ] ; do
case "$1" in
-h|-help) cat <<EOF
Usage: $0 {options} arguments
Options can be
-h -help
shows usage
-jdkhome <path>
specifies the JDK directory
-hotspot
-client
-server
-classic
-native
-green
specifies the type of JVM
-J<jvm_options>
passes <jvm_option> to JVM
-userdir <path>
specifies userdir (\$HOME/nbuser32 by default)
-single
runs the IDE in single user mode
-cp:p <classpath>
prepends <classpath> to IDE's classpath
-cp:a <classpath>
appends <classpath> to IDE's classpath
All other options and arguments are passed to the IDE.
See documentations for details
EOF
exit 1
;;
-jdkhome) shift; if [ $# -gt 0 ] ; then jdkhome=$1; fi;;
-userdir) shift; if [ $# -gt 0 ] ; then userdir=$1; fi;;
-single) userdir="";;
-mainclass) shift; if [ $# -gt 0 ] ; then ide_class=$1; fi;;
-cp|-cp:a)
shift;
if [ $# -gt 0 ] ; then
if [ ! -z "$postfixcp" ] ; then postfixcp="$postfixcp:" ; fi
postfixcp=$postfixcp$1;
fi
;;
-cp:p)
shift;
if [ $# -gt 0 ] ; then
if [ ! -z "$prefixcp" ] ; then prefixcp="$prefixcp:" ; fi
prefixcp=$prefixcp$1;
fi
;;
-hotspot|-client|-server|-classic|-native|-green) thread_flag=$1;;
-J-hotspot|-J-client|-J-server|-J-classic|-J-native|-J-green) thread_flag=`expr $1 : '-J\(.*\)'`;;
-J*) jopt=`expr "$1" : '-J\(.*\)'`; jargs="$jargs \"$jopt\"";;
*) args="$args \"$1\"" ;;
esac
shift
done
#
# check JDK
#
if [ -z "$jdkhome" ] ; then
echo "Cannot find JDK. Please set the JDK_HOME environment variable to point"
echo "to your JDK installation directory, or use the -jdkhome switch"
echo ""
exit 1
fi
if [ ! -x "${jdkhome}/bin/java" ] ; then
echo "Cannot find JDK at ${jdkhome}. Please set the JDK_HOME"
echo "environment variable to point to your JDK installation directory,"
echo "or use the -jdkhome switch"
echo ""
exit 1
fi
#
# check userdir
#
if [ ! -z "$userdir" ] ; then
echo "Using ${userdir} as user directory...";
jargs="$jargs -Dnetbeans.user=$userdir"
fi
#
# increase file descriptor's limit, on Solaris it's set to 64, too small for
# fastjavac
#
ulimit -n 1024
append_jars_to_cp() {
dir="$1"
for ex in jar zip ; do
if [ "`echo ${dir}/*.$ex`" != "${dir}/*.$ex" ] ; then
for x in ${dir}/*.$ex ; do
if [ "$x" != "$idehome/lib/updater.jar" -a "$x" != "$userdir/lib/updater.jar" ] ; then
if [ ! -z "$cp" ] ; then cp="$cp:" ; fi
cp="$cp$x"
fi
done
fi
done
}
build_cp() {
base="$1"
append_jars_to_cp "${base}/lib/patches/locale"
append_jars_to_cp "${base}/lib/patches"
append_jars_to_cp "${base}/lib/ext/locale"
append_jars_to_cp "${base}/lib/ext"
append_jars_to_cp "${base}/lib/locale"
append_jars_to_cp "${base}/lib"
}
#
# dump the OS env variables into a temp file
#
nbenvfile=/tmp/nbenv.$$
if [ -x /usr/bin/env ] ; then
/usr/bin/env > $nbenvfile
else
echo "" > $nbenvfile
fi
#
# main loop
#
while true; do
#
# build CLASSPATH
#
cp=""
updatercp=""
# userdir comes first
if [ ! -z "${userdir}" ] ; then
build_cp ${userdir}
if [ -f "${userdir}/lib/updater.jar" ] ; then
updatercp="${userdir}/lib/updater.jar"
fi
fi
# idehome comes second
build_cp ${idehome}
if [ -f "${idehome}/lib/updater.jar" ] ; then
if [ ! -z "$updatercp" ] ; then updatercp="${updatercp}:" ; fi
updatercp="${updatercp}${idehome}/lib/updater.jar"
fi
# JDK tools
for ex in jar zip ; do
if [ "`echo ${jdkhome}/lib/*.$ex`" != "${jdkhome}/lib/*.$ex" ] ;then
for x in ${jdkhome}/lib/*.$ex ; do
if [ ! -z "$cp" ] ; then cp="$cp:" ; fi
cp="${cp}$x"
done
fi
done
# user-specified prefix and postfix CLASSPATH
if [ ! -z "${prefixcp}" ] ; then
cp="${prefixcp}:$cp"
fi
if [ ! -z "${postfixcp}" ] ; then
cp="$cp:${postfixcp}"
fi
# prepend IDE's classpath to updater's classpath
if [ ! -z "$updatercp" ] ; then
updatercp=${cp}:${updatercp}
else
updatercp=${cp}
fi
#
# let's go
#
eval $jdkhome/bin/java $thread_flag $jargs -classpath "\"$cp\"" \
-Dnetbeans.osenv=${nbenvfile} \
$ide_class $args
# AutoUpdate exit?
rc=$?
if [ $rc -ne 66 ] ; then
rm $nbenvfile
exit $rc
fi
# runs updater
eval $jdkhome/bin/java $thread_flag $jargs -classpath "\"${updatercp}\"" $updater_class
done

View file

@ -0,0 +1,21 @@
%%PREFIX%%/share/java/forte4j

1
java/forte/pkg-comment Normal file
View file

@ -0,0 +1 @@
A Sun's powerful and extensible IDE for Java

6
java/forte/pkg-descr Normal file
View file

@ -0,0 +1,6 @@
Forte[tm] for Java[tm] software is Sun's powerful, extensible, integrated
development environment (IDE) for Java technology developers. It is based on
the NetBeans[tm] Tools Platform, and it is integrated with the Sun Open Net
Environment (Sun ONE).
WWW: http://www.sun.com/forte/ffj/index.html

1774
java/forte/pkg-plist Normal file

File diff suppressed because it is too large Load diff