Skip to content
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

Intellij overhaul #259373

Merged
merged 3 commits into from
Dec 5, 2023
Merged

Conversation

GenericNerdyUsername
Copy link
Contributor

Description of changes

A complete overhaul of the linux side of the jetbrains ides, including building pycharm and intellij community from source

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@GenericNerdyUsername
Copy link
Contributor Author

@wegank would you be able to check if this works on aarch64? If you're busy/don't want to, that's cool, just let me know so I can setup stuff with boot.binfmt and work on it myself.

@wegank
Copy link
Member

wegank commented Oct 20, 2023

Building jetbrains.idea-community on my machine.

@GenericNerdyUsername
Copy link
Contributor Author

Just realised something, line 236 in source/build.nix is probably going to cause a fail

@wegank
Copy link
Member

wegank commented Oct 20, 2023

It works.

$ nix-build -A jetbrains.idea-community
/nix/store/hrj83zrbsg7lfi26jl82hks7lxcfnpy7-idea-community-2023.2.3

@GenericNerdyUsername
Copy link
Contributor Author

Does it run? are any the binaries in there built for x86?

@wegank
Copy link
Member

wegank commented Oct 20, 2023

Does it run?

Yes.

are any the binaries in there built for x86?

Only for some plugins:

skipping /nix/store/hrj83zrbsg7lfi26jl82hks7lxcfnpy7-idea-community-2023.2.3/idea-community/plugins/android/resources/native/linux/libimage_converter.so because its architecture (x64) differs from target (AArch64)
skipping /nix/store/hrj83zrbsg7lfi26jl82hks7lxcfnpy7-idea-community-2023.2.3/idea-community/plugins/cwm-plugin/quiche-native/linux-x86-64/libquiche.so because its architecture (x64) differs from target (AArch64)
skipping /nix/store/hrj83zrbsg7lfi26jl82hks7lxcfnpy7-idea-community-2023.2.3/idea-community/plugins/webp/lib/libwebp/linux/libwebp_jni64.so because its architecture (x64) differs from target (AArch64)
skipping /nix/store/hrj83zrbsg7lfi26jl82hks7lxcfnpy7-idea-community-2023.2.3/idea-community/plugins/webp/lib/libwebp/linux/libwebp_jni.so because its architecture (x86) differs from target (AArch64)

@GenericNerdyUsername
Copy link
Contributor Author

If you could build pycharm from source as well, that'd be great. I think if that goes well, theres nothing I can think of to do before removing draft status

@wegank
Copy link
Member

wegank commented Oct 20, 2023

$ nix-build -A jetbrains.pycharm-community                                                                                     intellij-overhaul
/nix/store/iylba5d5vzqpw7xfmmb13x4qaz2jqhxz-pycharm-community-2023.2.3

@niknetniko
Copy link
Contributor

Result of nixpkgs-review:

23 packages built:
jetbrains.clion jetbrains.datagrip jetbrains.dataspell jetbrains.gateway jetbrains.goland jetbrains.idea-community jetbrains.idea-community-bin jetbrains.idea-ultimate jetbrains.jcef jetbrains.jcef.unpacked jetbrains.jdk jetbrains.jdk-no-jcef jetbrains.jdk-no-jcef.debug jetbrains.jdk.debug jetbrains.mps jetbrains.phpstorm jetbrains.pycharm-community jetbrains.pycharm-community-bin jetbrains.pycharm-professional jetbrains.rider jetbrains.ruby-mine jetbrains.rust-rover jetbrains.webstorm

I tested Intellij Community, Intellij Ultimate and PyCharm Community: all seem to work.


Out of curiosity, what is the benefit of having a ides.json file? As I understand it, this is mostly static information, so why can't this be a nix file? If this is just a nixpkgs convention I am unaware of, my apologies in advance

@GenericNerdyUsername
Copy link
Contributor Author

It takes up a lot of space and obscures the actual build logic

@sequencer
Copy link
Contributor

Any change to get this in?

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 3, 2023
@wegank
Copy link
Member

wegank commented Dec 3, 2023

Merge conflict, please rebase.

@wegank wegank marked this pull request as draft December 3, 2023 14:29
@GenericNerdyUsername
Copy link
Contributor Author

@wegank how's that?

@GenericNerdyUsername GenericNerdyUsername marked this pull request as ready for review December 3, 2023 19:39
@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 3, 2023
@NickCao NickCao merged commit c3abd82 into NixOS:master Dec 5, 2023
22 checks passed
@Janik-Haag
Copy link
Member

would you be able to check if this works on aarch64? If you're busy/don't want to, that's cool, just let me know so I can setup stuff with boot.binfmt and work on it myself.

you can also open a pr adding your self to https://github.com/nix-community/infra/blob/master/docs/community-builder.md
feel free to ping me in cc ^^

@GenericNerdyUsername
Copy link
Contributor Author

would you be able to check if this works on aarch64? If you're busy/don't want to, that's cool, just let me know so I can setup stuff with boot.binfmt and work on it myself.

you can also open a pr adding your self to https://github.com/nix-community/infra/blob/master/docs/community-builder.md feel free to ping me in cc ^^

unless the docs are wrong, theres no aarch64-linux box, which is what I'm really interested in

@Janik-Haag
Copy link
Member

Janik-Haag commented Dec 7, 2023

Then you want https://github.com/NixOS/aarch64-build-box
You can also message me on matrix @Janik0:matrix.org so we cause less noise here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: clean-up 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 11-100
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants