Bug 242705

Summary: [NEW PORT] devel/pycharm-pro: PyCharm Professional (Python IDE)
Product: Ports & Packages Reporter: Guido Kollerie <guido>
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Only Me CC: guido, pi, python
Priority: --- Keywords: feature
Version: LatestFlags: koobs: maintainer-feedback+
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212268
Attachments:
Description Flags
PyCharm Professional port as a shell archive
none
PyCharm Professional port (update to: 2019.3.1 + RESTRICTED)
none
PyCharm Professional port (update to 2020.1.2)
none
PyCharm Professional port (update to 2020.1.2)
none
PyCharm Professional port (update to 2020.1.3) none

Description Guido Kollerie 2019-12-18 13:38:22 UTC
Created attachment 210033 [details]
PyCharm Professional port as a shell archive

There already is a port of PyCharm, namely devel/pycharm-ce. However that concerns the Community Edition. This port concerns the Professional Edition that includes many more tools for, among others, Python web frameworks, database tools, etc.

The Makefile is largely copied over from devel/pycharm-ce. The licensing part has been changed to match that of java/intellij-ultimate (another Jetbrains commercial product).

I've been using this new port extensively for over a week. Found only one issue that was easily solved by setting a custom property in PyCharm itself. This has been documented in pkg-message.in
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-20 05:06:18 UTC
Thank you Guido

Is the license for pycharm pro appropriate for ports, and/or packages?
Comment 2 Guido Kollerie 2019-12-20 07:06:19 UTC
(In reply to Kubilay Kocak from comment #1)

Good question. I had assumed so given the fact java/intellij-ultimate falls into the exact same category (same company, same product family) and I had copied the licensing bits from that port (originally submitted as bug #212268)

However, actually reading the license it seems redistribution is prohibited unless we have got written permission:

Hence I'll do the following:

- Later today I will update the port with the RESTRICTED flag set so that it can be committed to the ports tree. That way FreeBSD users will at least have a means to install this software.

- I'll contact Jetbrains in an effort to obtain written permission for redistribution. Should I get that I'll submit a new bug with with an update to this port.

Note: there might be an issue with devel/intellij-ultimate, it not being RESTRICTED where I now think it should be. Should I create a bug report for that?
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-20 09:05:55 UTC
(In reply to Guido Kollerie from comment #2)

Thanks for the feedback Guido. RESTRICTED sounds good for now, and I'd attach any permission obtained as an attachment on this bug, which you may re-open at any time (even after initial commit) to remove RESTRICTED.

You may alternatively, create a new issue adding this ones ID in its "See Also" field

While pending an updated patch, could you also confirm the port passes QA (portlint, poudriere in particular). Instructions and details are here: https://www.freebsd.org/doc/en/books/porters-handbook/testing.html
Comment 4 Guido Kollerie 2020-01-03 18:44:28 UTC
Created attachment 210421 [details]
PyCharm Professional port (update to: 2019.3.1 + RESTRICTED)

- Updated the initial port from version 2019.3 to 2019.3.1.
- Made the port RESTRICTED to comply with Jetbrains' license.
- Fixed plist issue brought to light by `poudriere testport`
Comment 5 Guido Kollerie 2020-01-03 18:52:50 UTC
(In reply to Kubilay Kocak from comment #3)

Thank you for the pointer to poudriere. It revealed a small plist issue that is now fixed. Portlint is also happy.

While I was at it I updated the port to the latest patch level version of PyCharm.

I have got some initial feedback from Jetbrains regarding licensing and packaging. No approval as of yet. They first require more info from me regarding FreeBSD packaging and download statistics, how the port/package will be maintained, etc. Hence for now I'll keep this port with the RESTRICTED flag set.

Will update this issue should I get an approval or a rejection.
Comment 6 Guido Kollerie 2020-01-06 13:34:54 UTC
(In reply to Guido Kollerie from comment #5)

For what it is worth. The port, in its current RESTRICTED form, is good to go.
Comment 7 Guido Kollerie 2020-01-17 08:49:44 UTC
Is there anything else I need to do before this port is accepted into the ports tree?
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-17 09:10:51 UTC
@Guido Just a committer to self-assign and land it. Thank you for the updated patch and QA
Comment 9 Guido Kollerie 2020-07-07 13:35:25 UTC
Created attachment 216293 [details]
PyCharm Professional port (update to 2020.1.2)

Updated the port to version 2020.1.2
Comment 10 Guido Kollerie 2020-07-09 06:15:57 UTC
Created attachment 216335 [details]
PyCharm Professional port (update to 2020.1.2)

Updated pkg-message about plugins depending on OpenJFX for which FreeBSD does not yet provide a port when using JDK11
Comment 11 Guido Kollerie 2020-07-11 15:18:24 UTC
Created attachment 216380 [details]
PyCharm Professional port (update to 2020.1.3)

Update from 2020.1.2 to 2020.1.3
Comment 12 Kurt Jaeger freebsd_committer freebsd_triage 2020-07-11 15:51:41 UTC
testbuild@work
Comment 13 Kurt Jaeger freebsd_committer freebsd_triage 2020-07-11 20:29:34 UTC
Committed, thanks -- and please excuse the long delay.
Comment 14 commit-hook freebsd_committer freebsd_triage 2020-07-11 20:29:43 UTC
A commit references this bug:

Author: pi
Date: Sat Jul 11 20:29:31 UTC 2020
New revision: 542050
URL: https://svnweb.freebsd.org/changeset/ports/542050

Log:
  New port: devel/pycharm-pro, PyCharm Professional (Python IDE)

  PyCharm Professional is an advanced IDE developed by JetBrains and focused on
  developer productivity. PyCharm provides smart code completion, code
  inspections, on-the-fly error highlighting and quick-fixes, along with
  automated code refactorings and rich navigation capabilities.

  In addition to the features provided by the Community Edition, PyCharm
  Professional has scientific, database & SQL tools, support for web development,
  Python web development frameworks, the Python profiler and remote development.

  WWW: https://www.jetbrains.com/pycharm/

  PR:		242705
  Submitted by:	Guido Kollerie <guido@kollerie.com>
  Reviewed by:	koobs

Changes:
  head/devel/Makefile
  head/devel/pycharm-pro/
  head/devel/pycharm-pro/Makefile
  head/devel/pycharm-pro/distinfo
  head/devel/pycharm-pro/files/pkg-message.in
  head/devel/pycharm-pro/files/pycharm-ce.desktop.in
  head/devel/pycharm-pro/files/pycharm-pro.desktop.in
  head/devel/pycharm-pro/pkg-descr
  head/devel/pycharm-pro/pkg-plist