java-scratchspace/openjdk9-boot/Pkgfile

120 lines
3.8 KiB
Plaintext

# Description: OpenJDK 9 (minimal pkg for bootstrapping)
# URL: https://openjdk.java.net/
# Maintainer:
# Depends on: alsa-lib cups freetype giflib krb5 lcms2 libffi libjpeg-turbo libpng nss unzip xorg-libxrender xorg-libxt xorg-libxtst zip
# OLD Depends: alsa-lib cups fontconfig freetype giflib gtk3 harfbuzz-icu krb5 lcms2 libffi libjpeg-turbo libpng libxslt nss unzip xorg-libxt xorg-libxtst xorg-libxinerama zip
name=openjdk9-boot
version=9.0.4+12
_boot_ver=20210207
_cert_ver=20200215
_jdkhash=1b1226687b89
release=1
source=(https://crux.ster.zone/downloads/java/openjdk-$version.tar.bz2
https://crux.ster.zone/downloads/java/corba-$version.tar.bz2
https://crux.ster.zone/downloads/java/hotspot-$version.tar.bz2
https://crux.ster.zone/downloads/java/jaxp-$version.tar.bz2
https://crux.ster.zone/downloads/java/jaxws-$version.tar.bz2
https://crux.ster.zone/downloads/java/jdk-$version.tar.bz2
https://crux.ster.zone/downloads/java/langtools-$version.tar.bz2
https://crux.ster.zone/downloads/java/nashorn-$version.tar.bz2
https://crux.ster.zone/downloads/java/openjdk8-boot-$_boot_ver.tar.xz
https://crux.ster.zone/downloads/java/java_cacerts-$_cert_ver
# https://raw.githubusercontent.com/void-linux/void-packages/master/srcpkgs/openjdk9-bootstrap/patches/fix-compiler-version-10%2B.patch
fix-compiler-version-10+.patch
make-4.3_breaks_build.patch)
build() {
for d in corba hotspot jaxp jaxws jdk langtools nashorn; do
mv $d-* jdk9u-$_jdkhash/$d
done
patch -p1 -d $SRC/jdk9u-$_jdkhash -i $SRC/make-4.3_breaks_build.patch
patch -p1 -d $SRC/jdk9u-$_jdkhash -i $SRC/fix-compiler-version-10+.patch
cp -r jdk9u-$_jdkhash jdk9u-build-boot
if [ -e '/usr/bin/ccache' ]; then
PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
PKGMK_JDK9+=' --enable-ccache'
fi
OLD_PATH=$PATH
export JAVA_HOME=$SRC/openjdk8-boot
export PATH=$JAVA_HOME/bin:$OLD_PATH
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
[ -z $JOBS ] && JOBS=$(nproc)
export _CFLAGS+=' -fcommon'
export _CXXFLAGS+=' -fcommon'
local _COMMON_OPTIONS="
--disable-hotspot-gtest
--disable-precompiled-headers
--disable-warnings-as-errors
--enable-dtrace=no
--enable-headless-only
--enable-unlimited-crypto
--with-native-debug-symbols=none
--with-debug-level=release
--with-stdc++lib=dynamic
--with-jvm-variants=server
--with-giflib=system
--with-lcms=system
--with-libjpeg=system
--with-libpng=system
--with-zlib=system
--with-cacerts-file=$SRC/java_cacerts-$_cert_ver
--with-jtreg=no
--with-version-opt="CRUX-r$release"
--with-version-build="${version#*+}"
--with-jobs=$JOBS"
cd $SRC/jdk9u-build-boot
LC_ALL=C
/bin/bash configure $PKGMK_JDK9 \
--prefix=$SRC/jdk9u-build-boot/build/images/jdk \
$_COMMON_OPTIONS \
--with-extra-cflags="$_CFLAGS" \
--with-extra-cxxflags="$_CXXFLAGS" \
--with-boot-jdk=$JAVA_HOME
# NOTE: for debugging build issues: set LOG to debug, JOBS to 1.
LC_ALL=C \
make LOG=warn JOBS=$JOBS jdk-image
export JAVA_HOME=$SRC/jdk9u-build-boot/build/linux-$(uname -m)-normal-server-release/jdk
export PATH=$JAVA_HOME/bin:$OLD_PATH
mkdir $SRC/jdk9-final
cd $SRC/jdk9-final
LC_ALL=C
/bin/bash ../jdk9u-$_jdkhash/configure $PKGMK_JDK9 \
--prefix=/$name \
$_COMMON_OPTIONS \
--with-extra-cflags="$_CFLAGS" \
--with-extra-cxxflags="$_CXXFLAGS" \
--with-boot-jdk=$JAVA_HOME
# NOTE: for debugging build issues: set LOG to debug, JOBS to 1.
LC_ALL=C \
make LOG=warn JOBS=$JOBS jdk-image
# i don't see those files anymore? also the dir changed
rm -r images/jdk/demo
rm -r images/jdk/jmods
rm -r images/jdk/lib/src.zip
rm -r images/jdk/lib/*.ja
rm -r images/jdk/man/ja
rm -r images/jdk/man/ja_JP*
rm -r images/jdk/legal
cp -r images/jdk $PKG/$name
}