# Template file for 'openjdk11' pkgname=openjdk11 _java_ver=11 _java_min_ver=0 _java_sec_ver=12 _jdk_update=5 _openjdk_version="openjdk-${_java_ver}" version="${_java_ver}.${_java_min_ver}.${_java_sec_ver}+${_jdk_update}" revision=1 wrksrc="jdk${_java_ver}u-jdk-${version}" build_style=gnu-configure configure_args=" --disable-warnings-as-errors --prefix=${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-${version}/usr/lib --enable-unlimited-crypto --with-zlib=system --with-libjpeg=system --with-giflib=system --with-libpng=system --with-lcms=system --with-jtreg=no --with-native-debug-symbols=none --with-version-pre= --with-version-opt="void-r$revision" --with-version-build=${_jdk_update} --with-vendor-name="Void" --with-vendor-url="https://voidlinux.org/" --with-vendor-bug-url="https://github.com/void-linux/void-packages/issues" --with-vendor-vm-bug-url="https://github.com/void-linux/void-packages/issues"" make_build_args="images $(vopt_if docs docs)" make_check_target="test-hotspot-gtest" hostmakedepends="pkg-config automake autoconf cpio tar unzip zip ca-certificates openssl zlib-devel which make-ca" makedepends="libXrender-devel libXtst-devel libXt-devel libXrandr-devel giflib-devel libjpeg-turbo-devel cups-devel freetype-devel alsa-lib-devel fontconfig-devel zlib-devel lcms2-devel" depends="fontconfig" provides="java-environment-${version}_1 java-runtime-${version}_1" short_desc="OpenJDK Java Development Kit" maintainer="Kyle Nusbaum " license="GPL-2.0-or-later" homepage="http://openjdk.java.net/" distfiles="https://hg.openjdk.java.net/jdk-updates/jdk${_java_ver}u/archive/jdk-${version}.tar.gz" checksum=ff0edaf800c76ae435840365a9205a5f7277a5a2fd3c79ad874522a15c213559 shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so" # Build is still parallel, but don't use -jN. disable_parallel_build=yes build_options="docs" # no hotspot JIT for ppc32 case "$XBPS_TARGET_MACHINE" in ppc64*) ;; ppc*) _use_zero=yes ;; esac if [ -n "$_use_zero" ]; then makedepends+=" libffi-devel" configure_args+=" --with-jvm-variants=zero" case "$XBPS_TARGET_MACHINE" in ppc*) configure_args+=" --with-boot-jdk-jvmargs=-XX:ThreadStackSize=2560";; esac fi case "$XBPS_TARGET_LIBC" in glibc) build_options_default+=" docs";; esac if [ ! "$CROSS_BUILD" ]; then hostmakedepends+=" openjdk10-bootstrap" configure_args+=" --with-boot-jdk=/usr/lib/jvm/java-10-openjdk" else hostmakedepends+=" openjdk11" configure_args+=" --with-boot-jdk=/usr/lib/jvm/openjdk11" fi alternatives=" java:/usr/bin/java:/usr/lib/jvm/openjdk11/bin/java java:/usr/bin/jjs:/usr/lib/jvm/openjdk11/bin/jjs java:/usr/bin/keytool:/usr/lib/jvm/openjdk11/bin/keytool java:/usr/bin/pack200:/usr/lib/jvm/openjdk11/bin/pack200 java:/usr/bin/rmid:/usr/lib/jvm/openjdk11/bin/rmid java:/usr/bin/rmiregistry:/usr/lib/jvm/openjdk11/bin/rmiregistry java:/usr/bin/unpack200:/usr/lib/jvm/openjdk11/bin/unpack200 jdk:/usr/bin/jaotc:/usr/lib/jvm/openjdk11/bin/jaotc jdk:/usr/bin/jar:/usr/lib/jvm/openjdk11/bin/jar jdk:/usr/bin/jarsigner:/usr/lib/jvm/openjdk11/bin/jarsigner jdk:/usr/bin/java:/usr/lib/jvm/openjdk11/bin/java jdk:/usr/bin/javac:/usr/lib/jvm/openjdk11/bin/javac jdk:/usr/bin/javadoc:/usr/lib/jvm/openjdk11/bin/javadoc jdk:/usr/bin/javap:/usr/lib/jvm/openjdk11/bin/javap jdk:/usr/bin/jcmd:/usr/lib/jvm/openjdk11/bin/jcmd jdk:/usr/bin/jconsole:/usr/lib/jvm/openjdk11/bin/jconsole jdk:/usr/bin/jdb:/usr/lib/jvm/openjdk11/bin/jdb jdk:/usr/bin/jdeprscan:/usr/lib/jvm/openjdk11/bin/jdeprscan jdk:/usr/bin/jdeps:/usr/lib/jvm/openjdk11/bin/jdeps jdk:/usr/bin/jhsdb:/usr/lib/jvm/openjdk11/bin/jhsdb jdk:/usr/bin/jimage:/usr/lib/jvm/openjdk11/bin/jimage jdk:/usr/bin/jinfo:/usr/lib/jvm/openjdk11/bin/jinfo jdk:/usr/bin/jjs:/usr/lib/jvm/openjdk11/bin/jjs jdk:/usr/bin/jlink:/usr/lib/jvm/openjdk11/bin/jlink jdk:/usr/bin/jmap:/usr/lib/jvm/openjdk11/bin/jmap jdk:/usr/bin/jmod:/usr/lib/jvm/openjdk11/bin/jmod jdk:/usr/bin/jps:/usr/lib/jvm/openjdk11/bin/jps jdk:/usr/bin/jrunscript:/usr/lib/jvm/openjdk11/bin/jrunscript jdk:/usr/bin/jshell:/usr/lib/jvm/openjdk11/bin/jshell jdk:/usr/bin/jstack:/usr/lib/jvm/openjdk11/bin/jstack jdk:/usr/bin/jstat:/usr/lib/jvm/openjdk11/bin/jstat jdk:/usr/bin/jstatd:/usr/lib/jvm/openjdk11/bin/jstatd jdk:/usr/bin/keytool:/usr/lib/jvm/openjdk11/bin/keytool jdk:/usr/bin/pack200:/usr/lib/jvm/openjdk11/bin/pack200 jdk:/usr/bin/rmic:/usr/lib/jvm/openjdk11/bin/rmic jdk:/usr/bin/rmid:/usr/lib/jvm/openjdk11/bin/rmid jdk:/usr/bin/rmiregistry:/usr/lib/jvm/openjdk11/bin/rmiregistry jdk:/usr/bin/serialver:/usr/lib/jvm/openjdk11/bin/serialver jdk:/usr/bin/unpack200:/usr/lib/jvm/openjdk11/bin/unpack200 " post_extract() { chmod +x configure if [ "$XBPS_TARGET_LIBC" = "musl" ]; then rm -r src/jdk.hotspot.agent fi } post_patch() { if [ "$XBPS_TARGET_LIBC" = "musl" ]; then for f in "${FILESDIR}"/musl_patches/*.patch; do echo "Applying $f" patch -Np1 -i "$f" done fi } do_configure() { CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} CXXFLAGS=${CXXFLAGS/-D_FORTIFY_SOURCE=2/} # force ELFv2 for ppc64 just in case case "$XBPS_TARGET_MACHINE" in ppc64*) CFLAGS+=" -DABI_ELFv2" CXXFLAGS+=" -DABI_ELFv2" ;; esac configure_args=${configure_args/--with-libtool-sysroot=$XBPS_CROSS_BASE} if [ "$XBPS_CCACHE" ] && [ -z "$CROSS_BUILD" ]; then configure_args+=" --enable-ccache" CC="/usr/bin/cc" CXX="/usr/bin/c++" fi ./configure ${configure_args} --with-extra-cflags="$CFLAGS" --with-extra-cxxflags="$CXXFLAGS" --with-extra-ldflags="$LDFLAGS" } do_install() { vmkdir usr/lib/jvm/openjdk${_java_ver} vcopy build/*-normal-*-release/images/jdk/* "usr/lib/jvm/openjdk${_java_ver}" vmkdir usr/lib/jvm/$_openjdk_version/lib/security make-ca -g -f --destdir "${PWD}/ca" -k "${DESTDIR}/usr/lib/jvm/openjdk${_java_ver}/bin/keytool" mv ./ca/etc/pki/tls/java/cacerts ${DESTDIR}/usr/lib/jvm/openjdk${_java_ver}/lib/security/ chmod -R ugo+rw ./ca rm -Rf ./ca vmkdir etc/profile.d cat >>${DESTDIR}/etc/profile.d/10_openjdk11.sh <