Package Details: pycharm-professional 2024.3-1

Git Clone URL: https://aur.archlinux.org/pycharm-professional.git (read-only, click to copy)
Package Base: pycharm-professional
Description: Python IDE for Professional Developers. Professional Edition
Upstream URL: https://www.jetbrains.com/pycharm/
Keywords: development editor ide jetbrains python
Licenses: custom
Submitter: hippojazz
Maintainer: Xavier (37h4n)
Last Packager: Xavier
Votes: 289
Popularity: 0.97
First Submitted: 2013-09-25 03:56 (UTC)
Last Updated: 2024-11-14 03:02 (UTC)

Dependencies (19)

Required by (0)

Sources (4)

Pinned Comments

Latest Comments

« First ‹ Previous 1 .. 7 8 9 10 11 12 13 14 15 16 17 .. 44 Next › Last »

Xavier commented on 2021-12-15 01:22 (UTC) (edited on 2021-12-15 01:38 (UTC) by Xavier)

@MikeBreytenbach and @nadavz, it is weird that Pycharm requires a 32bits lib I want to check that with more details, personally I don't like adding a 32bit lib as a depend mostly when Archlinux is officially only a 64bit distro.

@huyz and @MikeBreytenbach, The idea to split the bundled java runtime could work but it depends that both packages always being released at the same time, there could be different problems e.g. the other Jetbrain software have a different release time, the others maintainers of those packages must agree to have a separate bundle JRE, pycharm-professional-jre is not a good name for that, etc.

MikeBreytenbach commented on 2021-12-14 16:24 (UTC)

@huyz: Thank you. It looks like a lot of Jetbrains apps use the same Jetbrains JRE. I plan to add it as a separate AUR package and then list it as an optional dependency.

@solnce: Fixed, thanks.

solnce commented on 2021-12-14 15:35 (UTC) (edited on 2021-12-14 15:35 (UTC) by solnce)

The new dependency lib32-gcc-libs is missing from the .SRCINFO.

huyz commented on 2021-12-10 11:07 (UTC) (edited on 2021-12-10 11:21 (UTC) by huyz)

Feature request: Could you pack the bundled java runtime into a split package pycharm-professional-jre, just like other Jetbrains IDEs (e.g. datagrip, goland, idea, etc) in AUR.

This can save some disk space for user who uses custom java runtime.

Here's a modified PKGBUILD to pack this:

diff --git a/PKGBUILD b/PKGBUILD
index a498dbc..7e01665 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,18 +1,14 @@
 # Maintainer: MikeBreytenbach <mike.breyten.bach at gmail dot com>
 # Maintainer: XavierCLL <xavier.corredor.llano (a) gmail.com>

-pkgname=pycharm-professional
+pkgbase=pycharm-professional
+pkgname=(pycharm-professional pycharm-professional-jre)
 pkgver=2021.3
 pkgrel=1
 pkgdesc="Python IDE for Professional Developers. Professional Edition"
 arch=('x86_64')
 url='https://www.jetbrains.com/pycharm/'
-conflicts=('pycharm' 'pycharm-community-edition')
-provides=('pycharm')
 license=('custom')
