# 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 }