In case there are still plans to add aarch64 compatibility here are my changes for aarch64 including jbr. Tested in a VM on Mac M1 with parallels.
diff --git a/PKGBUILD b/PKGBUILD
index 928f609..d7894ba 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,10 +5,12 @@
pkgname=pycharm-professional
pkgver=2022.2
pkgrel=1
+jbr_ver=17.0.3
+jbr_build=aarch64-b469.37
pkgdesc="Python IDE for Professional Developers. Professional Edition"
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
url='https://www.jetbrains.com/pycharm/'
-conflicts=('pycharm' 'pycharm-community-edition')
+conflicts=('pycharm' 'pycharm-community-edition' 'pycharm-community-jre-aarch64')
provides=('pycharm')
license=('custom')
backup=("opt/$pkgname/bin/pycharm64.vmoptions"
@@ -18,10 +20,14 @@ source=("https://download.jetbrains.com/python/$pkgname-$pkgver.tar.gz"
"pycharm-professional.desktop"
"charm.desktop"
"charm")
+source_aarch64=("https://cache-redirector.jetbrains.com/intellij-jbr/jbr-$jbr_ver-linux-$jbr_build.tar.gz"
+ "https://github.com/JetBrains/intellij-community/raw/master/bin/linux/aarch64/fsnotifier")
sha256sums=('aace8bbd52c0ac17cbcb9ae6b7afcd7f3b7a5475facaaa6b271d47323611d6f5'
'a75264959b06a45ea0801729bc1688bfbd52da3c5fbf3d5b1ad9267860439291'
'6996b38a3c2ba1e472838d7046a4c54a27822fd647be9ca590457e8c6a2d50c8'
'c01a62a9a17a018f645e7301fd98b98dec77e682f1d0cd908b850e8be03830e0')
+sha256sums_aarch64=('737242bdd6795a14897ff97bb0bb8d99e7a1a5878a6d2f942712147b20312320'
+ 'eb3c61973d34f051dcd3a9ae628a6ee37cd2b24a1394673bb28421a6f39dae29')
makedepends=('python-setuptools' 'cython')
optdepends=('ipython: For enhanced interactive Python shell inside Pycharm'
'openssh: For deployment and remote connections'
@@ -34,28 +40,49 @@ optdepends=('ipython: For enhanced interactive Python shell inside Pycharm'
'python-pytest: For support testing inside Pycharm'
'python-tox: Python environments for testing tool'
'jupyter-server: For Jupyter notebooks and apps')
-
+
build() {
# clean up and compile PyDev debugger used by PyCharm to speedup debugging
find pycharm-${pkgver}/plugins/python/helpers/pydev/ \( -name *.so -o -name *.pyd \) -delete
sed -i '1s/^/# cython: language_level=3\n/' pycharm-${pkgver}/plugins/python/helpers/pydev/_pydevd_bundle/pydevd_cython.pxd
python pycharm-${pkgver}/plugins/python/helpers/pydev/setup_cython.py build_ext --inplace --force-cython
-
+
# for attach debugger
pushd pycharm-${pkgver}/plugins/python/helpers/pydev/pydevd_attach_to_process/linux_and_mac
- g++ -m64 -shared -o ../attach_linux_amd64.so -fPIC -nostartfiles attach.cpp
+
+ if [ "${CARCH}" == "aarch64" ]; then
+ g++ -march=armv8-a+crypto -shared -o ../attach_linux_amd64.so -fPIC -nostartfiles attach.cpp
+ else
+ g++ -m64 -shared -o ../attach_linux_amd64.so -fPIC -nostartfiles attach.cpp
+ fi
+
popd
rm -rf pycharm-${pkgver}/plugins/python/helpers/pydev/build/
find pycharm-${pkgver}/plugins/python/helpers/pydev/ -name __pycache__ -exec rm -rf {} \;
- rm -r pycharm-${pkgver}/lib/pty4j-native/linux/{mips64el,ppc64le,aarch64,arm,x86}
+
+ if [ "${CARCH}" == "aarch64" ]; then
+ rm -r pycharm-${pkgver}/lib/pty4j-native/linux/{mips64el,ppc64le,arm,x86,x86-64}
+ else
+ rm -r pycharm-${pkgver}/lib/pty4j-native/linux/{mips64el,ppc64le,aarch64,arm,x86}
+ fi
}
package() {
# licenses
install -dm 755 "$pkgdir/usr/share/licenses/$pkgname/"
mv "pycharm-$pkgver/license/"* "$pkgdir/usr/share/licenses/$pkgname/"
-
+
+ # https://youtrack.jetbrains.com/articles/IDEA-A-48/JetBrains-IDEs-on-AArch64#linux
+ if [ "${CARCH}" == "aarch64" ]; then
+ cd "pycharm-$pkgver"
+ rm -rf jbr/*
+ cp -r ../jbr-$jbr_ver*/* jbr
+ cp ../fsnotifier bin/
+ chmod +x bin/fsnotifier
+ cd -
+ fi
+
# base
install -dm 755 "$pkgdir/opt/$pkgname"
mv "pycharm-$pkgver/"* "$pkgdir/opt/$pkgname/"
Pinned Comments
Meaulnes commented on 2026-03-27 16:37 (UTC)
This comment from @AvacadoCookie should be pinned, IMO.
If anyone is getting errors about
Cythonorsetuptools, and they are usingConda, that comment has the answer.If anyone is getting errors about
Cythonorsetuptools, and they are usingpyenv, there are 2 possible ways to fix it:pyenv local systemto set Python back to the system installed Python for this session.pip install Cython setuptoolsto install the necessary packages to your preferred python installation.AvocadoCookie commented on 2025-12-14 16:22 (UTC)
For all users with
ModuleNotFoundError: No module named 'Cython'or'setuptools'reported, please try the following methods to address the problem:condaenvironment. Now afterwhich pythontyped in console, the output should be/usr/bin/python.pacman -S cython python-setuptools.