-backup=("opt/$pkgname/bin/pycharm64.vmoptions"
-        "opt/$pkgname/bin/idea.properties")
-depends=('giflib' 'glibc' 'sh' 'libxtst' 'libxslt' 'libxss' 'nss' 'python' 'libdbusmenu-glib')
 source=("https://download.jetbrains.com/python/$pkgname-$pkgver.tar.gz"
         "pycharm-professional.desktop"
         "charm.desktop"
@@ -22,17 +18,6 @@ sha256sums=('81426f86e1b3de0bd00488e037e9fdcaab4772f1f259ff551ac904d35fb4cd7c'
             '6996b38a3c2ba1e472838d7046a4c54a27822fd647be9ca590457e8c6a2d50c8'
             '039f0d1dc447fb26bb9df35b3a85145a47ce42193c8b2d56bf7bdf090fff0da9')
 makedepends=('python-setuptools' 'cython' 'lib32-gcc-libs')
-optdepends=('ipython: For enhanced interactive Python shell inside Pycharm'
-            'openssh: For deployment and remote connections'
-            'python-setuptools: Packages manager for Python, for project interpreter'
-            'python-coverage: For support code coverage measurement'
-            'cython: For performance debugger'
-            'docker-machine: For support docker inside Pycharm'
-            'docker-compose: For support docker inside Pycharm'
-            'vagrant: For support virtualized development environments'
-            'python-pytest: For support testing inside Pycharm'
-            'python-tox: Python environments for testing tool'
-            'jupyter: For support Jupyter Notebook')

 build() {
     # clean up and compile PyDev debugger used by PyCharm to speedup debugging
@@ -46,7 +31,26 @@ build() {
     rm -r pycharm-${pkgver}/lib/pty4j-native/linux/{mips64el,ppc64le,aarch64,arm,x86}
 }

-package() {
+package_pycharm-professional() {
+    depends=('giflib' 'glibc' 'sh' 'libxtst' 'libxslt' 'libxss' 'nss' 'python' 'libdbusmenu-glib')
+    optdepends=('pycharm-professional-jre: JetBrains custom JRE (Recommended)'
+            'java-environment: Required if pycharm-professional-jre is not installed'
+            'ipython: For enhanced interactive Python shell inside Pycharm'
+            'openssh: For deployment and remote connections'
+            'python-setuptools: Packages manager for Python, for project interpreter'
+            'python-coverage: For support code coverage measurement'
+            'cython: For performance debugger'
+            'docker-machine: For support docker inside Pycharm'
+            'docker-compose: For support docker inside Pycharm'
+            'vagrant: For support virtualized development environments'
+            'python-pytest: For support testing inside Pycharm'
+            'python-tox: Python environments for testing tool'
+            'jupyter: For support Jupyter Notebook')
+    conflicts=('pycharm' 'pycharm-community-edition')
+    provides=('pycharm')
+    backup=("opt/$pkgname/bin/pycharm64.vmoptions"
+        "opt/$pkgname/bin/idea.properties")
+
     # licenses
     install -dm 755 "$pkgdir/usr/share/licenses/$pkgname/"
     mv "pycharm-$pkgver/license/"* "$pkgdir/usr/share/licenses/$pkgname/"
@@ -54,6 +58,7 @@ package() {
     # base
     install -dm 755 "$pkgdir/opt/$pkgname"
     mv "pycharm-$pkgver/"* "$pkgdir/opt/$pkgname/"
+    mv "$pkgdir/opt/$pkgname/jbr" "pycharm-$pkgver/"
     install -dm 755 "$pkgdir/usr/share/applications"
     install -Dm 644 "$pkgname.desktop" "$pkgdir/usr/share/applications/"
     install -dm 755 "$pkgdir/usr/share/icons/hicolor/"{128x128,scalable}"/apps/"
@@ -68,3 +73,8 @@ package() {
     install -Dm 755 charm "$pkgdir/usr/bin/"
     install -Dm 644 charm.desktop "$pkgdir/usr/share/applications/"
 }
+
+package_pycharm-professional-jre() {
+    install -dm 755 "$pkgdir/opt/$pkgname"
+    mv "pycharm-$pkgver/jbr" "$pkgdir/opt/$pkgname/"
+}

nadavz commented on 2021-12-06 06:59 (UTC)

@MikeBreytenbach thanks, installing lib32-gcc-libs did solve the issue. It appears that it might be a missing make dependency.

MikeBreytenbach commented on 2021-12-05 19:05 (UTC)

Thanks @donny and @XavierCLL. Is it possible that gcc-libs is not enough and that PyCharm also needs the 32 bit version to build?

donny commented on 2021-12-05 16:59 (UTC)

@XavierCLL: gcc-libs is a required dependecy of both base meta-package and gcc package from the base-devel package group. If anyone is missing base or base-devel on his arch machine, it's the user's fault and shloudn't be corrected in the PKGBUILD.

Xavier commented on 2021-12-05 14:40 (UTC)

@nadavz the error is because you need gcc-libs in the system, Mike maybe we need to add that package in the makedepends list

MikeBreytenbach commented on 2021-12-05 13:11 (UTC)

@nadavz thank you for telling us. Please try (re)installing lib32-gcc-libs. If that does not work try "pacman -S --needed base-devel".

nadavz commented on 2021-12-05 08:36 (UTC)

For me it failed with:

[1/1] Cythonizing _pydevd_bundle/pydevd_cython.pyx
running build_ext
building '_pydevd_bundle.pydevd_cython' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/_pydevd_bundle
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -I/usr/include/python3.9 -c _pydevd_bundle/pydevd_cython.c -o build/temp.linux-x86_64-3.9/_pydevd_bundle/pydevd_cython.o
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/_pydevd_bundle
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection build/temp.linux-x86_64-3.9/_pydevd_bundle/pydevd_cython.o -L/usr/lib -o build/lib.linux-x86_64-3.9/_pydevd_bundle/pydevd_cython.cpython-39-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.9/_pydevd_bundle/pydevd_cython.cpython-39-x86_64-linux-gnu.so -> _pydevd_bundle
[1/1] Cythonizing _pydevd_frame_eval/pydevd_frame_evaluator_common.pyx
running build_ext
building '_pydevd_frame_eval.pydevd_frame_evaluator_common' extension
creating build/temp.linux-x86_64-3.9/_pydevd_frame_eval
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -I_pydevd_frame_eval -I/usr/include/python3.9 -c _pydevd_frame_eval/pydevd_frame_evaluator_common.c -o build/temp.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_common.o
In file included from /usr/include/python3.9/internal/pycore_interp.h:13,
                 from _pydevd_frame_eval/internal_pycore.h:7,
                 from _pydevd_frame_eval/pydevd_frame_evaluator_common.c:640:
/usr/include/python3.9/internal/pycore_gc.h:61: warning: "_PyGC_FINALIZED" redefined
   61 | #define _PyGC_FINALIZED(o) \
      |
In file included from /usr/include/python3.9/objimpl.h:208,
                 from /usr/include/python3.9/Python.h:85,
                 from _pydevd_frame_eval/pydevd_frame_evaluator_common.c:25:
/usr/include/python3.9/cpython/objimpl.h:131: note: this is the location of the previous definition
  131 | #  define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o)
      |
creating build/lib.linux-x86_64-3.9/_pydevd_frame_eval
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection build/temp.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_common.o -L/usr/lib -o build/lib.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_common.cpython-39-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_common.cpython-39-x86_64-linux-gnu.so -> _pydevd_frame_eval
[1/1] Cythonizing _pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.pyx
running build_ext
building '_pydevd_frame_eval.pydevd_frame_evaluator_py39_and_above' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -I_pydevd_frame_eval -I./_pydevd_frame_eval -I/usr/include/python3.9 -c _pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.c -o build/temp.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.o
In file included from /usr/include/python3.9/internal/pycore_interp.h:13,
                 from _pydevd_frame_eval/internal_pycore.h:7,
                 from _pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.c:641:
/usr/include/python3.9/internal/pycore_gc.h:61: warning: "_PyGC_FINALIZED" redefined
   61 | #define _PyGC_FINALIZED(o) \
      |
In file included from /usr/include/python3.9/objimpl.h:208,
                 from /usr/include/python3.9/Python.h:85,
                 from _pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.c:26:
/usr/include/python3.9/cpython/objimpl.h:131: note: this is the location of the previous definition
  131 | #  define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o)
      |
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection build/temp.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.o -L/usr/lib -o build/lib.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.cpython-39-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.9/_pydevd_frame_eval/pydevd_frame_evaluator_py39_and_above.cpython-39-x86_64-linux-gnu.so -> _pydevd_frame_eval
Compiled amd64
Note: may need sudo apt-get install libx32gcc-4.8-dev and sudo apt-get install libc6-dev-i386 and sudo apt-get install g++-multilib to compile 32 bits
In file included from /usr/include/features.h:497,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from attach.cpp:7:
/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or directory
    7 | # include <gnu/stubs-32.h>
      |           ^~~~~~~~~~~~~~~~
compilation terminated.
mv: cannot stat 'attach_linux_x86.so': No such file or directory

I then installed core/lib32-glibc which provides /usr/include/gnu/stubs-32.h, but then I got

<SNIP>
Compiled amd64
Note: may need sudo apt-get install libx32gcc-4.8-dev and sudo apt-get install libc6-dev-i386 and sudo apt-get install g++-multilib to compile 32 bits
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: cannot find libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
collect2: error: ld returned 1 exit status
mv: cannot stat 'attach_linux_x86.so': No such file or directory
Compiled x86

I'm not in a virtualenv shell.