summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorYour Name2021-11-13 13:26:33 +0800
committerYour Name2021-11-13 13:26:33 +0800
commita0b94a83159a21becb92ef6f665cef6aa70a6502 (patch)
tree594d4df21a41bbff28546481cb2418b5fc22e867 /PKGBUILD
parentf93d49fcdd5507b01aa8db6c9cade13845ca985d (diff)
downloadaur-a0b94a83159a21becb92ef6f665cef6aa70a6502.tar.gz
Update b1751.19 & Bundle JCEF
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD99
1 files changed, 46 insertions, 53 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 64e3a1574ab..46b47526848 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,9 @@
# Contributer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributer: Guillaume ALAUX <guillaume@archlinux.org>
+# Contributer: Github user RikudouPatrickstar
# This PKGBUILD is directly modified from community/java11-openjdk
+# Methods to build JBR with JCEF support is from https://github.com/RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64/blob/master/.github/workflows/jbr-linux-x64.yml
# TODO add test, see about packaging jtreg and using it here
# TODO see about building with OpenJDK10
@@ -15,29 +17,32 @@
pkgbase=java11-jetbrains-imfix
_pkgbase=java11-jetbrains
-pkgname=('jre11-jetbrains-headless-imfix' 'jre11-jetbrains-imfix' 'jdk11-jetbrains-imfix')
+pkgname=('jre11-jetbrains-imfix' 'jdk11-jetbrains-imfix')
_majorver=11
-_ver=11.0.11
-_hgver=11_0_11
-_updatever=9
-_jbver1=1504
-_jbver2=5
+_ver=11.0.13
+_hgver=11_0_13
+_updatever=8
+_jbver1=1751
+_jbver2=19
pkgrel=1
pkgver=${_ver}.b${_jbver1}.${_jbver2}
-_hg_tag=jb${_hgver}-b${_jbver1}.${_jbver2}
+_hg_tag=jbr${_hgver}b${_jbver1}.${_jbver2}
+_jcef_commit=e6e5235
arch=('x86_64')
url='https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime'
license=('custom')
-makedepends=('java-environment>=10' 'java-environment<12' 'cpio' 'unzip' 'zip' 'libelf' 'libcups' 'libx11'
+makedepends=('java-environment>=11' 'java-environment<12' 'cpio' 'unzip' 'zip' 'libelf' 'libcups' 'libx11'
'libxrender' 'libxtst' 'libxt' 'libxext' 'libxrandr' 'alsa-lib' 'pandoc'
'graphviz' 'freetype2' 'libjpeg-turbo' 'giflib' 'libpng' 'lcms2'
- 'libnet' 'bash')
-source=(https://github.com/JetBrains/JetBrainsRuntime/archive/${_hg_tag}.tar.gz
+ 'libnet' 'bash' 'ant' 'git' 'rsync')
+source=(git+https://github.com/JetBrains/JetBrainsRuntime.git#tag=$_hg_tag
+ git+https://github.com/JetBrains/jcef.git#commit=$_jcef_commit
https://github.com/prehonor/myJetBrainsRuntime/raw/master/idea.patch
freedesktop-java.desktop
freedesktop-jconsole.desktop
freedesktop-jshell.desktop)
-sha256sums=('df5c8a73ee2050fac0e882868b86ac65de1e842c276bc66cffa10acba286ea8b'
+sha256sums=('SKIP'
+ 'SKIP'
'ceb149421aeceb286143a9c9979f3b9ce9fc9b161dfda1e20d41352c5e4741c4'
'915bd0722e897fd811bb0d77829528017ecdfd703880454bc690018ee54e44b6'
'3f072ef4d1f59e1188d4b36ff83378c67b9f77db532b4f5cbaeb57cd37620f07'
@@ -49,17 +54,25 @@ case "${CARCH}" in
esac
_jvmdir=/usr/lib/jvm/java-${_majorver}-jetbrains
-_jdkdir=JetBrainsRuntime-${_hg_tag}
+_jdkdir=JetBrainsRuntime
_imgdir=${_jdkdir}/build/linux-${_JARCH}-normal-server-release/images
-_nonheadless=(lib/libawt_xawt.{so,debuginfo}
- lib/libjawt.{so,debuginfo}
- lib/libjsound.{so,debuginfo}
- lib/libsplashscreen.{so,debuginfo})
-
build() {
- cd ${_jdkdir}
+ # build jcef
+ cd $srcdir/jcef
+ sed -i "s/4.46/5.4/g" tools/buildtools/download_from_google_storage.py
+ mkdir jcef_build && cd jcef_build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ make
+ cd ../jb/tools/linux
+ JDK_11=/usr/lib/jvm/$(ls /usr/lib/jvm | grep 11 | head -n 1) ./build.sh all
+
+ # build jbr
+ cd $srcdir/${_jdkdir}
+
+ # Include jcef
+ git apply -p0 < jb/project/tools/patches/add_jcef_module.patch
# Fix im cursor follow
patch -Np1 -i ${srcdir}/idea.patch
@@ -108,7 +121,8 @@ build() {
--with-jvm-features=zgc \
--enable-unlimited-crypto \
--disable-warnings-as-errors \
- ${NUM_PROC_OPT}
+ ${NUM_PROC_OPT} \
+ --with-import-modules=$srcdir/jcef/out/linux64/modular-sdk
#--disable-javac-server
make images legacy-jre-image
@@ -123,12 +137,16 @@ check() {
# make -k check
}
-package_jre11-jetbrains-headless-imfix() {
- pkgdesc="JetBrains Java ${_majorver} headless runtime environment (With patch that allows the IME window follow the cursor)"
- depends=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'lcms2' 'libnet' 'freetype2')
- optdepends=('java-rhino: for some JavaScript support')
- provides=("java-runtime-headless=${_majorver}" "java-runtime-headless-jetbrains=${_majorver}" "jre${_majorver}-jetbrains-headless=${pkgver}-${pkgrel}")
- _pkgname="jre11-jetbrains-headless"
+package_jre11-jetbrains-imfix() {
+ pkgdesc="JetBrains Java ${_majorver} full runtime environment (With patch that allows the IME window follow the cursor)"
+ depends=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'lcms2' 'libnet' 'freetype2' 'giflib')
+ optdepends=('java-rhino: for some JavaScript support'
+ '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')
+ provides=("java-runtime=${_majorver}" "java-runtime-jetbrains=${_majorver}" "jre${_majorver}-jetbrains=${pkgver}-${pkgrel}")
+ conflicts=("jre11-jetbrains")
+ _pkgname="jre11-jetbrains"
backup=(etc/${_pkgbase}/logging.propertopenjdkies
etc/${_pkgbase}/management/jmxremote.access
etc/${_pkgbase}/management/jmxremote.password.template
@@ -143,7 +161,7 @@ package_jre11-jetbrains-headless-imfix() {
etc/${_pkgbase}/security/policy/unlimited/default_US_export.policy
etc/${_pkgbase}/security/policy/unlimited/default_local.policy
etc/${_pkgbase}/sound.properties)
- install=install_jre-jetbrains-headless.sh
+ install=install_jre-jetbrains.sh
cd ${_imgdir}/jre
@@ -152,9 +170,8 @@ package_jre11-jetbrains-headless-imfix() {
cp -a bin lib \
"${pkgdir}${_jvmdir}"
- for f in "${_nonheadless[@]}"; do
- rm "${pkgdir}${_jvmdir}/${f}"
- done
+ # Include jcef libs
+ rsync -av $srcdir/jcef/jcef_build/native/Release/ ${pkgdir}${_jvmdir}/lib --exclude="modular-sdk"
cp ../jdk/release "${pkgdir}${_jvmdir}"
cp ../jdk/lib/modules "${pkgdir}${_jvmdir}/lib"
@@ -181,30 +198,6 @@ package_jre11-jetbrains-headless-imfix() {
ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/lib/security/cacerts"
}
-package_jre11-jetbrains-imfix() {
- pkgdesc="JetBrains Java ${_majorver} full runtime environment (With patch that allows the IME window follow the cursor)"
- depends=("jre${_majorver}-jetbrains-headless=${pkgver}-${pkgrel}" 'giflib')
- 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')
- provides=("java-runtime=${_majorver}" "java-runtime-jetbrains=${_majorver}" "jre${_majorver}-jetbrains=${pkgver}-${pkgrel}")
- conflicts=("jre11-jetbrains")
- _pkgname="jre11-jetbrains"
- install=install_jre-jetbrains.sh
-
- cd ${_imgdir}/jre
-
- install -dm 755 "${pkgdir}${_jvmdir}"
-
- for f in "${_nonheadless[@]}"; do
- install -Dm 644 ${f} "${pkgdir}${_jvmdir}/${f}"
- done
-
- # Licenses
- install -dm 755 "${pkgdir}/usr/share/licenses"
- ln -s ${_pkgbase} "${pkgdir}/usr/share/licenses/${_pkgname}"
-}
-
package_jdk11-jetbrains-imfix() {
pkgdesc="JetBrains Java ${_majorver} development kit (With patch that allows allow the IME window follow the cursor)"
depends=("jre${_majorver}-jetbrains=${pkgver}-${pkgrel}" 'java-environment-common=3' 'hicolor-icon-theme' 'libelf')