Skip to content

jetbrains: idea-oss, pycharm-oss: 2025.1.1.1 -> 2025.3.1#470774

Merged
MattSturgeon merged 10 commits intoNixOS:masterfrom
theCapypara:jetbrains/update-src-2025.3
Dec 28, 2025
Merged

jetbrains: idea-oss, pycharm-oss: 2025.1.1.1 -> 2025.3.1#470774
MattSturgeon merged 10 commits intoNixOS:masterfrom
theCapypara:jetbrains/update-src-2025.3

Conversation

@theCapypara
Copy link
Member

@theCapypara theCapypara commented Dec 14, 2025

Updates idea-oss and pycharm-oss to the latest version. Fixes various build issues & also automates generating the jps & restarter hashes.

The source build is now also always updated from the latest release info, instead of just using whatever the bin versions use. This means the build processes are now independent.

There's quite a bit of code duplication between the bin/source update scripts. I plan to refactor this eventually. After this PR I'll introduce support for updateScript if & when #470147 is also merged.

IMO we should exceptionally backport this to 25.11 since we haven't touched the source versions in a long time & to get the fixes onto the stable branch. Also since we are going to backport #466331 as well.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. labels Dec 14, 2025
@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch 4 times, most recently from 2a6c781 to a7aaf7b Compare December 15, 2025 10:30
@theCapypara theCapypara marked this pull request as ready for review December 15, 2025 10:31
@nixpkgs-ci nixpkgs-ci bot requested a review from leona-ya December 15, 2025 10:37
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. and removed 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. labels Dec 15, 2025
@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch from a7aaf7b to dbc7227 Compare December 15, 2025 11:00
Copy link
Contributor

@MattSturgeon MattSturgeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lot's of code here I'm not too familiar with, but looking at the diff things seem ok.

@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch from dbc7227 to c3aa3d9 Compare December 15, 2025 14:08
@MattSturgeon

This comment was marked as duplicate.

@theCapypara
Copy link
Member Author

It seems that some more links on the cache redirector are now dead? Maybe they are entirely switching away from it now. Will check.

@MattSturgeon
Copy link
Contributor

MattSturgeon commented Dec 17, 2025

Do those FODs use fallback urls or mirrors? Maybe #470643 not being fully effective is related 🤔

Either way, if the primary URLs are 404ing then they probably need fixing, I assume.

@theCapypara
Copy link
Member Author

theCapypara commented Dec 18, 2025

@MattSturgeon Can you try again? Might have been a temporary issue on Jetbrain's end. The URLs in your build logs (e. g. https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public/ai/grazie/utils/utils-ktor-jvm/0.8.74/utils-ktor-jvm-0.8.74.jar) are working and I can build everything just fine.

I think that service is just a mirror for maven repos and some other pages, we could probably just add the non-mirrored URLs as well, but that'd require some more changes here. Currently fallback URLs are not used. I'll write that down as another future improvement to do.

For example for the above URL https://packages.jetbrains.team/maven/p/grazi/grazie-platform-public/ai/grazie/utils/utils-ktor-jvm/0.8.74/utils-ktor-jvm-0.8.74.jar works just fine as well.

There were some URLs I noticed changed location and I replaced them with the new one used. But those would actually probably also work via the cache redirector... I don't know much about it's purpose - or anything really.

@MattSturgeon

This comment was marked as duplicate.

@theCapypara
Copy link
Member Author

That's really odd. I have no idea why it doesn't build inside Github Actions.

@theCapypara
Copy link
Member Author

I added fallback URLs that don't use the cache redirector service, hopefully it works now?

@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch 3 times, most recently from 600f692 to 7cfb37f Compare December 21, 2025 15:10
@theCapypara

This comment was marked as duplicate.

@theCapypara
Copy link
Member Author

Turns out the download failures were a red herring (I still added the flag --no-retry-all-errors, since we do not need to retry on 404 errors; we are currently absuing fetchurls urls mechanism to "select" a mirror from a list of candidates for the maven packages...)

The actual error is this:

2025-12-18T23:25:03.2848370Z error: Cannot build '/nix/store/cnc3pr9nfdi5d894afjac1zh4852ifhy-jps-bootstrap-repository.drv'.
2025-12-18T23:25:03.2849420Z        Reason: builder failed with exit code 1.
2025-12-18T23:25:03.2849869Z        Output paths:
2025-12-18T23:25:03.2850412Z          /nix/store/19rigv7qs7c1m2a8w1440ps7sd9l7ay7-jps-bootstrap-repository
2025-12-18T23:25:03.2851025Z        Last 6 log lines:
2025-12-18T23:25:03.2851888Z        > Buildfile: /nix/store/nihhv0i5i3ca24igdj2wz2hg1jc72b7f-source/platform/jps-bootstrap/jps-bootstrap-classpath.xml
2025-12-18T23:25:03.2853094Z        >
2025-12-18T23:25:03.2853362Z        > BUILD FAILED
2025-12-18T23:25:03.2854554Z        > /nix/store/nihhv0i5i3ca24igdj2wz2hg1jc72b7f-source/platform/jps-bootstrap/jps-bootstrap-classpath.xml:18: Directory /build/tmp creation was not successful for an unknown reason
2025-12-18T23:25:03.2855831Z        >
2025-12-18T23:25:03.2856130Z        > Total time: 0 seconds
2025-12-18T23:25:03.2856503Z        For full logs, run:
2025-12-18T23:25:03.2857128Z          nix log /nix/store/cnc3pr9nfdi5d894afjac1zh4852ifhy-jps-bootstrap-repository.drv
2025-12-18T23:25:03.3605738Z building '/nix/store/by013kvvjhrmld6lhbm1nfbv5lypc4gs-clion-2025.2.5.drv'...
2025-12-18T23:25:03.3610983Z error: Cannot build '/nix/store/bxrnfmdl1vakh93d3hz5y6q8j7jxinvb-jps-bootstrap-253.28294.336.drv'.
2025-12-18T23:25:03.3611968Z        Reason: 1 dependency failed.
2025-12-18T23:25:03.3612442Z        Output paths:
2025-12-18T23:25:03.3614181Z          /nix/store/sa8fjf34rs31980hlzh478zrjs217irq-jps-bootstrap-253.28294.336
2025-12-18T23:25:03.3617121Z error: Build failed due to failed dependency

The ant build step is here: https://github.com/JetBrains/intellij-community/blob/master/platform/jps-bootstrap/jps-bootstrap-classpath.xml#L18

I'm unfortunately not sure what this could mean. Maybe some incompatiblity in the GitHub Hosted Runners?

Copy link
Contributor

@MattSturgeon MattSturgeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple non-blocking bash hygine nits, in case you weren't aware of the subtleties here. Up to you whether to action them.

Overall PR still SGTM.

@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch from 575a145 to a13fc3d Compare December 25, 2025 10:01
@theCapypara
Copy link
Member Author

theCapypara commented Dec 25, 2025

Note for myself: I did not add plugin updates here, I expect #470147 to be merged first, if we backport this we should also run the plugin update script for the backport.

I'm removing the label to do a manual backport later.

@theCapypara theCapypara removed the backport release-25.11 Backport PR automatically label Dec 25, 2025
@theCapypara theCapypara marked this pull request as draft December 25, 2025 10:27
@theCapypara theCapypara changed the title jetbrains: idea-oss, pycharm-oss: 2025.1.1.1 -> 2025.3 jetbrains: idea-oss, pycharm-oss: 2025.1.1.1 -> 2025.3.1 Dec 25, 2025
@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch from a13fc3d to 3624c53 Compare December 25, 2025 10:48
@theCapypara theCapypara marked this pull request as ready for review December 25, 2025 10:48
@theCapypara
Copy link
Member Author

I was able to squash the review feedback into previous commits.

And:

  • I added one more commit that makes sure that the source/update.py writes the source/sources.json repositories entries without https:// or https://cache-redirector.jetbrains.com/ prefixes like I manually edited them; almost missed that.
  • I updated the IDEs to 2025.3.1 and remove the previous update commit (d8dc15032231 jetbrains: idea-oss, pycharm-oss: 2025.1.1.1 -> 2025.3) from this PR.

