jdk-openjdk-ea
LOW
maintainer agony4001
0 votes
scanned 2026-10-26 03:43:44.749651
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: agony <27015 at riseup dot net>
2
3
pkgname=jdk-openjdk-ea
4
pkgver=28+21
5
pkgrel=1
6
_major=${pkgver%%+*}
7
pkgdesc="OpenJDK ${_major} early access build, compiled from the openjdk/jdk sources"
8
arch=('x86_64')
9
url="https://openjdk.org/"
10
license=('LicenseRef-Java')
11
depends=('java-runtime-common>=3' 'java-environment-common=3' 'ca-certificates-utils'
12
'alsa-lib' 'freetype2' 'giflib' 'glibc' 'harfbuzz' 'lcms2' 'libgcc' 'libjpeg-turbo'
13
'libpng' 'libstdc++' 'libx11' 'libxext' 'libxi' 'libxrender' 'libxtst' 'zlib')
14
# The build accepts a boot JDK of the previous or the same major
15
makedepends=('java-environment>=27' 'bash' 'cpio' 'libcups' 'libxrandr' 'libxt' 'pandoc'
16
'unzip' 'zip')
17
optdepends=('gtk3: GTK look and feel'
18
'nss: SunPKCS11 with the NSS softtoken')
19
provides=("java-environment=${_major}"
20
"java-environment-openjdk=${_major}"
21
"java-runtime=${_major}"
22
"java-runtime-openjdk=${_major}"
23
"java-runtime-headless=${_major}"
24
"java-runtime-headless-openjdk=${_major}")
25
backup=(etc/java-openjdk-ea/bash-completion/jcmd
26
etc/java-openjdk-ea/jaxp.properties
27
etc/java-openjdk-ea/jaxp-strict.properties.template
28
etc/java-openjdk-ea/logging.properties
29
etc/java-openjdk-ea/management/jmxremote.access
30
etc/java-openjdk-ea/management/jmxremote.password.template
31
etc/java-openjdk-ea/management/management.properties
32
etc/java-openjdk-ea/net.properties
33
etc/java-openjdk-ea/security/java.security
34
etc/java-openjdk-ea/security/policy/README.txt
35
etc/java-openjdk-ea/security/policy/limited/default_US_export.policy
36
etc/java-openjdk-ea/security/policy/limited/default_local.policy
37
etc/java-openjdk-ea/security/policy/limited/exempt_local.policy
38
etc/java-openjdk-ea/security/policy/unlimited/default_US_export.policy
39
etc/java-openjdk-ea/security/policy/unlimited/default_local.policy
40
etc/java-openjdk-ea/sound.properties)
41
install="${pkgname}.install"
42
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/openjdk/jdk/archive/refs/tags/jdk-${pkgver}.tar.gz"
43
'java.desktop'
44
'jconsole.desktop'
45
'jshell.desktop')
46
sha256sums=('125667383417beaf27d6a0b58db5e13b47f5c0674a76ecfd3d4b92a5bc318f11'
47
'3682e4ff646bf279b111fd9ae6565fdc7bb6fc01fe6adf19cb9dd0c0899c9fe5'
48
'cd3bcb8acec426d4194021ebfe0830c5712eaa2c0910bc3dd3fccc3acf0c639b'
49
'4ef04dd2b586c17734d0dc82c59ae0bf08e67b0a8d58fa7e1bb144fc8e7143f8')
50
51
_srcdir=jdk-jdk-${pkgver/+/-}
52
_imgdir=${_srcdir}/build/linux-${CARCH}-server-release/images
53
# No major version in the directory name, so the default set with
54
# archlinux-java survives the move of the tip to a new major
55
_jvmdir=/usr/lib/jvm/java-openjdk-ea
56
57
build() {
58
cd "${_srcdir}"
59
60
# The JDK build runs its own parallel jobs; -j in MAKEFLAGS breaks it
61
local _j
62
_j=$(sed -En 's/.*-j([0-9]+).*/\1/p' <<<"${MAKEFLAGS}")
63
export MAKEFLAGS=${MAKEFLAGS/-j${_j}/}
64
65
# configure ignores CFLAGS, CXXFLAGS and LDFLAGS from the environment;
66
# the flags go in through --with-extra-*, as in extra/java-openjdk
67
local _cflags="${CFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
68
local _cxxflags="${CXXFLAGS//-O2/-O3} ${CPPFLAGS} -fcommon"
69
local _ldflags=${LDFLAGS}
70
_cflags=${_cflags/-fexceptions/}
71
_cxxflags=${_cxxflags/-fexceptions/}
72
unset CFLAGS CXXFLAGS LDFLAGS
73
74
local _features="zgc,shenandoahgc"
75
if check_option "lto" "y"; then
76
_features+=",link-time-opt"
77
fi
78
79
bash configure \
80
--with-version-pre=ea \
81
--with-version-build="${pkgver#*+}" \
82
--without-version-opt \
83
--with-stdc++lib=dynamic \
84
--with-extra-cflags="${_cflags}" \
85
--with-extra-cxxflags="${_cxxflags}" \
86
--with-extra-ldflags="${_ldflags}" \
87
--with-libjpeg=system \
88
--with-giflib=system \
89
--with-libpng=system \
90
--with-lcms=system \
91
--with-zlib=system \
92
--with-harfbuzz=system \
93
--with-jvm-features="${_features}" \
94
--with-native-debug-symbols=none \
95
--disable-warnings-as-errors
96
97
make images
98
}
99
100
check() {
101
"${_imgdir}/jdk/bin/java" -version
102
}
103
104
package() {
105
install -dm755 "${pkgdir}${_jvmdir}" "${pkgdir}/etc" "${pkgdir}/usr/share/licenses"
106
cp -a "${_imgdir}/jdk"/* "${pkgdir}${_jvmdir}"
107
cd "${pkgdir}${_jvmdir}"
108
109
# The JDK reads its configuration from ${java.home}/conf; keeping it in
110
# /etc lets pacman preserve local edits, as extra/jdk-openjdk does
111
mv conf "${pkgdir}/etc/java-openjdk-ea"
112
ln -s /etc/java-openjdk-ea conf
113
114
mv legal "${pkgdir}/usr/share/licenses/${pkgname}"
115
ln -s "/usr/share/licenses/${pkgname}" legal
116
117
# The system Java keystore from ca-certificates-utils
118
ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts
119
120
local f
121
for f in java jconsole jshell; do
122
install -Dm644 "${srcdir}/${f}.desktop" \
123
"${pkgdir}/usr/share/applications/${f}-java-openjdk-ea.desktop"
124
sed -i "s/@MAJOR@/${_major}/g" "${pkgdir}/usr/share/applications/${f}-java-openjdk-ea.desktop"
125
done
126
127
local s
128
for s in 16 24 32 48; do
129
install -Dm644 "${srcdir}/${_srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png" \
130
"${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java-openjdk-ea.png"
131
done
132
}
133
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-26 03:43:44 | Low | 1 |