summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD97
1 files changed, 66 insertions, 31 deletions
diff --git a/PKGBUILD b/PKGBUILD
index a416ceba171d..4533ef085aa9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,36 +6,40 @@
pkgbase=java-openj9
pkgname=('jre-openj9-headless' 'jre-openj9' 'jdk-openj9' 'openj9-src' 'openj9-doc')
-_majorver=15
+_majorver=20
_minorver=0
_securityver=1
_updatever=9
-_openj9ver=0.23.0
+_openj9ver=0.39.0
pkgrel=1
-pkgver=${_majorver}.${_minorver}.${_securityver}.b${_updatever}_openj9_${_openj9ver}
+pkgver=${_majorver}${_minorver:+.${_minorver}}${_securityver:+.${_securityver}}.u${_updatever}_openj9_${_openj9ver}_pre20230517
arch=('x86_64')
url='http://www.eclipse.org/openj9/'
license=('custom')
-makedepends=('java-environment>=11' 'cpio' 'unzip' 'zip' 'libelf' 'libcups' 'libx11'
- 'libxrender' 'libxtst' 'libxt' 'libxext' 'libxrandr' 'alsa-lib' 'pandoc'
+makedepends=("java-environment>=$((_majorver-1))" 'cpio' 'unzip' 'zip' 'libelf' 'libcups' 'libx11'
+ 'libxrender' 'libxtst' 'libxt' 'libxext' 'libxrandr' 'alsa-lib'
'graphviz' 'freetype2' 'libjpeg-turbo' 'giflib' 'libpng' 'lcms2'
- 'libnet' 'bash' 'freemarker' 'numactl' 'nasm')
-source=(openj9-openjdk-jdk-${_openj9ver}.tar.gz::https://github.com/ibmruntimes/openj9-openjdk-jdk${_majorver}/archive/openj9-${_openj9ver}.tar.gz
- https://github.com/eclipse/openj9/archive/openj9-${_openj9ver}.tar.gz
- openj9-omr-${_openj9ver}.tar.gz::https://github.com/eclipse/openj9-omr/archive/openj9-${_openj9ver}.tar.gz
+ 'libnet' 'bash' 'harfbuzz' 'gcc-libs' 'glibc' 'numactl' 'nasm' 'cmake')
+_openjdk_sha=c6bbabab95ea24e30cf8c1225db464cff3e12594
+_openj9_sha=8b5fd99a8d71561e94dcbdf84af681ef7d1bb701
+_openj9omr_sha=e4f52d2e479f7e64e092dcec573f1fae864395cb
+options=(!lto)
+source=(openj9-openjdk-jdk${_majorver}-${_openjdk_sha:0:7}.tar.gz::https://github.com/ibmruntimes/openj9-openjdk-jdk${_majorver}/archive/${_openjdk_sha}.tar.gz
+ openj9-${_openj9_sha:0:7}.tar.gz::https://github.com/eclipse/openj9/archive/${_openj9_sha}.tar.gz
+ openj9-omr-${_openj9omr_sha:0:7}.tar.gz::https://github.com/eclipse/openj9-omr/archive/${_openj9omr_sha}.tar.gz
freedesktop-java.desktop
freedesktop-jconsole.desktop
freedesktop-jshell.desktop
omr-omrstr-iconv-failure-overflow.patch
- omr-fam.patch)
-sha256sums=('ed6b29fb098f7325298f70e6b07b283ee8aee95308c535a9979a55e1e0760a3a'
- 'e1962d17a45caef4b76f3c8120610d9192b43bd128a8b24dae5d5d6ccd298f1c'
- 'c58186d193c41e3c740ccbc29c320e18d7084b63d878bb7cc7ba90d3ebc4be5e'
+ openj9-openjdk-override-version.patch)
+sha256sums=('dd590d1a30d5e8ebabc8dde557997bd6af898fa9cbe256afcb028d518311a2b9'
+ 'd0c1d158569e68858b977087e9010942e98755cead82d1ad08a05541df54b44c'
+ '4f962ec233a814f0f8ffb46834e9a12d18233a508502bc876526cb845073b1bd'
'7cb89746dbbcf498dd43b53fee59b124f42e3ea0d8b7134ab803cc2bd6b50230'
'bf76024528d050fd912f72d73e18a814a930df3478b132a99a887fbbdc0c9dfd'
'bd2d4da78a65eec20dc32e21fd4fe134a2483b0bbe2dfb940d66755acc237975'
'f37290530dcb8eb5acb4f70609c55b7e2be134f1052ebf20f117c2996a749858'
- 'c288b0a1a2424967d9c00e4d07d16f5d703f6b9b1195839753480fcd9810faf5')
+ '2a97f38ee08ed6a80be38879b47b78fc710adb9dfb69c44d2a33bee45bd06263')
case "${CARCH}" in
x86_64) _JARCH='x86_64';;
@@ -43,7 +47,7 @@ case "${CARCH}" in
esac
_jvmdir=/usr/lib/jvm/java-${_majorver}-openj9
-_jdkdir=openj9-openjdk-jdk${_majorver}-openj9-${_openj9ver}
+_jdkdir=openj9-openjdk-jdk${_majorver}-${_openjdk_sha}
_imgdir=${_jdkdir}/build/linux-${_JARCH}-server-release/images
_nonheadless=(lib/libawt_xawt.{so,debuginfo}
@@ -54,16 +58,13 @@ _nonheadless=(lib/libawt_xawt.{so,debuginfo}
prepare() {
cd ${_jdkdir}
- ln -s ../openj9-openj9-${_openj9ver} openj9
- ln -s ../openj9-omr-openj9-${_openj9ver} omr
+ ln -s ../openj9-${_openj9_sha} openj9
+ ln -s ../openj9-omr-${_openj9omr_sha} omr
patch -d omr -p1 -i $srcdir/omr-omrstr-iconv-failure-overflow.patch
- patch -d omr -p1 -i $srcdir/omr-fam.patch
+ patch -p1 -i $srcdir/openj9-openjdk-override-version.patch
- sed -i -e '/^OPENJ9_SHA :=/s/:=.*/:= openj9-'${_openj9ver}/ \
- -e '/^OPENJ9_TAG :=/s/:=.*/:= openj9-'${_openj9ver}/ \
- -e '/^OPENJ9OMR_SHA :=/s/:=.*/:= openj9-'${_openj9ver}/ \
- closed/OpenJ9.gmk
+ find openj9/ omr/ -name CMakeLists.txt -exec sed -i -e '/set(OMR_WARNINGS_AS_ERRORS ON/s/ON/OFF/' {} + || die
}
build() {
@@ -88,12 +89,20 @@ build() {
_CXXFLAGS=${CXXFLAGS/-fno-plt/}
fi
+ # TODO: Should be rechecked for the next releases
+ # compiling with -fexceptions leads to:
+ # /usr/bin/ld: /build/java-openjdk/src/jdk17u-jdk-17.0.3-2/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/zPhysicalMemory.o: in function `ZList<ZMemory>::~ZList()':
+ # /build/java-openjdk/src/jdk17u-jdk-17.0.3-2/src/hotspot/share/gc/z/zList.hpp:54: undefined reference to `ZListNode<ZMemory>::~ZListNode()'
+ # collect2: error: ld returned 1 exit status
+ _CFLAGS=${CFLAGS/-fexceptions/}
+ _CXXFLAGS=${CXXFLAGS/-fexceptions/}
+
# CFLAGS, CXXFLAGS and LDFLAGS are ignored as shown by a warning
# in the output of ./configure unless used like such:
# --with-extra-cflags="${CFLAGS}"
# --with-extra-cxxflags="${CXXFLAGS}"
# --with-extra-ldflags="${LDFLAGS}"
- # See also paragraph "Configure Control Variables from "jdk${_majorver}-${_hg_tag}/common/doc/building.md
+ # See also paragraph "Configure Control Variables from "jdk${_majorver}-${_git_tag}/common/doc/building.md
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
@@ -111,23 +120,47 @@ build() {
--with-libpng=system \
--with-lcms=system \
--with-zlib=system \
+ --with-harfbuzz=system \
--with-jvm-features=zgc \
--enable-unlimited-crypto \
--disable-warnings-as-errors{,-omr,-openj9} \
- --with-freemarker-jar=/usr/share/java/freemarker/freemarker.jar \
--disable-ddr \
+ --with-cmake \
${NUM_PROC_OPT}
#--disable-javac-server
- make images legacy-jre-image docs
+ local mycmakeargsx=(
+ "-DCMAKE_C_FLAGS='${CFLAGS}'"
+ "-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
+ "-DCMAKE_CXX_FLAGS='${CXXFLAGS}'"
+ "-DJ9JIT_EXTRA_CXXFLAGS='${CXXFLAGS}'"
+ "-DCMAKE_EXE_LINKER_FLAGS='${LDFLAGS}'"
+ -DOMR_WARNINGS_AS_ERRORS=OFF
+ -DOMR_PORT_NUMA_SUPPORT=$(usex numa)
+ )
+ make \
+ EXTRA_CMAKE_ARGS="${mycmakeargsx[*]}" \
+ OPENJDK_SHA=${_openjdk_sha} \
+ OPENJ9_SHA=${_openj9_sha} \
+ OPENJ9_TAG=${_openj9ver} \
+ OPENJ9OMR_SHA=${_openj9omr_sha} \
+ images legacy-jre-image docs
# https://bugs.openjdk.java.net/browse/JDK-8173610
find "../${_imgdir}" -iname '*.so' -exec chmod +x {} \;
}
+check() {
+ cd ${_jdkdir}
+ # TODO package jtreg
+ # make -k check
+}
+
package_jre-openj9-headless() {
pkgdesc="OpenJDK Java ${_majorver} headless runtime environment"
- depends=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'lcms2' 'libnet' 'freetype2')
+ depends=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'libjpeg.so'
+ 'lcms2' 'liblcms2.so' 'libnet' 'freetype2' 'libfreetype.so' 'harfbuzz' 'libharfbuzz.so'
+ 'glibc' 'gcc-libs')
optdepends=('java-rhino: for some JavaScript support')
provides=("java-runtime-headless=${_majorver}" "java-runtime-headless-openj9=${_majorver}" "jre${_majorver}-openj9-headless=${pkgver}-${pkgrel}")
backup=(etc/${pkgbase}/logging.properties
@@ -186,7 +219,8 @@ package_jre-openj9-headless() {
package_jre-openj9() {
pkgdesc="OpenJDK Java ${_majorver} full runtime environment"
- depends=("jre${_majorver}-openj9-headless=${pkgver}-${pkgrel}" 'giflib')
+ depends=("jre${_majorver}-openj9-headless=${pkgver}-${pkgrel}" 'giflib' 'libgif.so'
+ 'glibc' 'gcc-libs' 'libpng')
optdepends=('alsa-lib: for basic sound support'
'gtk2: for the Gtk+ 2 look and feel - desktop usage'
'gtk3: for the Gtk+ 3 look and feel - desktop usage')
@@ -208,7 +242,8 @@ package_jre-openj9() {
package_jdk-openj9() {
pkgdesc="OpenJDK Java ${_majorver} development kit"
- depends=("jre${_majorver}-openj9=${pkgver}-${pkgrel}" 'java-environment-common=3' 'hicolor-icon-theme' 'libelf')
+ depends=("jre${_majorver}-openj9=${pkgver}-${pkgrel}" 'java-environment-common=3'
+ 'hicolor-icon-theme' 'libelf' 'glibc' 'gcc-libs')
provides=("java-environment=${_majorver}" "java-environment-openj9=${_majorver}" "jdk${_majorver}-openj9=${pkgver}-${pkgrel}")
install=install_jdk-openj9.sh
@@ -216,7 +251,7 @@ package_jdk-openj9() {
install -dm 755 "${pkgdir}${_jvmdir}"
- cp -a bin demo include jmods lib \
+ cp -a bin include jmods lib \
"${pkgdir}${_jvmdir}"
rm "${pkgdir}${_jvmdir}/lib/src.zip"
@@ -267,7 +302,7 @@ package_openj9-src() {
pkgdesc="OpenJDK Java ${_majorver} sources"
# Depends on JDK to get license files
depends=("jdk${_majorver}-openj9=${pkgver}-${pkgrel}")
- provides=("openj9${_majorver}-src=${pkgver}-${pkgrel}")
+ provides=("openj9-${_majorver}-src=${pkgver}-${pkgrel}")
install -Dm 644 -t "${pkgdir}${_jvmdir}/lib" ${_imgdir}/jdk/lib/src.zip
@@ -279,7 +314,7 @@ package_openj9-doc() {
pkgdesc="OpenJDK Java ${_majorver} documentation"
# Depends on JDK to get license files
depends=("jdk${_majorver}-openj9=${pkgver}-${pkgrel}")
- provides=("openj9${_majorver}-doc=${pkgver}-${pkgrel}")
+ provides=("openj9-${_majorver}-doc=${pkgver}-${pkgrel}")
install -dm 755 "${pkgdir}/usr/share/doc"
cp -r ${_imgdir}/docs "${pkgdir}/usr/share/doc/${pkgbase}"