# Description: OpenJDK 17 Java Development Kit # URL: https://openjdk.java.net/ # Maintainer: Tim Biermann, tbier at posteo dot de # Depends on: alsa-lib cups giflib harfbuzz lcms2 libxslt nss unzip xorg-libxrandr xorg-libxt xorg-libxtst zip name=openjdk17-jdk version=17.0.14+6 _boot_ver=16.0.2+7 _boot_date=20241103 _cert_ver=20210916 release=1 source=(https://github.com/openjdk/jdk17u/archive/jdk-$version/jdk-$version.tar.gz https://git.crux.nu/tb/java-distfiles/src/branch/master/distfiles/openjdk${_boot_ver::2}-boot-${_boot_ver}-${_boot_date}.tar.xz https://git.crux.nu/tb/java-distfiles/raw/branch/master/distfiles/java_cacerts-${_cert_ver} system-public-suffix.patch ) build() { if command -v ccache >/dev/null 2>&1; then export PATH=$(echo $PATH | tr ':' '\n' | grep -E '/(s?bin)$' | tr '\n' ':') PKGMK_JDK17+=' --enable-ccache' fi patch -p1 -d $SRC/jdk${version::2}u-jdk-${version/+/-} -i $SRC/system-public-suffix.patch OLD_PATH=$PATH export JAVA_HOME=$SRC/openjdk${_boot_ver::2}-boot export PATH=$JAVA_HOME/bin:$OLD_PATH export EXTRA_CPP_FLAGS="$CXXFLAGS -fcommon" export EXTRA_CFLAGS="$CFLAGS -fcommon" unset CFLAGS unset CXXFLAGS unset LDFLAGS unset MAKEFLAGS [ -z $JOBS ] && JOBS=$(nproc) mkdir $SRC/build cd $SRC/build LC_ALL=C /bin/bash ../jdk17u-jdk-${version/+/-}/configure $PKGMK_JDK17 \ --prefix=/usr/lib/java/$name \ --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-libjpeg=system \ --with-giflib=system \ --with-libpng=system \ --with-zlib=system \ --with-lcms=system \ --with-freetype=system \ --with-harfbuzz=system \ --with-extra-cflags="$EXTRA_CFLAGS" \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" # 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/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 }