community/openjdk23-loongarch: move from testing

- switch makedepends from -bootstrap to -loongarch variant
    having pkgver beginning with 0.0 will make openjdk22-bootstrap
    choose openjdk22 instead, as provider priorities are the same
    so make it explicit that we want to use a boot JDK with Server VM
    following this, the first openjdk -loongarch aport in the next
    LTS bootstrap chain will depend on -bootstrap, and all subsequent
    versions depend on -loongarch, which bootstraps in around 15 mins

  - carry over $_provide_java changes from openjdk22-loongarch
    when _provide_java=false, static-libs are not built to save
    space, and subpackages do not provide java-jdk/jre(-headless)
    my intention is to have _provide_java=true only for LTS JDKs
    so Java aports depending on java-jdk will be built against
    the latest LTS (which in actuality, may also not be what is
    intended, as that means it will not work with earlier LTS)
This commit is contained in:
Celeste 2024-09-13 17:00:01 +00:00
parent b45aac3b93
commit a69ccd85e0
6 changed files with 34 additions and 11 deletions

View file

@ -7,13 +7,14 @@ pkgver=0.0.$_buildver.$_loongver
pkgrel=0
_gittag="jdk-$_majorver+$_buildver-ls-$_loongver"
_prevmajorver=$((_majorver - 1))
_provide_java=false
pkgdesc="Loongarch port of OpenJDK $_majorver"
url="https://github.com/loongson/jdk"
arch="loongarch64"
license="GPL-2.0-only WITH Classpath-exception-2.0"
options="sover-namecheck"
makedepends_build="
openjdk$_prevmajorver-bootstrap
openjdk$_prevmajorver-loongarch
autoconf
bash
gawk
@ -41,15 +42,23 @@ makedepends_host="
linux-headers
zlib-dev
"
makedepends="
$makedepends_build
$makedepends_host
java-cacerts
java-common
"
subpackages="
$pkgname-demos::noarch
$pkgname-doc
$pkgname-jmods::noarch
$pkgname-jre
$pkgname-static-libs:static_libs
$pkgname-jre-headless:jre_headless
$pkgname-jdk
"
$_provide_java && subpackages="$subpackages
$pkgname-static-libs:static_libs
"
_gtest=1.15.2
source="$pkgname-$_gittag.tar.gz::https://github.com/loongson/jdk/archive/refs/tags/$_gittag.tar.gz
gtest-$_gtest.tar.gz::https://github.com/google/googletest/archive/v$_gtest.tar.gz
@ -145,7 +154,9 @@ build() {
--with-vendor-vm-bug-url="https://gitlab.alpinelinux.org/alpine/aports/issues"
MAKEFLAGS='' make jdk-image
MAKEFLAGS='' make static-libs-image
if $_provide_java; then
MAKEFLAGS='' make static-libs-image
fi
}
check() {
@ -176,17 +187,19 @@ check() {
package() {
depends="$pkgname-jdk=$pkgver-r$pkgrel"
local libstaticdir="lib/static/linux-${CARCH/x86_64/amd64}/musl"
mkdir -p "$pkgdir"/$_java_home/$libstaticdir
install -Dvm644 ASSEMBLY_EXCEPTION LICENSE README.md \
-t "$pkgdir"/$_java_home/
cd build/linux-*-$_jvm_variants-release/images/
cp -a jdk/* "$pkgdir"/$_java_home/
cp -a static-libs/lib/* "$pkgdir"/$_java_home/$libstaticdir/
rm -v "$pkgdir"/$_java_home/lib/src.zip
if $_provide_java; then
local libstaticdir="lib/static/linux-loongarch64/musl"
mkdir -p "$pkgdir"/$_java_home/$libstaticdir
cp -a static-libs/lib/* "$pkgdir"/$_java_home/$libstaticdir/
fi
# symlink to shared java cacerts store
rm -v "$pkgdir"/$_java_home/lib/security/cacerts
ln -sv /etc/ssl/certs/java/cacerts \
@ -199,6 +212,7 @@ package() {
jmods() {
pkgdesc="$pkgdesc (jmods)"
depends=
provides="openjdk$_majorver-jmods"
replaces="openjdk$_majorver-jmods"
@ -208,7 +222,9 @@ jmods() {
static_libs() {
pkgdesc="$pkgdesc (libraries for static linking)"
depends="$pkgname-jdk=$pkgver-r$pkgrel"
provides="java-jdk-static-libs openjdk$_majorver-static-libs"
$_provide_java && provides="java-jdk-static-libs"
provides="$provides openjdk$_majorver-static-libs"
replaces="openjdk$_majorver-static-libs"
amove $_java_home/lib/static
@ -217,7 +233,9 @@ static_libs() {
jre() {
pkgdesc="$pkgdesc (JRE)"
depends="$pkgname-jre-headless=$pkgver-r$pkgrel"
provides="java-jre openjdk$_majorver-jre"
$_provide_java && provides="java-jre"
provides="$provides openjdk$_majorver-jre"
replaces="openjdk$_majorver-jre"
amove \
@ -233,7 +251,9 @@ jre() {
jre_headless() {
pkgdesc="$pkgdesc (JRE headless)"
depends="java-common java-cacerts"
provides="java-jre-headless openjdk$_majorver-jre-headless"
$_provide_java && provides="java-jre-headless"
provides="$provides openjdk$_majorver-jre-headless"
replaces="openjdk$_majorver-jre-headless"
amove \
@ -264,6 +284,7 @@ doc() {
demos() {
pkgdesc="$pkgdesc (demos)"
depends="$pkgname-jdk=$pkgver-r$pkgrel"
provides="openjdk$_majorver-demos"
replaces="openjdk$_majorver-demos"
@ -273,7 +294,9 @@ demos() {
jdk() {
pkgdesc="$pkgdesc (JDK) ($_jvm_variants variant)"
depends="$pkgname-jre=$pkgver-r$pkgrel $pkgname-jmods=$pkgver-r$pkgrel"
provides="java-jdk openjdk$_majorver-jdk"
$_provide_java && provides="java-jdk"
provides="$provides openjdk$_majorver-jdk"
replaces="openjdk$_majorver-jdk"
amove \