@Eveeifyeve
Copy link
Member

Eveeifyeve commented Dec 25, 2025

Please credit the suggestions provided by the reviewers via Co-authored-by so we are not breaking licensing.

@MattSturgeon
Copy link
Contributor

MattSturgeon commented Dec 25, 2025

Please credit the suggestions provided by the reviewers via Co-authored-by so we are not breaking licensing.

While Co-authored-by metadata can be nice to have, I don't think it's a licensing requirement.

Git commit metadata isn't the authoritative source of copyright in nixpkgs; licensing is covered by COPYING, which attributes copyright collectively to:

Copyright (c) 2003-2025 Eelco Dolstra and the Nixpkgs/NixOS contributors

Regardless, I'm fine for my suggestions to be merged into Nixpkgs without attribution.

TL;DR: Adding Co-authored-by can be good practice, but it isn't required here for licensing reasons.

@MattSturgeon
Copy link
Contributor

MattSturgeon commented Dec 25, 2025

Note for myself: I did not add plugin updates here, I expect #470147 to be merged first, if we backport this we should also run the plugin update script for the backport.

I'm removing the label to do a manual backport later.

SGTM. I've queued merged #470147.

When backporting, you'll probably end up cherry picking this and doing a separate "update plugins" commit with a Not-cherry-picked-because tag. The same will apply to future updates, I imagine.

Not-cherry-picked-because: plugins are only maintained on 25.11

Or

Not-cherry-picked-because: plugins have been dropped in 26.05

@theCapypara
Copy link
Member Author

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 470774
Commit: 3624c534f9bf0b37890764543fbf9d596e3bf98d (subsequent changes)
Merge: 039b9d95d6bae25e7f565e6ae0d99621f0953339

Logs: https://github.com/theCapypara/nixpkgs-review-gha/actions/runs/20503865501


x86_64-linux

✅ 15 packages built:
  • jetbrains.clion
  • jetbrains.datagrip
  • jetbrains.dataspell
  • jetbrains.gateway
  • jetbrains.goland
  • jetbrains.idea
  • jetbrains.idea-oss
  • jetbrains.mps
  • jetbrains.phpstorm
  • jetbrains.pycharm
  • jetbrains.pycharm-oss
  • jetbrains.rider
  • jetbrains.ruby-mine
  • jetbrains.rust-rover
  • jetbrains.webstorm

aarch64-linux

✅ 15 packages built:
  • jetbrains.clion
  • jetbrains.datagrip
  • jetbrains.dataspell
  • jetbrains.gateway
  • jetbrains.goland
  • jetbrains.idea
  • jetbrains.idea-oss
  • jetbrains.mps
  • jetbrains.phpstorm
  • jetbrains.pycharm
  • jetbrains.pycharm-oss
  • jetbrains.rider
  • jetbrains.ruby-mine
  • jetbrains.rust-rover
  • jetbrains.webstorm

x86_64-darwin

No rebuilds


aarch64-darwin

No rebuilds

@Eveeifyeve
Copy link
Member

Please credit the suggestions provided by the reviewers via Co-authored-by so we are not breaking licensing.

While Co-authored-by metadata can be nice to have, I don't think it's a licensing requirement.

Git commit metadata isn't the authoritative source of copyright in nixpkgs; licensing is covered by COPYING, which attributes copyright collectively to:

Copyright (c) 2003-2025 Eelco Dolstra and the Nixpkgs/NixOS contributors

Regardless, I'm fine for my suggestions to be merged into Nixpkgs without attribution.

TL;DR: Adding Co-authored-by can be good practice, but it isn't required here for licensing reasons.

I thought it was, because a long time ago @emilazy said I needed to do it so I am confused now so it's not required?????

@theCapypara theCapypara force-pushed the jetbrains/update-src-2025.3 branch from 3624c53 to 9724448 Compare December 28, 2025 12:18
@MattSturgeon MattSturgeon added this pull request to the merge queue Dec 28, 2025
Merged via the queue into NixOS:master with commit 3474200 Dec 28, 2025
28 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants