contrib/openjdk11-jdk/Pkgfile

99 lines
3.2 KiB
Plaintext

# Description: OpenJDK 11 Java Development Kit
# URL: https://openjdk.java.net/
# Maintainer: Tim Biermann, tbier at posteo dot de
# Co-Maintainer: Danny Rawlins, crux at romster dot me
# Depends on: alsa-lib cups giflib harfbuzz lcms2 libxslt nss unzip xorg-libxrandr xorg-libxt xorg-libxtst zip
name=openjdk11-jdk
version=11.0.15+10
_boot_ver=20210620
_cert_ver=20210916
release=1
source=(#http://hg.openjdk.java.net/jdk-updates/jdk11u/archive/jdk-$version.tar.bz2
https://github.com/openjdk/jdk11u/archive/refs/tags/jdk-$version.tar.gz
https://crux.ster.zone/downloads/java/openjdk11-boot-$_boot_ver.tar.xz
https://crux.ster.zone/downloads/java/java_cacerts-${_cert_ver})
build() {
if [ -e '/usr/bin/ccache' ]; then
PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
PKGMK_JDK11+=' --enable-ccache'
fi
OLD_PATH=$PATH
export JAVA_HOME=$SRC/openjdk11-boot
export PATH=$JAVA_HOME/bin:$OLD_PATH
export MAKEFLAGS=${MAKEFLAGS/-j${MAKEFLAG_J}/}
# Avoid optimization of HotSpot being lowered from O3 to O2
local _CFLAGS+=" ${CFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
local _CXXFLAGS+=" ${CXXFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
local _LDFLAGS="${LDFLAGS}"
[ -z $JOBS ] && JOBS=$(nproc)
# CFLAGS, CXXFLAGS and LDFLAGS are ignored as shown by a warning
# in the output of ./configure unless used like such:
# --with-extra-cflags="${CFLAGS}"
# --with-extra-cxxflags="${CXXFLAGS}"
# --with-extra-ldflags="${LDFLAGS}"
# See also paragraph "Configure Control Variables" from common/doc/building.md
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
mkdir $SRC/build
cd $SRC/build
LC_ALL=C
/bin/bash ../jdk11u-jdk-${version/+/-}/configure $PKGMK_JDK11 \
--prefix=/usr/lib/java/$name \
--disable-hotspot-gtest \
--disable-precompiled-headers \
--disable-warnings-as-errors \
--enable-dtrace=no \
--enable-unlimited-crypto \
--with-native-debug-symbols=internal \
--with-debug-level=release \
--with-stdc++lib=dynamic \
--with-jvm-variants=server \
--with-cacerts-file=$SRC/java_cacerts-$_cert_ver \
--with-jtreg=no \
--with-boot-jdk=$JAVA_HOME \
--with-version-opt="CRUX-r$release" \
--with-version-build="${version#*+}" \
--with-vendor-name="CRUX" \
--with-jobs=$JOBS \
--with-num-cores=$JOBS \
--with-libjpeg=system \
--with-giflib=system \
--with-libpng=system \
--with-zlib=system \
--with-lcms=system \
--with-harfbuzz=system \
--with-jvm-features=zgc \
--with-extra-cflags="${_CFLAGS}" \
--with-extra-cxxflags="${_CXXFLAGS}" \
--with-extra-ldflags="${_LDFLAGS}"
# NOTE: for debugging build issues: set LOG to debug, JOBS to 1.
LC_ALL=C \
make LOG=warn JOBS=$JOBS jdk-image
rm -r images/jdk/demo
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
rm images/jdk/conf/security/policy/README.txt
install -d -m 0755 $PKG/usr/lib/java/$name
cp -r images/jdk/* $PKG/usr/lib/java/$name/
install -d -m 0755 $PKG/etc/revdep.d
echo "/usr/lib/java/$name/lib" > $PKG/etc/revdep.d/$name
echo "/usr/lib/java/$name/lib/jli" >> $PKG/etc/revdep.d/$name
echo "/usr/lib/java/$name/lib/server" >> $PKG/etc/revdep.d/$name
}