From d70ec738b300f8e74ef9a844e65859fc517f4bef Mon Sep 17 00:00:00 2001 From: Jean-Marie Gaillourdet Date: Sat, 5 Jun 2021 20:52:32 +0200 Subject: [PATCH] all Jetbrains products: update to latest version clion: 2020.2.1 -> 2021.1.2 datagrip: 2020.2.2 -> 2021.1.2 goland: 2020.2.2 -> 2021.1.2 idea-community: 2020.2.1 -> 2021.1.2 idea-ultimate: 2020.2.1 -> 2021.1.2 mps: 2020.1.4 -> 2021.1 phpstorm: 2020.2.1 -> 2021.1.3 pycharm-community: 2020.2.1 -> 2021.1.2 pycharm-professional: 2020.2.1 -> 2021.1.2 rider: 2020.2.1 -> 2021.1.3 ruby-mine: 2020.2.1 -> 2021.1.2 webstorm: 2020.2.1 -> 2021.1.2 These updates have all been generated with the newly fixed update.pl script. The script update.pl, which gets the latest versions from upstream web server, has been failing for roughly half a year. It failed to handle the new url pattern of MPS. The script and the url pattern is updated to work with the latest version. The clion specific postFixup hook had to be adapted, because names of shared libraries changed. (cherry picked from commit 8593496928ebacc8d0779ff5706b8d511dbc0177) (cherry picked from commit a887b48e1d666ae2742bf86010aa1a1372b9ecbd) --- .../editors/jetbrains/default.nix | 22 +++++++++---------- pkgs/applications/editors/jetbrains/update.pl | 5 +++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 32159e3ebd2c64..55df159fab9258 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -307,12 +307,12 @@ in mps = buildMps rec { name = "mps-${version}"; - version = "2020.3.3"; /* updated by script */ + version = "2021.1"; /* updated by script */ description = "Create your own domain-specific language"; license = lib.licenses.asl20; src = fetchurl { - url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz"; - sha256 = "0sb50f7d4272dzx84njc326xvhbqn3xwrphvdq4zl3pk3wl8f4nz"; /* updated by script */ + url = "https://download.jetbrains.com/mps/${version}/MPS-${version}.tar.gz"; + sha256 = "0fdh8lzsi2zryi0xs961vrf3l8kqk5imlj56dhifywi7xkhs3vwn"; /* updated by script */ }; wmClass = "jetbrains-mps"; update-channel = "MPS RELEASE"; @@ -320,12 +320,12 @@ in phpstorm = buildPhpStorm rec { name = "phpstorm-${version}"; - version = "2021.1.2"; /* updated by script */ + version = "2021.1.3"; /* updated by script */ description = "Professional IDE for Web and PHP developers"; license = lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; - sha256 = "02s75fqd9hfh302zha4jw6qynpgm9nkrlq7s78nk3fc3d3hw8v5y"; /* updated by script */ + sha256 = "05hjv1nz1b82bkakadjvsy23v0qv8fyni6h31lcg9198h1890f7v"; /* updated by script */ }; wmClass = "jetbrains-phpstorm"; update-channel = "PhpStorm RELEASE"; @@ -333,12 +333,12 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2021.1.1"; /* updated by script */ + version = "2021.1.2"; /* updated by script */ description = "PyCharm Community Edition"; license = lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "04bs9sz872b0h1zzax23irvj6q5wxnzp6fl4f177j94kh4116cqh"; /* updated by script */ + sha256 = "0sp7w1xrl0y36dai08kqfd0jk06yr7jdbaf1a9f3fgxp5pmspxp1"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; update-channel = "PyCharm RELEASE"; @@ -346,12 +346,12 @@ in pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2021.1.1"; /* updated by script */ + version = "2021.1.2"; /* updated by script */ description = "PyCharm Professional Edition"; license = lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "0wc9j7nilakmm7scf7a71zb3k9vixgih05ni3n3pp4iznvwb3nxg"; /* updated by script */ + sha256 = "0ny7rbl8g5azpqnlcq8l6bwh6hrp8rgp06lf4a8gdr9rpvw9xsqb"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm RELEASE"; @@ -372,12 +372,12 @@ in ruby-mine = buildRubyMine rec { name = "ruby-mine-${version}"; - version = "2021.1.1"; /* updated by script */ + version = "2021.1.2"; /* updated by script */ description = "The Most Intelligent Ruby and Rails IDE"; license = lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; - sha256 = "05sfjf5523idsl7byc7400r4xqv1d65gpmkh5x0lbgf1k3bx2wlm"; /* updated by script */ + sha256 = "0r80y8y38rdxgc9sim0q2p7bmgxlp4pdxydr0w9gjikwnjxnvz51"; /* updated by script */ }; wmClass = "jetbrains-rubymine"; update-channel = "RubyMine RELEASE"; diff --git a/pkgs/applications/editors/jetbrains/update.pl b/pkgs/applications/editors/jetbrains/update.pl index 6f0a451849a083..cd3d2193a283a1 100755 --- a/pkgs/applications/editors/jetbrains/update.pl +++ b/pkgs/applications/editors/jetbrains/update.pl @@ -61,8 +61,9 @@ sub update_nix_block { # try to interpret some nix my ($name) = $block =~ /name\s*=\s*"([^"]+)"/; $name =~ s/\$\{version\}/$latest_versions{$channel}/; - $url =~ s/\$\{name\}/$name/; - $url =~ s/\$\{version\}/$latest_versions{$channel}/; + # Some url paattern contain variables more than once + $url =~ s/\$\{name\}/$name/g; + $url =~ s/\$\{version\}/$latest_versions{$channel}/g; die "$url still has some interpolation" if $url =~ /\$/; my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/; my $version_string = $latest_versions{$channel};