summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO47
-rw-r--r--PKGBUILD99
-rw-r--r--install_jre-jetbrains-headless.sh48
-rw-r--r--install_jre-jetbrains.sh17
4 files changed, 83 insertions, 128 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c7a76b0721f..3579cd46fd8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,10 @@
pkgbase = java11-jetbrains-imfix
- pkgver = 11.0.11.b1504.5
+ pkgver = 11.0.13.b1751.19
pkgrel = 1
url = https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime
arch = x86_64
license = custom
- makedepends = java-environment>=10
+ makedepends = java-environment>=11
makedepends = java-environment<12
makedepends = cpio
makedepends = unzip
@@ -27,20 +27,25 @@ pkgbase = java11-jetbrains-imfix
makedepends = lcms2
makedepends = libnet
makedepends = bash
- source = https://github.com/JetBrains/JetBrainsRuntime/archive/jb11_0_11-b1504.5.tar.gz
+ makedepends = ant
+ makedepends = git
+ makedepends = rsync
+ source = git+https://github.com/JetBrains/JetBrainsRuntime.git#tag=jbr11_0_13b1751.19
+ source = git+https://github.com/JetBrains/jcef.git#commit=e6e5235
source = https://github.com/prehonor/myJetBrainsRuntime/raw/master/idea.patch
source = freedesktop-java.desktop
source = freedesktop-jconsole.desktop
source = freedesktop-jshell.desktop
- sha256sums = df5c8a73ee2050fac0e882868b86ac65de1e842c276bc66cffa10acba286ea8b
+ sha256sums = SKIP
+ sha256sums = SKIP
sha256sums = ceb149421aeceb286143a9c9979f3b9ce9fc9b161dfda1e20d41352c5e4741c4
sha256sums = 915bd0722e897fd811bb0d77829528017ecdfd703880454bc690018ee54e44b6
sha256sums = 3f072ef4d1f59e1188d4b36ff83378c67b9f77db532b4f5cbaeb57cd37620f07
sha256sums = c0c01fcc02dc18ed96ef697b3bedce0e8336b212cb1fcee90b2129987f4ae8ec
-pkgname = jre11-jetbrains-headless-imfix
- pkgdesc = JetBrains Java 11 headless runtime environment (With patch that allows the IME window follow the cursor)
- install = install_jre-jetbrains-headless.sh
+pkgname = jre11-jetbrains-imfix
+ pkgdesc = JetBrains Java 11 full runtime environment (With patch that allows the IME window follow the cursor)
+ install = install_jre-jetbrains.sh
depends = java-runtime-common>=3
depends = ca-certificates-utils
depends = nss
@@ -48,10 +53,15 @@ pkgname = jre11-jetbrains-headless-imfix
depends = lcms2
depends = libnet
depends = freetype2
+ depends = giflib
optdepends = java-rhino: for some JavaScript support
- provides = java-runtime-headless=11
- provides = java-runtime-headless-jetbrains=11
- provides = jre11-jetbrains-headless=11.0.11.b1504.5-1
+ optdepends = alsa-lib: for basic sound support
+ optdepends = gtk2: for the Gtk+ 2 look and feel - desktop usage
+ optdepends = gtk3: for the Gtk+ 3 look and feel - desktop usage
+ provides = java-runtime=11
+ provides = java-runtime-jetbrains=11
+ provides = jre11-jetbrains=11.0.13.b1751.19-1
+ conflicts = jre11-jetbrains
backup = etc/java11-jetbrains/logging.propertopenjdkies
backup = etc/java11-jetbrains/management/jmxremote.access
backup = etc/java11-jetbrains/management/jmxremote.password.template
@@ -67,27 +77,14 @@ pkgname = jre11-jetbrains-headless-imfix
backup = etc/java11-jetbrains/security/policy/unlimited/default_local.policy
backup = etc/java11-jetbrains/sound.properties
-pkgname = jre11-jetbrains-imfix
- pkgdesc = JetBrains Java 11 full runtime environment (With patch that allows the IME window follow the cursor)
- install = install_jre-jetbrains.sh
- depends = jre11-jetbrains-headless=11.0.11.b1504.5-1
- depends = giflib
- optdepends = alsa-lib: for basic sound support
- optdepends = gtk2: for the Gtk+ 2 look and feel - desktop usage
- optdepends = gtk3: for the Gtk+ 3 look and feel - desktop usage
- provides = java-runtime=11
- provides = java-runtime-jetbrains=11
- provides = jre11-jetbrains=11.0.11.b1504.5-1
- conflicts = jre11-jetbrains
-
pkgname = jdk11-jetbrains-imfix
pkgdesc = JetBrains Java 11 development kit (With patch that allows allow the IME window follow the cursor)
install = install_jdk-jetbrains.sh
- depends = jre11-jetbrains=11.0.11.b1504.5-1
+ depends = jre11-jetbrains=11.0.13.b1751.19-1
depends = java-environment-common=3
depends = hicolor-icon-theme
depends = libelf
provides = java-environment=11
provides = java-environment-jetbrains=11
- provides = jdk11-jetbrains=11.0.11.b1504.5-1
+ provides = jdk11-jetbrains=11.0.13.b1751.19-1
conflicts = jdk11-jetbrains
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')
diff --git a/install_jre-jetbrains-headless.sh b/install_jre-jetbrains-headless.sh
deleted file mode 100644
index 425d0620efd..00000000000
--- a/install_jre-jetbrains-headless.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-THIS_JRE='java-11-jetbrains'
-
-fix_default() {
- if [ ! -x /usr/bin/java ]; then
- /usr/bin/archlinux-java unset
- echo ""
- else
- /usr/bin/archlinux-java get
- fi
-}
-
-post_install() {
- default=$(fix_default)
- case ${default} in
- "")
- /usr/bin/archlinux-java set ${THIS_JRE}
- ;;
- ${THIS_JRE})
- # Nothing
- ;;
- *)
- echo "Default Java environment is already set to '${default}'"
- echo "See 'archlinux-java help' to change it"
- ;;
- esac
-
- if [ ! -f /etc/ssl/certs/java/cacerts ]; then
- /usr/bin/update-ca-trust
- fi
-}
-
-post_upgrade() {
- if [ -z "$(fix_default)" ]; then
- /usr/bin/archlinux-java set ${THIS_JRE}
- fi
-
- if [ ! -f /etc/ssl/certs/java/cacerts ]; then
- /usr/bin/update-ca-trust
- fi
-}
-
-pre_remove() {
- default=$(fix_default)
- if [ "x${default}" = "x${THIS_JRE}" ]; then
- /usr/bin/archlinux-java unset
- echo "No Java environment is set as default anymore"
- fi
-}
diff --git a/install_jre-jetbrains.sh b/install_jre-jetbrains.sh
index c278bd2eb58..425d0620efd 100644
--- a/install_jre-jetbrains.sh
+++ b/install_jre-jetbrains.sh
@@ -24,12 +24,25 @@ post_install() {
;;
esac
- echo "when you use a non-reparenting window manager,"
- echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh"
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
}
post_upgrade() {
if [ -z "$(fix_default)" ]; then
/usr/bin/archlinux-java set ${THIS_JRE}
fi
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+pre_remove() {
+ default=$(fix_default)
+ if [ "x${default}" = "x${THIS_JRE}" ]; then
+ /usr/bin/archlinux-java unset
+ echo "No Java environment is set as default anymore"
+ fi
}