mid-kid
8 years ago
1 changed files with 164 additions and 0 deletions
@ -0,0 +1,164 @@ |
|||
import 'compile/configure' |
|||
|
|||
name=icedtea |
|||
version=3.3.0 |
|||
version_bootstrap=2.6.9 |
|||
version_gcc=6.3.0 |
|||
version_ecj=4.9 |
|||
version_apache_ant=1.9.9 |
|||
update_url='http://icedtea.wildebeest.org/download/source/' |
|||
|
|||
define_option '!bootstrap: Bootstrap this program' |
|||
|
|||
dlextract "http://icedtea.wildebeest.org/download/source/$name-$version.tar.xz" \ |
|||
'86d61ef5d3abff3938be8bbb9e03e444' |
|||
modules=" |
|||
corba-1bc8c5b63eca3918f1c4c934bf66b233 |
|||
hotspot-e600f285d00ee367b4129450c35f113a |
|||
jaxp-2b3559177fead9ccb56db07191102870 |
|||
jaxws-92612fa7cfecf27357743c932a091b9b |
|||
jdk-2a732b3f46453fb45b1a37b7c1ab3db8 |
|||
langtools-b10431e5823ac859de631e183b1d0b67 |
|||
nashorn-9cc3887801b7ad6c290c4adf4a742130 |
|||
openjdk-2d1c5467d3c7818ee7ec81d37c1bbbd4 |
|||
" |
|||
for module in $modules; do |
|||
modname="$(echo "$module" | cut -d- -f1)" |
|||
checksum="$(echo "$module" | cut -d- -f2)" |
|||
download "http://icedtea.wildebeest.org/download/drops/${name}8/$version/$modname.tar.xz" \ |
|||
"$checksum" \ |
|||
"icedtea-$version-$modname.tar.xz" |
|||
done |
|||
|
|||
if option bootstrap; then |
|||
( name=gcc version="$version_gcc" |
|||
dlextract "https://ftp.gnu.org/gnu/$name/$name-$version/$name-$version.tar.bz2" \ |
|||
'677a7623c7ef6ab99881bc4e048debb6' |
|||
) |
|||
download "ftp://sourceware.org/pub/java/ecj-$version_ecj.jar" \ |
|||
'7339f199ba11c941890031fd9981d7be' |
|||
dlfile 'https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-java/gcj-jdk/files/javac.in?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d' \ |
|||
'5fb8379653ba60746feb7090ac52bd28' |
|||
|
|||
( name=apache-ant version="$version_apache_ant" |
|||
dlextract "https://www.apache.org/dist/ant/source/$name-$version-src.tar.bz2" \ |
|||
'c988158e101e7700b45c14b9804fd554' |
|||
) |
|||
|
|||
dlextract "http://icedtea.wildebeest.org/download/source/$name-$version_bootstrap.tar.xz" \ |
|||
'0267dc50fbc31ac530eff2866b3aa30c' |
|||
bootstrap_modules=" |
|||
corba-7b2603c35e5f2c1061b4e78d1f2978f5 |
|||
hotspot-85adb8ae4427318d5e6af7e0bdde2e5c |
|||
jaxp-52517bbbf2437db32f5d004076cefb44 |
|||
jaxws-e32f0dd84f5ec5563da6d5e90a11a4a4 |
|||
jdk-e122ed50519da1845fa11e0f90bc7964 |
|||
langtools-748f8d95386b186a50a59233ba5a4680 |
|||
openjdk-9433581dd17497640a91e4a057b4191b |
|||
" |
|||
for module in $bootstrap_modules; do |
|||
modname="$(echo "$module" | cut -d- -f1)" |
|||
checksum="$(echo "$module" | cut -d- -f2)" |
|||
download "http://icedtea.wildebeest.org/download/drops/${name}7/$version_bootstrap/$modname.tar.bz2" \ |
|||
"$checksum" \ |
|||
"icedtea-$version_bootstrap-$modname.tar.bz2" |
|||
done |
|||
fi |
|||
header_end |
|||
|
|||
# From: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/multiprocessing.eclass |
|||
jobs=$(echo " $MAKEFLAGS " | sed -r -n \ |
|||
-e 's:.*[[:space:]](-j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p' \ |
|||
-e 's:.*[[:space:]](-j|--jobs)[[:space:]].*:999:p') |
|||
jobs=${jobs:-1} |
|||
|
|||
if option bootstrap; then |
|||
# Build GCJ |
|||
( cd "gcc-$version_gcc" |
|||
getfile "ecj-$version_ecj.jar" |
|||
mv "ecj-$version_ecj.jar" ecj.jar |
|||
|
|||
sed -i -e 's/\.\/fixinc\.sh/-c true/' gcc/Makefile.in |
|||
mkdir build; cd build |
|||
../configure --prefix="$PWD/../install" --disable-bootstrap --enable-languages=java --enable-java-home --with-java-home="$PWD/../install/lib/jvm/jre" |
|||
make |
|||
make install |
|||
) |
|||
|
|||
# Install missing javac |
|||
sed -e "s#@JAVA@#$PWD/gcc-$version_gcc/install/lib/jvm/bin/java#" \ |
|||
-e "s#@ECJ_JAR@#$PWD/gcc-$version_gcc/install/share/java/ecj.jar#" \ |
|||
-e "s#@RT_JAR@#$PWD/gcc-$version_gcc/install/lib/jvm/jre/lib/rt.jar#" \ |
|||
-e "s#@TOOLS_JAR@#$PWD/gcc-$version_gcc/install/lib/jvm/lib/tools.jar#" \ |
|||
javac.in > javac |
|||
install -Dm755 -t "gcc-$version_gcc/install/lib/jvm/bin" javac |
|||
|
|||
# Set JAVA_HOME to GCJ |
|||
export JAVA_HOME="$PWD/gcc-$version_gcc/install/lib/jvm" |
|||
|
|||
# Bootstrap Ant |
|||
( cd "apache-ant-$version_apache_ant" |
|||
./build.sh |
|||
) |
|||
|
|||
# Add bootstrapped version of Ant to $PATH, for use in the subsequent builds of Icedtea |
|||
export PATH="$PWD/apache-ant-$version_apache_ant/dist/bin:$PATH" |
|||
|
|||
# Bootstrap Icedtea7 |
|||
( cd "$name-$version_bootstrap" |
|||
for module in $bootstrap_modules; do |
|||
modname="$(echo "$module" | cut -d- -f1)" |
|||
getfile "icedtea-$version_bootstrap-$modname.tar.bz2" |
|||
mv "icedtea-$version_bootstrap-$modname.tar.bz2" "$modname.tar.bz2" |
|||
done |
|||
|
|||
./configure \ |
|||
--with-jdk-home="$JAVA_HOME" \ |
|||
--with-parallel-jobs=$jobs \ |
|||
--disable-downloading \ |
|||
--without-rhino \ |
|||
--disable-system-kerberos \ |
|||
--disable-system-pcsc \ |
|||
--disable-system-sctp |
|||
make |
|||
) |
|||
|
|||
# Set JAVA_HOME to Icedtea7 |
|||
export JAVA_HOME="$PWD/$name-$version_bootstrap/openjdk.build/j2sdk-image" |
|||
fi |
|||
|
|||
cd "$name-$version" |
|||
|
|||
for module in $modules; do |
|||
modname="$(echo "$module" | cut -d- -f1)" |
|||
getfile "icedtea-$version-$modname.tar.xz" |
|||
mv "icedtea-$version-$modname.tar.xz" "$modname.tar.xz" |
|||
done |
|||
|
|||
# Build |
|||
./configure \ |
|||
--with-jdk-home="$JAVA_HOME" \ |
|||
--with-parallel-jobs=$jobs \ |
|||
--disable-downloading \ |
|||
--disable-ccache \ |
|||
--disable-system-kerberos \ |
|||
--disable-system-pcsc \ |
|||
--disable-system-sctp |
|||
make |
|||
|
|||
# Install |
|||
mkdir -p "$dir_install/$dir_prefix/$dir_libdir/jvm/${name}8" |
|||
cp -Ta openjdk.build/images/j2sdk-image "$dir_install/$dir_prefix/$dir_libdir/jvm/${name}8" |
|||
|
|||
# Link default jvm |
|||
ln -s "${name}8" "$dir_install/$dir_prefix/$dir_libdir/jvm/default" |
|||
|
|||
# Add profile script |
|||
cat > java.sh << EOF |
|||
export JAVA_HOME="/$dir_prefix/$dir_libdir/jvm/default" |
|||
export PATH="\$PATH:\$JAVA_HOME/bin" |
|||
export MANPATH="\$MANPATH:\$JAVA_HOME/man" |
|||
EOF |
|||
install -Dm755 -t "$dir_install/$dir_prefix/$dir_sysconfdir/profile.d" java.sh |
|||
|
|||
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab: |
Loading…
Reference in new issue