-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8aa70a6
commit 72d2fff
Showing
7 changed files
with
200 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
openjdk21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
openjdk21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
openjdk21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
openjdk21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
openjdk21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
# Template file for 'openjdk21' | ||
pkgname=openjdk21 | ||
version=21.0.1+12 | ||
revision=1 | ||
_gtest_ver=1.13.0 | ||
_java_ver="${version%%.*}" | ||
_jdk_update="${version#*+}" | ||
_base_version="${version%+*}" | ||
_jdk_home="usr/lib/jvm/openjdk${_java_ver}" | ||
archs="x86_64* aarch64*" | ||
create_wrksrc=yes | ||
build_wrksrc="jdk${_java_ver}u-jdk-${version/+/-}" | ||
build_style=gnu-configure | ||
configure_args="--disable-warnings-as-errors | ||
--enable-unlimited-crypto | ||
--with-zlib=system | ||
--with-libjpeg=system | ||
--with-giflib=system | ||
--with-libpng=system | ||
--with-lcms=system | ||
--with-jtreg=no | ||
--with-gtest=../googletest-${_gtest_ver} | ||
--with-debug-level=release | ||
--with-native-debug-symbols=internal | ||
--with-jobs=${XBPS_ORIG_MAKEJOBS} | ||
--with-version-pre= | ||
--with-version-build=${_jdk_update} | ||
--with-version-opt=void-r${revision} | ||
--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 static-libs-image $(vopt_if docs docs)" | ||
make_install_args="INSTALL_PREFIX=\"${DESTDIR}/usr/lib\"" | ||
make_check_target="test-hotspot-gtest" | ||
hostmakedepends="pkg-config automake autoconf cpio tar unzip zip ca-certificates | ||
openssl zlib-devel which make-ca openjdk20-bootstrap" | ||
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="${pkgname}-jre-${version}_${revision}" | ||
short_desc="OpenJDK Java Development Kit (version ${_java_ver})" | ||
maintainer="classabbyamp <void@placeviolette.net>" | ||
license="GPL-2.0-only WITH Classpath-exception-2.0" | ||
homepage="http://openjdk.java.net/" | ||
distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.tar.gz | ||
https://github.com/google/googletest/archive/refs/tags/v${_gtest_ver}.tar.gz" | ||
checksum="9943e3814d3c1a31f1449f09a8b67df54841944f855a1d372be892c5e6b19217 | ||
ad7fdba11ea011c1d925b3289cf4af2c66a352e18d4c7264392fead75e919363" | ||
alternatives="jdk:/usr/lib/jvm/default-jdk:/${_jdk_home}" | ||
provides="java-environment-${version}_1" | ||
patch_args="-Np1 --directory=$build_wrksrc" | ||
|
||
# Build and check are still parallel, but don't use -jN. | ||
disable_parallel_build=yes | ||
disable_parallel_check=yes | ||
build_options="docs" | ||
|
||
case "$XBPS_TARGET_MACHINE" in | ||
ppc64*) ;; | ||
# no hotspot JIT for ppc32 | ||
ppc*) _use_zero=yes ;; | ||
i686*|arm*) broken="Unsupported architecture" ;; | ||
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 | ||
configure_args+=" --with-boot-jdk-jvmargs=-Xlog:disable" | ||
|
||
case "$XBPS_TARGET_LIBC" in | ||
glibc) build_options_default+=" docs";; | ||
esac | ||
|
||
if [ ! "$CROSS_BUILD" ]; then | ||
hostmakedepends+=" openjdk20-bootstrap" | ||
configure_args+=" --with-boot-jdk=/usr/lib/jvm/openjdk20" | ||
else | ||
hostmakedepends+=" openjdk21" | ||
configure_args+=" --with-boot-jdk=/usr/lib/jvm/openjdk21" | ||
fi | ||
|
||
post_extract() { | ||
chmod +x $build_wrksrc/configure | ||
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then | ||
rm -r $build_wrksrc/src/jdk.hotspot.agent | ||
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" \ | ||
READELF=$READELF AR=$AR STRIP=$STRIP NM=$NM \ | ||
OBJDUMP=$OBJDUMP OBJCOPY=$OBJCOPY | ||
} | ||
|
||
post_install() { | ||
rm -rf ${DESTDIR}/usr/lib/bin | ||
mv ${DESTDIR}/usr/lib/jvm/openjdk-${_base_version} ${DESTDIR}/$_jdk_home | ||
vcopy build/*-release/images/static-libs/lib $_jdk_home | ||
vmkdir $_jdk_home/lib/security | ||
make-ca -g -f --destdir "${PWD}/ca" -k "${DESTDIR}/$_jdk_home/bin/keytool" | ||
mv ./ca/etc/pki/tls/java/cacerts ${DESTDIR}/$_jdk_home/lib/security/ | ||
chmod -R ugo+rw ./ca | ||
rm -rf ./ca | ||
} | ||
|
||
subpackages="openjdk21-static-libs openjdk21-src openjdk21-jre openjdk21-doc openjdk21-jmods" | ||
|
||
openjdk21-jre_package() { | ||
shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so" | ||
short_desc+=" - runtime components" | ||
provides="java-runtime-${version}_1" | ||
depends="openjdk-common" | ||
alternatives="java:/usr/lib/jvm/default-jre:/${_jdk_home}" | ||
pkg_install() { | ||
for bin in java jfr keytool rmiregistry; do | ||
vmove "${_jdk_home}/bin/${bin}" | ||
vmove "${_jdk_home}/man/man1/${bin}.1" | ||
done | ||
|
||
for f in lib legal conf release; do | ||
vmove $_jdk_home/$f | ||
done | ||
|
||
vlicense ASSEMBLY_EXCEPTION | ||
vlicense LICENSE | ||
} | ||
} | ||
|
||
openjdk21-doc_package() { | ||
nostrip=yes | ||
noverifyrdeps=yes | ||
noshlibprovides=yes | ||
short_desc+=" - documentation" | ||
if [ -z "$build_option_docs" ]; then | ||
build_style=meta | ||
fi | ||
pkg_install() { | ||
if [ "$build_option_docs" ]; then | ||
local _docdir=usr/share/doc/openjdk$_java_ver | ||
vmkdir $_docdir | ||
cp -a $wrksrc/$build_wrksrc/build/linux-*/images/docs/* ${PKGDESTDIR}/$_docdir | ||
fi | ||
} | ||
} | ||
|
||
openjdk21-src_package() { | ||
nostrip=yes | ||
noverifyrdeps=yes | ||
noshlibprovides=yes | ||
short_desc+=" - source code" | ||
pkg_install() { | ||
vmove "$_jdk_home/lib/src.zip" | ||
} | ||
} | ||
|
||
openjdk21-static-libs_package() { | ||
short_desc+=" - static libs" | ||
pkg_install() { | ||
vmove "$_jdk_home/lib/*.a" | ||
} | ||
} | ||
|
||
openjdk21-jmods_package() { | ||
short_desc+=" - JMODs" | ||
depends="${sourcepkg}-${version}_${revision}" | ||
pkg_install() { | ||
vmove $_jdk_home/jmods | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
pattern='jdk-\K21\.[\d.+]+(?=\.)' |