forked from Lainports/freebsd-ports
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:
parent
5c57381879
commit
a435deed36
8 changed files with 2177 additions and 0 deletions
|
|
@ -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
62
java/forte/Makefile
Normal 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
1
java/forte/distinfo
Normal file
|
|
@ -0,0 +1 @@
|
|||
MD5 (forte_ce_3.class) = 2778420443cc8d49ed45a875eac6a0cd
|
||||
311
java/forte/files/forte.sh
Normal file
311
java/forte/files/forte.sh
Normal 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
|
||||
|
||||
|
||||
21
java/forte/files/instscript
Normal file
21
java/forte/files/instscript
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%%PREFIX%%/share/java/forte4j
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1
java/forte/pkg-comment
Normal file
1
java/forte/pkg-comment
Normal file
|
|
@ -0,0 +1 @@
|
|||
A Sun's powerful and extensible IDE for Java
|
||||
6
java/forte/pkg-descr
Normal file
6
java/forte/pkg-descr
Normal 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
1774
java/forte/pkg-plist
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue