-
-
Notifications
You must be signed in to change notification settings - Fork 18.3k
jetbrains: rename pycharm-professional to pycharm, prepare community deprecation #412971
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c73953c
bcd94e0
6de8e57
b7f8a68
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,20 @@ | ||
| let | ||
| # `ides.json` is handwritten and contains information that doesn't change across updates, like maintainers and other metadata | ||
| # `versions.json` contains everything generated/needed by the update script version numbers, build numbers and tarball hashes | ||
|
|
||
| # TODOs for ./bin/ides.json: | ||
| # - pycharm-community can be removed once pycharm-src is available. | ||
| # - pycharm MAYBE can be set to `isOpenSource = true` once we know how to build it. | ||
| # - It is however unlikely that the bin version provided by Jetbrains is ACTUALLY open source. As of now it contains propreitary bundled plugins | ||
| # at least. Instead we probably need to keep it as `isOpenSource = false` but change the build so that all source builds are always asumed to be OSS. | ||
| ideInfo = builtins.fromJSON (builtins.readFile ./bin/ides.json); | ||
| # TODOs for ./bin/versions.json: | ||
| # - pycharm-community can be removed once pycharm-src is available. | ||
| versions = builtins.fromJSON (builtins.readFile ./bin/versions.json); | ||
| in | ||
|
|
||
| { | ||
| config, | ||
| lib, | ||
| stdenv, | ||
| callPackage, | ||
|
|
@@ -155,6 +164,20 @@ let | |
| } | ||
| ); | ||
|
|
||
| # TODO: These should be moved down again once we throw instead of warn in the deprecated aliases | ||
|
|
||
| pycharm-bin = buildPycharm { | ||
| pname = "pycharm"; | ||
| extraBuildInputs = [ musl ]; | ||
| }; | ||
| # TODO: To be defined once Jetbrains provides PyCharm source builds. | ||
| #pycharm-src = buildPycharm { | ||
| # pname = "pycharm"; | ||
| # extraBuildInputs = [ musl ]; | ||
| # fromSource = true; | ||
| #}; | ||
| # TODO - see above, should then be: pycharm = if stdenv.hostPlatform.isDarwin then pycharm-bin else pycharm-src; | ||
| pycharm = pycharm-bin; | ||
| in | ||
| rec { | ||
| # Sorted alphabetically | ||
|
|
@@ -304,21 +327,28 @@ rec { | |
| ]; | ||
| }; | ||
|
|
||
| pycharm-community-bin = buildPycharm { pname = "pycharm-community"; }; | ||
| inherit pycharm pycharm-bin; # TODO: Add pycharm-src once Jetbrains provides way to build PyCharm from source. | ||
|
|
||
| pycharm-community-src = buildPycharm { | ||
| pname = "pycharm-community"; | ||
| fromSource = true; | ||
| }; | ||
| # TODO: Replace with alias (see bottom) once pycharm-src is available. | ||
| pycharm-community-bin = | ||
| lib.warnOnInstantiate | ||
| "PyCharm has been unified into a single product and PyCharm Community has been discontinued. This package will be replaced with jetbrains.pycharm-bin soon, once Jetbrains provides a way to build PyCharm from source. Until then updates may not be provided and plugins from nixpkgs may not work. You can use `jetbrains.pycharm-bin` in the meantime." | ||
| (buildPycharm { | ||
| pname = "pycharm-community"; | ||
| }); | ||
|
|
||
| # TODO: Replace with alias (see bottom) once pycharm-src is available. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this TODO comment implying there is no way for a user to "resolve" the warning on their end? (At least, without switching to the If so, I would hold off on adding the warning until we can add an alias, then use the alias itself as the trigger for the warning. Unless it is possible that Note: that |
||
| pycharm-community-src = | ||
| lib.warnOnInstantiate | ||
| "PyCharm has been unified into a single product and PyCharm Community has been discontinued. This package will be replaced with jetbrains.pycharm-src soon, once Jetbrains provides a way to build PyCharm from source. Until then updates may not be provided and plugins from nixpkgs may not work. You can use `jetbrains.pycharm-bin` in the meantime." | ||
| (buildPycharm { | ||
| pname = "pycharm-community"; | ||
| fromSource = true; | ||
| }); | ||
|
|
||
| pycharm-community = | ||
| if stdenv.hostPlatform.isDarwin then pycharm-community-bin else pycharm-community-src; | ||
|
|
||
| pycharm-professional = buildPycharm { | ||
| pname = "pycharm-professional"; | ||
| extraBuildInputs = [ musl ]; | ||
| }; | ||
|
|
||
| rider = | ||
| (mkJetBrainsProduct { | ||
| pname = "rider"; | ||
|
|
@@ -431,3 +461,11 @@ rec { | |
| }; | ||
|
|
||
| } | ||
| // lib.optionalAttrs config.allowAliases { | ||
| # PyCharm Community is discontinued and PyCharm Professional renamed to PyCharm - Added 2025-06-01 | ||
| # TODO: Enable once Jetbrains provides a way to build PyCharm from source. | ||
| #pycharm-community = lib.warnOnInstantiate "PyCharm has been unified into a single product and PyCharm Community has been discontinued. This deprecated alias now provides the new PyCharm (formerly Professional), you may be asked to migrate your settings. Please use jetbrains.pycharm instead. On Linux you can for now still build PyCharm Community from source using jetbrains.pycharm-community-src." pycharm; | ||
| #pycharm-community-bin = lib.warnOnInstantiate "PyCharm has been unified into a single product and PyCharm Community has been discontinued. This deprecated alias now provides the new PyCharm (formerly Professional), you may be asked to migrate your settings. Please use jetbrains.pycharm-bin instead." pycharm-bin; | ||
| #pycharm-community-src = lib.warnOnInstantiate "PyCharm has been unified into a single product and PyCharm Community has been discontinued. This deprecated alias now provides the new PyCharm (formerly Professional), you may be asked to migrate your settings. Please use jetbrains.pycharm-src instead." pycharm-src; | ||
| pycharm-professional = lib.warnOnInstantiate "PyCharm has been unified into a single product and PyCharm Professional has been renamed. Please use jetbrains.pycharm-bin instead." pycharm-bin; | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would pass CI if you only define these if
config.allowAliasesis true.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see the commented out block below. Don't think there is a way to have a soft warning, unfortunately.