aboutsummaryrefslogtreecommitdiffstats
path: root/community/openjdk17/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/openjdk17/APKBUILD')
-rw-r--r--community/openjdk17/APKBUILD146
1 files changed, 98 insertions, 48 deletions
diff --git a/community/openjdk17/APKBUILD b/community/openjdk17/APKBUILD
index 6c3108be116..973d7452b19 100644
--- a/community/openjdk17/APKBUILD
+++ b/community/openjdk17/APKBUILD
@@ -1,20 +1,22 @@
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=openjdk17
-pkgver=17.0.3_p7
+pkgver=17.0.10_p7
_pkgver=${pkgver%_p*}-ga
-pkgrel=2
+pkgrel=0
pkgdesc="Oracle OpenJDK 17"
provider_priority=17
url="https://github.com/openjdk/jdk17u"
-arch="all !x86 !armhf !armv7 !riscv64" # oracle dropped support for 32 bit
+# oracle dropped support for 32 bit
+arch="all !x86 !armhf !armv7 !riscv64"
license="GPL-2.0-with-classpath-exception"
-makedepends="autoconf
+makedepends="
+ $pkgname-bootstrap
+ autoconf
bash
gawk
grep
make
- openjdk16-jdk
zip
alsa-lib-dev
cups-dev
@@ -23,7 +25,6 @@ makedepends="autoconf
freetype-dev
giflib-dev
lcms2-dev
- libexecinfo-dev
libffi-dev
libjpeg-turbo-dev
libx11-dev
@@ -33,28 +34,26 @@ makedepends="autoconf
libxt-dev
libxtst-dev
linux-headers
- zlib-dev"
+ zlib-dev
+ "
depends="$pkgname-jdk $pkgname-demos $pkgname-doc" # for the virtual openjdk16 package
subpackages="$pkgname-jmods:_jmods:noarch
$pkgname-demos:_demos:noarch
$pkgname-doc:_doc:noarch
$pkgname-jre:_jre
$pkgname-src:_src:noarch
+ $pkgname-static-libs:_static_libs
$pkgname-jre-headless:_jre_headless
- $pkgname-jdk:_jdk"
+ $pkgname-jdk:_jdk
+ "
source="jdk-$_pkgver.tar.gz::https://github.com/openjdk/jdk17u/archive/jdk-$_pkgver.tar.gz
gtest-1.8.1.tar.gz::https://github.com/google/googletest/archive/release-1.8.1.tar.gz
-
ppc64le.patch
- FixNullPtrCast.patch
-
- HelloWorld.java
- TestECDSA.java
- TestCryptoLevel.java
- Alpine_Bug_10126.java
"
builddir="$srcdir/jdk17u-jdk-${_pkgver/+/-}"
+provides="$pkgname-bootstrap=$pkgver-r$pkgrel"
+
_java_home="/usr/lib/jvm/java-17-openjdk"
ldpath="$_java_home/lib:$_java_home/lib/server"
@@ -65,10 +64,55 @@ sonameprefix="$pkgname:"
_run_jtreg=${_run_jtreg:-0}
if [ $_run_jtreg -ne 0 ]; then
makedepends="$makedepends java-jtreg"
- checkdepends="$checkdepends ttf-freefont xvfb-run"
+ checkdepends="$checkdepends font-freefont xvfb-run"
fi
# secfixes:
+# 17.0.10_p7-r0:
+# - CVE-2023-5072
+# - CVE-2024-20932
+# - CVE-2024-20918
+# - CVE-2024-20952
+# - CVE-2024-20919
+# - CVE-2024-20921
+# - CVE-2024-20926
+# - CVE-2024-20945
+# - CVE-2024-20955
+# 17.0.9_p8-r0:
+# - CVE-2023-30589
+# - CVE-2023-22081
+# - CVE-2023-22025
+# 17.0.8_p7-r0:
+# - CVE-2023-22041
+# - CVE-2023-25193
+# - CVE-2023-22044
+# - CVE-2023-22045
+# - CVE-2023-22049
+# - CVE-2023-22036
+# - CVE-2023-22006
+# 17.0.7_p7-r0:
+# - CVE-2023-21930
+# - CVE-2023-21967
+# - CVE-2023-21954
+# - CVE-2023-21939
+# - CVE-2023-21938
+# - CVE-2023-21968
+# - CVE-2023-21937
+# 17.0.6_p10-r0:
+# - CVE-2023-21835
+# - CVE-2023-21843
+# 17.0.5_p8-r0:
+# - CVE-2022-21628
+# - CVE-2022-21618
+# - CVE-2022-39399
+# - CVE-2022-21624
+# - CVE-2022-21619
+# 17.0.4_p8-r0:
+# - CVE-2022-21540
+# - CVE-2022-21541
+# - CVE-2022-21549
+# - CVE-2022-25647
+# - CVE-2022-34169
# 17.0.3_p7-r0:
# - CVE-2022-21426
# - CVE-2022-21449
@@ -104,10 +148,8 @@ fi
prepare() {
default_prepare
-
# update autoconf files to detect alpine
update_config_sub
- update_config_guess
}
build() {
@@ -117,6 +159,21 @@ build() {
_with_jtreg="--with-jtreg=no"
fi
+ if [ -n "$USE_CCACHE" ]; then
+ # workaround ccache being disallowed
+ export PATH="/usr/bin:/bin:/sbin:/usr/sbin"
+ local ccache="--enable-ccache"
+ fi
+
+ export CFLAGS="$CFLAGS -Wno-format -Wno-error=format-security"
+ export CXXFLAGS="$CXXFLAGS -Wno-format -Wno-error=format-security"
+ export CPPFLAGS="$CPPFLAGS -Wno-format -Wno-error=format-security"
+
+ # we want to build hotspot with better optimisations; it's set to this
+ # (prepended) anyway, and it's huge
+ export CFLAGS="$CFLAGS -O3"
+ export CXXFLAGS="$CXXFLAGS -O3"
+
# CFLAGS, CXXFLAGS and LDFLAGS are ignored as shown by a warning
# in the output of ./configure unless used like such:
# --with-extra-cflags="$CFLAGS"
@@ -134,8 +191,8 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
- --with-extra-cflags="$CFLAGS" \
- --with-extra-cxxflags="$CXXFLAGS" \
+ --with-extra-cflags="$CFLAGS -D_LARGEFILE64_SOURCE" \
+ --with-extra-cxxflags="$CXXFLAGS -D_LARGEFILE64_SOURCE" \
--with-extra-ldflags="$LDFLAGS" \
--with-zlib=system \
--with-libjpeg=system \
@@ -146,6 +203,7 @@ build() {
--with-test-jobs=${JOBS:-4} \
--with-native-debug-symbols=none \
--with-gtest=../googletest-release-1.8.1 \
+ $ccache \
$_with_jtreg \
--disable-warnings-as-errors \
--disable-precompiled-headers \
@@ -159,28 +217,12 @@ build() {
--with-vendor-url="https://alpinelinux.org/" \
--with-vendor-bug-url="https://gitlab.alpinelinux.org/alpine/aports/issues" \
--with-vendor-vm-bug-url="https://gitlab.alpinelinux.org/alpine/aports/issues"
- MAKEFLAGS='' make jdk-image
+ # in rare cases the build hangs
+ MAKEFLAGS='' timeout 3600 make jdk-image
+ MAKEFLAGS='' make static-libs-image
}
check() {
- local _java_bin="./build/linux-*-server-release/images/jdk/bin"
-
- # 1) compile and run a simple hello world
- $_java_bin/javac -d . "$srcdir"/HelloWorld.java
- $_java_bin/java HelloWorld
-
- # 2) compile and run a testcase for unlimited policy
- $_java_bin/javac -d . "$srcdir"/TestCryptoLevel.java
- $_java_bin/java -cp . --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
-
- # 3) compile and run a testcase for ECDSA signatures
- $_java_bin/javac -d . "$srcdir"/TestECDSA.java
- $_java_bin/java TestECDSA
-
- # 4) compile and run testcase for bug 10126
- $_java_bin/javac -d . "$srcdir"/Alpine_Bug_10126.java
- $_java_bin/java Alpine_Bug_10126
-
# run the gtest unittest suites
# they don't take long, DO NOT DISABLE THEM!
MAKEFLAGS='' make test-hotspot-gtest
@@ -205,8 +247,13 @@ check() {
}
package() {
- mkdir -p "$pkgdir/$_java_home"
- cp -r build/linux-*-server-release/images/jdk/* "$pkgdir/$_java_home"
+ local libstaticdir="lib/static/linux-${CARCH/x86_64/amd64}/musl"
+
+ mkdir -p "$pkgdir/$_java_home/$libstaticdir"
+
+ cd build/linux-*-server-release/images/
+ cp -r jdk/* "$pkgdir/$_java_home"
+ cp -r static-libs/lib/* "$pkgdir/$_java_home/$libstaticdir"
}
_jmods() {
@@ -265,6 +312,14 @@ _src() {
"$subpkgdir"/$_java_home/lib/
}
+_static_libs() {
+ pkgdesc="Oracle OpenJDK 17 libraries for static linking"
+ provides="java-jdk-static-libs"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove $_java_home/lib/static
+}
+
_jre_headless() {
pkgdesc="Oracle OpenJDK 17 (JRE headless)"
depends="java-common java-cacerts"
@@ -318,12 +373,7 @@ _jdk() {
}
sha512sums="
-ee47540e5bee33675920fd3ddd1c46843030d5e290182dff99877d5fd990e726562205d2422aff7473214851d48cd78f34c0c610561dd311ae57b53cc648a08b jdk-17.0.3-ga.tar.gz
+c2dfd66debdce488de044efcfc3f57cc9eb07ead2cfb7dd6e28e5748d48ec89f0c326a4c3f4a5c740019b8e5a02b858d93dd74a0c6626de445144b9840d3a426 jdk-17.0.10-ga.tar.gz
e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7 gtest-1.8.1.tar.gz
-6d718468e1b6909e01758611bd297854a0cededed5ec3cbe08c32f809d2608ce65d7947f85288acf90815323d3c2b90f10eab1537f7fc20d5acb1c64b2c5a588 ppc64le.patch
-60ee8d27e52fe53de55cfdaf10dd155ed9406b0c89e1f85feec04f91d8e558f675dd5ac87f0d33daad109462efd7b2c6fc06ad9333c3eeac283f5fd9c44514a1 FixNullPtrCast.patch
-d1767dddd8e0956e25c0f77ed45c6fc86a1191bae1704a6dc33be490fd20eaa50461fe5c2a3349512059d555651e2eb41437dd3c1096c351e8ee68b4534a2579 HelloWorld.java
-27e91edef89d26c0c5b9a813e2045f8d2b348745a506ae37b34b660fa7093da9a4e0e676ea41dc4a5c901bce02e5304d95e90f68d6c99cbf461b2da40a7a9853 TestECDSA.java
-b02dff8d549f88317bb4c741a9e269e8d59eef990197d085388fc49c7423a4eb9367dbe1e02bffb10e7862f5980301eb58d4494e177d0e8f60af6b05c7fbbe60 TestCryptoLevel.java
-cc466f64fcc8762cf6e3c1f5739be6425209b27aa58acff4e7eb126003d61fa18266f0e79e57e9d84224654010185ab45dc0a8043543dea227258458a00a1eb1 Alpine_Bug_10126.java
+007e643039af096e77e491ccba821596c7e96b80d9821a7fbe4a78ca3f013c5e771956461d82505c26b0ca3ab06699877f398833db459e2442c0c51f71fee361 ppc64le.patch
"