mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
220 lines
6.9 KiB
Plaintext
220 lines
6.9 KiB
Plaintext
SUMMARY="Open-source implementation of the Java Platform, SE"
|
|
DESCRIPTION="
|
|
Open-source implementation of the Java Platform, Standard Edition.
|
|
"
|
|
HOMEPAGE="http://openjdk.java.net/"
|
|
COPYRIGHT="2005, 2006, Oracle and/or its affiliates"
|
|
LICENSE="GNU GPL v2"
|
|
|
|
#SRC_URI="http://dl.dropbox.com/u/61946213/j2sdk-august.tar.xz"
|
|
#CHECKSUM_MD5="65b348918f92eb357ed7b455dadcded8"
|
|
# The August j2sdk image is apparently incomplete.
|
|
SRC_URI="http://ports-space.haiku-files.org/source/openjdk/j2sdk-april-2013.tar"
|
|
CHECKSUM_SHA256="fca2603875d5c0b77b95a6f01f3d0fd368d32754801d5180d262404f8e2a31c6"
|
|
SOURCE_DIR="j2sdk-image"
|
|
|
|
SRC_URI_2="http://archive.apache.org/dist/ant/source/apache-ant-1.8.4-src.tar.gz"
|
|
CHECKSUM_SHA256_2="df6f0aaede2549dc4347b972efc8036c01a737caac545b8ba43a21687bc521e7"
|
|
SOURCE_DIR_2="apache-ant-1.8.4"
|
|
|
|
SRC_URI_3="hg+http://hg.openjdk.java.net/haiku/haiku#ee67ee3bd597"
|
|
|
|
SRC_URI_4="hg+http://hg.openjdk.java.net/haiku/haiku/corba#84b78407a004"
|
|
PATCHES_4="openjdk-1.7_2013_11_08-source4.patchset"
|
|
|
|
SRC_URI_5="hg+http://hg.openjdk.java.net/haiku/haiku/hotspot#03a6a75222a8"
|
|
PATCHES_5="openjdk-1.7_2013_11_08-source5.patchset"
|
|
|
|
SRC_URI_6="hg+http://hg.openjdk.java.net/haiku/haiku/jaxp#6c9ac74190a0"
|
|
SRC_URI_7="hg+http://hg.openjdk.java.net/haiku/haiku/jaxws#84f654f41f6b"
|
|
|
|
SRC_URI_8="hg+http://hg.openjdk.java.net/haiku/haiku/jdk#df0cce7b0238"
|
|
PATCHES_8="openjdk-1.7_2013_11_08-source8.patchset"
|
|
|
|
SRC_URI_9="hg+http://hg.openjdk.java.net/haiku/haiku/langtools#0dabb2f5fad0"
|
|
|
|
SRC_URI_10="http://ports-space.haiku-files.org/source/openjdk/jaxp145_01.zip#noarchive"
|
|
CHECKSUM_SHA256_10="c5924c6188988e2e8397ee5143bd8eaa062569d052567afd2ac9326a54a848cb"
|
|
|
|
SRC_URI_11="http://ports-space.haiku-files.org/source/openjdk/jdk7-jaf-2010_08_19.zip#noarchive"
|
|
CHECKSUM_SHA256_11="e6aefedfdbb4673e8019583d1344fb162b94e1b10382c362364dbbfd5889c09e"
|
|
|
|
SRC_URI_12="http://ports-space.haiku-files.org/source/openjdk/jdk7-jaxws2_2_4-b03-2011_05_27.zip#noarchive"
|
|
CHECKSUM_SHA256_12="05ae7259b75d0f2307276d61ece1887fcd437cb4ecda42fab8c22d4b537effd6"
|
|
|
|
REVISION="2"
|
|
ARCHITECTURES="x86"
|
|
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
|
|
# x86_gcc2 is fine as primary target architecture as long as we're building
|
|
# for a different secondary architecture.
|
|
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
|
|
fi
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
DISABLE_SOURCE_PACKAGE=yes
|
|
# at least as long as Ant and a complete SDK image are part of the sources
|
|
|
|
PROVIDES="
|
|
openjdk = $portVersion compat >= 1
|
|
cmd:apt = $portVersion compat >= 1
|
|
cmd:extcheck = $portVersion compat >= 1
|
|
cmd:idlj = $portVersion compat >= 1
|
|
cmd:jar = $portVersion compat >= 1
|
|
cmd:jarsigner = $portVersion compat >= 1
|
|
cmd:java = $portVersion compat >= 1
|
|
cmd:java_config = $portVersion compat >= 1
|
|
cmd:javac = $portVersion compat >= 1
|
|
cmd:javadoc = $portVersion compat >= 1
|
|
cmd:javah = $portVersion compat >= 1
|
|
cmd:javap = $portVersion compat >= 1
|
|
cmd:jconsole = $portVersion compat >= 1
|
|
cmd:jdb = $portVersion compat >= 1
|
|
cmd:jhat = $portVersion compat >= 1
|
|
cmd:jinfo = $portVersion compat >= 1
|
|
cmd:jmap = $portVersion compat >= 1
|
|
cmd:jps = $portVersion compat >= 1
|
|
cmd:jrunscript = $portVersion compat >= 1
|
|
cmd:jsadebugd = $portVersion compat >= 1
|
|
cmd:jstack = $portVersion compat >= 1
|
|
cmd:jstat = $portVersion compat >= 1
|
|
cmd:jstatd = $portVersion compat >= 1
|
|
cmd:keytool = $portVersion compat >= 1
|
|
cmd:native2ascii = $portVersion compat >= 1
|
|
cmd:orbd = $portVersion compat >= 1
|
|
cmd:pack200 = $portVersion compat >= 1
|
|
cmd:rmic = $portVersion compat >= 1
|
|
cmd:rmid = $portVersion compat >= 1
|
|
cmd:rmiregistry = $portVersion compat >= 1
|
|
cmd:schemagen = $portVersion compat >= 1
|
|
cmd:serialver = $portVersion compat >= 1
|
|
cmd:servertool = $portVersion compat >= 1
|
|
cmd:tnameserv = $portVersion compat >= 1
|
|
cmd:unpack200 = $portVersion compat >= 1
|
|
cmd:wsgen = $portVersion compat >= 1
|
|
cmd:wsimport = $portVersion compat >= 1
|
|
cmd:xjc = $portVersion compat >= 1
|
|
"
|
|
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffx >= $haikuVersion
|
|
lib:libfreetype$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
|
devel:libfreetype$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_PREREQUIRES="
|
|
cmd:cpio >= 2.10
|
|
cmd:make
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:sed
|
|
cmd:tar
|
|
cmd:zip
|
|
"
|
|
|
|
PATCH()
|
|
{
|
|
# patch Ant
|
|
cd $sourceDir2
|
|
sed -i 's/depends=\"jars,test-jar\"/depends=\"jars\"/' build.xml
|
|
|
|
# small patch allowing to finish build without errors
|
|
# this modification already exists in another dev branch
|
|
# if someone fix it in current branch, using sed rather than patch should
|
|
# not brake the whole build
|
|
cd $sourceDir3
|
|
sed -i s/'$(PRINTF) "--'/'$(PRINTF) -- "--'/ make/Defs-internal.gmk
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
OPENJDK_DIR=$(dirname $sourceDir)
|
|
|
|
# build Apache Ant
|
|
export LIBRARY_PATH=${OPENJDK_DIR}/j2sdk-image/jre/lib/i386/:$LIBRARY_PATH
|
|
export JAVA_HOME=${OPENJDK_DIR}/j2sdk-image
|
|
export ANT_HOME=${OPENJDK_DIR}/ant
|
|
cd $sourceDir2
|
|
sh build.sh install-lite
|
|
unset JAVA_HOME
|
|
|
|
# prepare the directory structure
|
|
cd $OPENJDK_DIR
|
|
ln -sfn $sourceDir3 jdk
|
|
ln -sfn $sourceDir4 jdk/corba
|
|
ln -sfn $sourceDir5 jdk/hotspot
|
|
ln -sfn $sourceDir6 jdk/jaxp
|
|
ln -sfn $sourceDir7 jdk/jaxws
|
|
ln -sfn $sourceDir8 jdk/jdk
|
|
ln -sfn $sourceDir9 jdk/langtools
|
|
|
|
export ALT_DROPS_DIR=${OPENJDK_DIR}/drop
|
|
mkdir -p ${ALT_DROPS_DIR}
|
|
|
|
cp $sourceDir10/jaxp145_01.zip $ALT_DROPS_DIR
|
|
cp $sourceDir11/jdk7-jaf-2010_08_19.zip $ALT_DROPS_DIR
|
|
cp $sourceDir12/jdk7-jaxws2_2_4-b03-2011_05_27.zip $ALT_DROPS_DIR
|
|
|
|
# set up environment
|
|
export ALT_BOOTDIR=${OPENJDK_DIR}/j2sdk-image
|
|
export ALT_JDK_IMPORT_PATH=$ALT_BOOTDIR
|
|
export ANT=${OPENJDK_DIR}/ant
|
|
export ALT_OUTPUTDIR=${OPENJDK_DIR}/output
|
|
export LANG=C
|
|
export PATH=$PATH:$ANT_HOME/bin
|
|
|
|
# use PATH to search commands rather than explicitly set path for each
|
|
# commands so that grep, egrep & readelf are automatically found
|
|
# see Defs-haiku.gmk
|
|
export ALT_UNIXCOMMAND_PATH=
|
|
|
|
mkdir -p ${ALT_OUTPUTDIR}
|
|
|
|
export ALLOW_DOWNLOADS=false
|
|
|
|
export USE_EXTERNAL_ZLIB=true
|
|
|
|
# Build.
|
|
cd jdk
|
|
make
|
|
|
|
# The build system is broken in that it doesn't pick up all auto-generated
|
|
# java sources (it uses "find ... -name '*.java'" too early). Unfortunately
|
|
# that isn't easy to fix, so we just run a second make, which will pick up
|
|
# the then already existing files.
|
|
make
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
# install the generated SDK image dir
|
|
cd ..
|
|
jdkDir=$libDir/openjdk
|
|
mkdir -p $(dirname $jdkDir)
|
|
cp -a output/j2sdk-image $jdkDir
|
|
|
|
# symlink the executables to binDir
|
|
mkdir -p $binDir
|
|
symlinkRelative -s $jdkDir/bin/* $binDir
|
|
# TODO: We should probably link only a subset.
|
|
|
|
# create a java-config script in binDir
|
|
javaConfig=$binDir/java-config
|
|
sed -e "s,%JAVA_HOME%,$jdkDir," $portDir/sources/java-config.in \
|
|
> $javaConfig
|
|
chmod a+x $javaConfig
|
|
|
|
# create a profile.d file that sets up JAVA_HOME
|
|
jdkProfile=$dataDir/profile.d/openjdk.sh
|
|
mkdir -p $(dirname $jdkProfile)
|
|
echo 'JAVA_HOME=`java-config -H`' > $jdkProfile
|
|
echo "export JAVA_HOME" >> $jdkProfile
|
|
}
|