openjdk8: update to 8u332b05.

- various template cleanups
- rename /usr/lib/jvm/java-1.8-openjdk to /usr/lib/jvm/openjdk8
  for consistency
- fix manpages
- fix alternatives
This commit is contained in:
classabbyamp 2023-12-21 17:37:34 -05:00 committed by classabbyamp
parent dcbd1f1067
commit 80a7f1151e

View file

@ -1,19 +1,13 @@
# Template file for 'openjdk8'
# TODO: better places for bin and man?
# TODO: make -headless versions
# TODO: config files?
pkgname=openjdk8
version=8u322b04
revision=5
version=8u332b05
revision=1
_jdk_update="${version#*u}"
_jdk_update="${_jdk_update%b*}"
_jdk_build="${version#*b}"
_jdk_home="usr/lib/jvm/java-1.8-openjdk"
# we're using aarch64 port repo to get aarch64 JIT; the repo is
# otherwise the same as the normal one, just with aarch64 port added
_repo_ver="aarch64-shenandoah-jdk${version/b/-b}"
_jdk_home="usr/lib/jvm/openjdk8"
_commit="bdc2203a44df159d94ecd0e04a230e65cb84297e"
archs="x86_64* i686* aarch64* arm* ppc64*"
create_wrksrc=yes
build_style=gnu-configure
configure_args="
--prefix=${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/${pkgname}-${version}/usr/lib
@ -28,13 +22,14 @@ configure_args="
--with-freetype-lib=${XBPS_CROSS_BASE}/usr/lib
--with-freetype-include=${XBPS_CROSS_BASE}/usr/include/freetype2
--with-jtreg=no
--with-jobs=${XBPS_MAKEJOBS}
--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"
--with-jobs=${XBPS_ORIG_MAKEJOBS}
--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
--disable-option-checking"
make_build_args="images $(vopt_if docs docs) COMPILER_WARNINGS_FATAL=false"
make_build_args="images $(vopt_if docs docs) COMPILER_WARNINGS_FATAL=false GIT=true"
make_install_args="GIT=true"
hostmakedepends="pkg-config automake autoconf cpio tar unzip zip ca-certificates
zlib-devel make-ca which"
makedepends="libXrender-devel libXtst-devel libXt-devel libXrandr-devel
@ -45,28 +40,19 @@ short_desc="OpenJDK Java Development Kit (version 8)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
license="GPL-2.0-only WITH Classpath-exception-2.0"
homepage="http://openjdk.java.net/"
distfiles="
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/archive/${_repo_ver}.tar.gz>jdk8u-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/corba/archive/${_repo_ver}.tar.gz>corba-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/archive/${_repo_ver}.tar.gz>hotspot-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/jdk/archive/${_repo_ver}.tar.gz>jdk-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/jaxws/archive/${_repo_ver}.tar.gz>jaxws-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/jaxp/archive/${_repo_ver}.tar.gz>jaxp-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/langtools/archive/${_repo_ver}.tar.gz>langtools-${_repo_ver}.tar.gz
http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/nashorn/archive/${_repo_ver}.tar.gz>nashorn-${_repo_ver}.tar.gz"
# we're using aarch64 port repo to get aarch64 JIT; the repo is
# otherwise the same as the normal one, just with aarch64 port added
distfiles="https://github.com/openjdk/shenandoah-jdk8u/archive/${_commit}.tar.gz"
checksum=4c39be8454a1b8b10a9ff845a4e7e639808799d3d2eddb1484df80835d5e88e4
checksum="8ef23f1fb449c50c7c71f58f9ec9e5ac6dd152f4c830408f5c02b77652d634cc
2680d968821fdd4363c68b1a835a9bbd76d6a94fdc0ab6e1b1aaadc5ccd1ed8a
5561c84e1d5111fff0142ba4d397b29d6dc9e3702955567bd5b4986e8cf4f2ef
7eb13948061d8ec98323fdac424955753f339c145af04a3f86100437dff60257
fe21a137b6fb1881db1c5c01f372126f6b165c6d3b98421e6862255f456cbfd6
22a1b86820ef585c45bce36d822872354bc0dd183c5516f89da28e0666d3901b
34c306eadb436cd9f22f306f4f1d4ea4f167923e8affa2d2797d6c3de6da46ea
17730e5cc2a84c4680f692008f3805ce4e4edeb2008e2e6a4fb86b9dde06fe23"
disable_parallel_build=yes
build_options="docs"
desc_option_docs="Build documentation"
alternatives="jdk:/usr/lib/jvm/default-jdk:/${_jdk_home}"
provides="java-environment-${version}_1"
# no hotspot JIT for arm32 and ppc32
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
@ -81,8 +67,6 @@ else
build_options_default+=" docs"
fi
provides="java-environment-${version}_1"
if [ ! "$CROSS_BUILD" ]; then
hostmakedepends+=" openjdk7-bootstrap"
configure_args+=" --with-boot-jdk=/usr/lib/jvm/java-1.7-openjdk"
@ -94,57 +78,11 @@ fi
# enabling ccache segfaults gcc
export CCACHE_DISABLE=1
alternatives="
jdk:/usr/bin/appletviewer:/${_jdk_home}/bin/appletviewer
jdk:/usr/bin/extcheck:/${_jdk_home}/bin/extcheck
jdk:/usr/bin/idlj:/${_jdk_home}/bin/idlj
jdk:/usr/bin/jar:/${_jdk_home}/bin/jar
jdk:/usr/bin/jarsigner:/${_jdk_home}/bin/jarsigner
jdk:/usr/bin/java:/${_jdk_home}/bin/java
jdk:/usr/bin/java-rmi.cgi:/${_jdk_home}/bin/java-rmi.cgi
jdk:/usr/bin/javac:/${_jdk_home}/bin/javac
jdk:/usr/bin/javadoc:/${_jdk_home}/bin/javadoc
jdk:/usr/bin/javah:/${_jdk_home}/bin/javah
jdk:/usr/bin/javap:/${_jdk_home}/bin/javap
jdk:/usr/bin/jcmd:/${_jdk_home}/bin/jcmd
jdk:/usr/bin/jconsole:/${_jdk_home}/bin/jconsole
jdk:/usr/bin/jdb:/${_jdk_home}/bin/jdb
jdk:/usr/bin/jdeps:/${_jdk_home}/bin/jdeps
jdk:/usr/bin/jhat:/${_jdk_home}/bin/jhat
jdk:/usr/bin/jinfo:/${_jdk_home}/bin/jinfo
jdk:/usr/bin/jjs:/${_jdk_home}/bin/jjs
jdk:/usr/bin/jmap:/${_jdk_home}/bin/jmap
jdk:/usr/bin/jps:/${_jdk_home}/bin/jps
jdk:/usr/bin/jrunscript:/${_jdk_home}/bin/jrunscript
jdk:/usr/bin/jsadebugd:/${_jdk_home}/bin/jsadebugd
jdk:/usr/bin/jstack:/${_jdk_home}/bin/jstack
jdk:/usr/bin/jstat:/${_jdk_home}/bin/jstat
jdk:/usr/bin/jstatd:/${_jdk_home}/bin/jstatd
jdk:/usr/bin/keytool:/${_jdk_home}/bin/keytool
jdk:/usr/bin/native2ascii:/${_jdk_home}/bin/native2ascii
jdk:/usr/bin/orbd:/${_jdk_home}/bin/orbd
jdk:/usr/bin/pack200:/${_jdk_home}/bin/pack200
jdk:/usr/bin/policytool:/${_jdk_home}/bin/policytool
jdk:/usr/bin/rmic:/${_jdk_home}/bin/rmic
jdk:/usr/bin/rmid:/${_jdk_home}/bin/rmid
jdk:/usr/bin/rmiregistry:/${_jdk_home}/bin/rmiregistry
jdk:/usr/bin/schemagen:/${_jdk_home}/bin/schemagen
jdk:/usr/bin/serialver:/${_jdk_home}/bin/serialver
jdk:/usr/bin/servertool:/${_jdk_home}/bin/servertool
jdk:/usr/bin/tnameserv:/${_jdk_home}/bin/tnameserv
jdk:/usr/bin/unpack200:/${_jdk_home}/bin/unpack200
jdk:/usr/bin/wsgen:/${_jdk_home}/bin/wsgen
jdk:/usr/bin/wsimport:/${_jdk_home}/bin/wsimport
jdk:/usr/bin/xjc:/${_jdk_home}/bin/xjc
"
post_extract() {
mv jdk8u*/* .
chmod +x configure
for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn; do
mv ${subrepo}-${_repo_ver} ${subrepo}
done
}
post_patch() {
# gcc complains about the signed shift left
vsed -i jdk/src/share/native/com/sun/java/util/jar/pack/constants.h \
-e's;(-1)<<13;~0u<<13;g'
@ -152,20 +90,22 @@ post_extract() {
# wrong "return false;" instead of "return null;"
vsed -i jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp \
-e"295s;false;null;"
}
post_patch() {
[ "$XBPS_TARGET_LIBC" != "musl" ] && return 0
# pretend we're a git checkout
echo "${_commit}" > .gittip
mkdir .git
for f in ${FILESDIR}/musl_*.patch; do
echo "Applying $f"
patch -sNp1 -i "$f"
done
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
for f in "${FILESDIR}"/musl_*.patch; do
echo "Applying $f"
patch -sNp1 -i "$f"
done
# add cross prefix for thread_db.h check, fix cross from glibc to musl
sed -i "s,/usr/include/thread_db.h,${XBPS_CROSS_BASE}/usr/include/thread_db.h," \
hotspot/make/linux/makefiles/defs.make hotspot/make/linux/makefiles/sa.make \
hotspot/make/linux/makefiles/saproc.make
# add cross prefix for thread_db.h check, fix cross from glibc to musl
sed -i "s,/usr/include/thread_db.h,${XBPS_CROSS_BASE}/usr/include/thread_db.h," \
hotspot/make/linux/makefiles/defs.make hotspot/make/linux/makefiles/sa.make \
hotspot/make/linux/makefiles/saproc.make
fi
}
do_configure() {
@ -200,11 +140,6 @@ pre_build() {
unset CFLAGS CXXFLAGS LDFLAGS
}
do_build() {
# do not set disable_parallel_build in order to be able to read makejobs
make -j1 ${make_build_args} ${make_build_target}
}
post_install() {
# we manage this ourselves
rm -rf ${DESTDIR}/usr/lib/bin
@ -213,6 +148,11 @@ post_install() {
mv ${DESTDIR}/usr/lib/jvm/openjdk-1.8.0_${_jdk_update} \
${DESTDIR}/${_jdk_home}
# don't duplicate binaries already in jre/bin
for bin in "${DESTDIR}/${_jdk_home}/jre/bin"/*; do
ln -srf "${bin}" "${bin/jre/}"
done
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/
@ -228,23 +168,15 @@ openjdk8-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="xbps-triggers>=0.122_1"
triggers="openjdk-profile"
alternatives="
java:/usr/bin/java:/${_jdk_home}/jre/bin/java
java:/usr/bin/jjs:/${_jdk_home}/jre/bin/jjs
java:/usr/bin/keytool:/${_jdk_home}/jre/bin/keytool
java:/usr/bin/orbd:/${_jdk_home}/jre/bin/orbd
java:/usr/bin/pack200:/${_jdk_home}/jre/bin/pack200
java:/usr/bin/policytool:/${_jdk_home}/jre/bin/policytool
java:/usr/bin/rmid:/${_jdk_home}/jre/bin/rmid
java:/usr/bin/rmiregistry:/${_jdk_home}/jre/bin/rmiregistry
java:/usr/bin/servertool:/${_jdk_home}/jre/bin/servertool
java:/usr/bin/tnameserv:/${_jdk_home}/jre/bin/tnameserv
java:/usr/bin/unpack200:/${_jdk_home}/jre/bin/unpack200
"
depends="openjdk-common"
alternatives="java:/usr/lib/jvm/default-jre:/${_jdk_home}/jre"
pkg_install() {
vmove ${_jdk_home}/jre
vmove "${_jdk_home}"/jre
for bin in "${PKGDESTDIR}/${_jdk_home}/jre/bin"/*; do
bin="$(basename "$bin")"
vmove "${_jdk_home}/man/man1/${bin}.1"
vmove "${_jdk_home}/man/ja_JP.UTF-8/man1/${bin}.1"
done
}
}
@ -263,12 +195,13 @@ openjdk8-doc_package() {
noverifyrdeps=yes
noshlibprovides=yes
short_desc+=" - documentation"
if [ -z "$build_option_docs" ]; then
build_style=meta
fi
pkg_install() {
cd ${wrksrc}
if [ "$build_option_docs" ]; then
vmkdir usr/share/doc/openjdk8
cp -a build/linux-*/docs/* ${PKGDESTDIR}/usr/share/doc/openjdk8
fi
vmove ${_jdk_home}/man/man1
}
}