about summary refs log tree commit diff
path: root/pkgs/applications/editors/jetbrains/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/jetbrains/default.nix')
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix413
1 files changed, 413 insertions, 0 deletions
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
new file mode 100644
index 000000000000..7e9c5e48ad02
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -0,0 +1,413 @@
+{ lib, stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf
+, coreutils, gnugrep, which, git, python, unzip, p7zip
+, androidsdk, jdk
+}:
+
+assert stdenv.isLinux;
+
+let
+  mkJetBrainsProduct = callPackage ./common.nix { };
+
+  # Sorted alphabetically
+
+  buildClion = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct rec {
+      inherit name version src wmClass jdk;
+      product = "CLion";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/clion/";
+        inherit description license;
+        longDescription = ''
+          Enhancing productivity for every C and C++
+          developer on Linux, OS X and Windows.
+        '';
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildDataGrip = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct {
+      inherit name version src wmClass jdk;
+      product = "DataGrip";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/datagrip/";
+        inherit description license;
+        longDescription = ''
+          DataGrip is a new IDE from JetBrains built for database admins.
+          It allows you to quickly migrate and refactor relational databases,
+          construct efficient, statically checked SQL queries and much more.
+        '';
+        maintainers = with maintainers; [ loskutov ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildGogland = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct {
+      inherit name version src wmClass jdk;
+      product = "Gogland";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/go/";
+        inherit description license;
+        longDescription = ''
+          Gogland is the codename for a new commercial IDE by JetBrains
+          aimed at providing an ergonomic environment for Go development.
+          The new IDE extends the IntelliJ platform with the coding assistance
+          and tool integrations specific for the Go language
+        '';
+        maintainers = [ maintainers.miltador ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildIdea = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct rec {
+      inherit name version src wmClass jdk;
+      product = "IDEA";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/idea/";
+        inherit description license;
+        longDescription = ''
+          IDE for Java SE, Groovy & Scala development Powerful
+          environment for building Google Android apps Integration
+          with JUnit, TestNG, popular SCMs, Ant & Maven.
+        '';
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildPhpStorm = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct {
+      inherit name version src wmClass jdk;
+      product = "PhpStorm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/phpstorm/";
+        inherit description license;
+        longDescription = ''
+          PhpStorm provides an editor for PHP, HTML and JavaScript
+          with on-the-fly code analysis, error prevention and
+          automated refactorings for PHP and JavaScript code.
+        '';
+        maintainers = with maintainers; [ schristo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildPycharm = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct rec {
+      inherit name version src wmClass jdk;
+      product = "PyCharm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/pycharm/";
+        inherit description license;
+        longDescription = ''
+          Python IDE with complete set of tools for productive
+          development with Python programming language. In addition, the
+          IDE provides high-class capabilities for professional Web
+          development with Django framework and Google App Engine. It
+          has powerful coding assistance, navigation, a lot of
+          refactoring features, tight integration with various Version
+          Control Systems, Unit testing, powerful all-singing
+          all-dancing Debugger and entire customization. PyCharm is
+          developer driven IDE. It was developed with the aim of
+          providing you almost everything you need for your comfortable
+          and productive development!
+        '';
+        maintainers = with maintainers; [ jgeerds ];
+        platforms = platforms.linux;
+      };
+    }).override {
+      propagatedUserEnvPkgs = [ python ];
+    };
+
+  buildRider = { name, version, src, license, description, wmClass }:
+    lib.overrideDerivation (mkJetBrainsProduct rec {
+      inherit name version src wmClass jdk;
+      product = "Rider";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/rider/";
+        inherit description license;
+        longDescription = ''
+          JetBrains Rider is a new .NET IDE based on the IntelliJ
+          platform and ReSharper. Rider supports .NET Core,
+          .NET Framework and Mono based projects. This lets you
+          develop a wide array of applications including .NET desktop
+          apps, services and libraries, Unity games, ASP.NET and 
+          ASP.NET Core web applications.
+        '';
+        maintainers = [ maintainers.miltador ];
+        platforms = platforms.linux;
+      };
+    }) (attrs: {
+      patchPhase = attrs.patchPhase + ''
+        # Patch built-in mono for ReSharperHost to start successfully
+        interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2)
+        patchelf --set-interpreter "$interpreter" lib/ReSharperHost/linux-x64/mono/bin/mono-sgen
+      '';
+    });
+
+  buildRubyMine = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct rec {
+      inherit name version src wmClass jdk;
+      product = "RubyMine";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/ruby/";
+        inherit description license;
+        longDescription = description;
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildWebStorm = { name, version, src, license, description, wmClass }:
+    (mkJetBrainsProduct {
+      inherit name version src wmClass jdk;
+      product = "WebStorm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/webstorm/";
+        inherit description license;
+        longDescription = ''
+          WebStorm provides an editor for HTML, JavaScript (incl. Node.js),
+          and CSS with on-the-fly code analysis, error prevention and
+          automated refactorings for JavaScript code.
+        '';
+        maintainers = with maintainers; [ abaldeau ];
+        platforms = platforms.linux;
+      };
+    });
+
+in
+
+{
+  # Sorted alphabetically
+
+  clion = buildClion rec {
+    name = "clion-${version}";
+    version = "2017.1";
+    description  = "C/C++ IDE. New. Intelligent. Cross-platform";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
+      sha256 = "00fc023ca56f2781864cddc7bd5c2897d837d1db17dd8f987abe046ed4df3ca5";
+    };
+    wmClass = "jetbrains-clion";
+  };
+
+  datagrip = buildDataGrip rec {
+    name = "datagrip-${version}";
+    version = "2017.1";
+    description = "Your Swiss Army Knife for Databases and SQL";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
+      sha256 = "91ee6a1e43d75a45ae51829835e457da85262410d89e617324d0239ba5625dfa";
+    };
+    wmClass = "jetbrains-datagrip";
+  };
+
+  gogland = buildGogland rec {
+    name = "gogland-${version}";
+    version = "171.3780.106";
+    description = "Up and Coming Go IDE";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/go/${name}.tar.gz";
+      sha256 = "cbe84d07fdec6425d8ac63b0ecd5e04148299c1c0c6d05751523aaaa9360110b";
+    };
+    wmClass = "jetbrains-gogland";
+  };
+
+  idea14-community = buildIdea rec {
+    name = "idea-community-${version}";
+    version = "14.1.7";
+    description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
+      sha256 = "1i4mdjm9dd6zvxlpdgd3bqg45ir0cfc9hl55cdc0hg5qwbz683fz";
+    };
+    wmClass = "jetbrains-idea-ce";
+  };
+
+  idea-community = buildIdea rec {
+    name = "idea-community-${version}";
+    version = "2017.1";
+    description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
+      sha256 = "0pfsf7ykwixvljcmrv4gldaaflf13brch70cd6xpax0m89vm22vm";
+    };
+    wmClass = "jetbrains-idea-ce";
+  };
+
+  idea14-ultimate = buildIdea rec {
+    name = "idea-ultimate-${version}";
+    version = "14.1.7";
+    description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "1hhga1i2zbsipgq283gn19kv9n94inhr1bxh2yx19gz7yr4r49d2";
+    };
+    wmClass = "jetbrains-idea";
+  };
+
+  idea15-ultimate = buildIdea rec {
+    name = "idea-ultimate-${version}";
+    version = "15.0.6";
+    description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "012aap2qn0jx4x34bdv9ivrsr86vvf683srb5vpj27hc4l6rw6ll";
+    };
+    wmClass = "jetbrains-idea";
+  };
+
+  idea-ultimate = buildIdea rec {
+    name = "idea-ultimate-${version}";
+    version = "2017.1";
+    description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "1858jhmyyb7nhx08yxbn5bfgx9m32r8yqwjxjw17rf8gnfvs8225";
+    };
+    wmClass = "jetbrains-idea";
+  };
+
+  phpstorm = buildPhpStorm rec {
+    name = "phpstorm-${version}";
+    version = "2017.1";
+    description = "Professional IDE for Web and PHP developers";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
+      sha256 = "1ynffm5x8fqq2r71rr9rbvdifbwbvbhqb2x1hkyy4az38gxal1bm";
+    };
+    wmClass = "jetbrains-phpstorm";
+  };
+
+  phpstorm10 = buildPhpStorm rec {
+    name = "phpstorm-${version}";
+    version = "10.0.4";
+    description = "Professional IDE for Web and PHP developers";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
+      sha256 = "0fi042zvjpg5pn2mnhj3bbrdkl1b9vmhpf2l6ca4nr0rhjjv7dsm";
+    };
+    wmClass = "jetbrains-phpstorm";
+  };
+
+  pycharm-community = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "2017.1";
+    description = "PyCharm Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "14p6f15n0927awgpsdsdqgmdfbbwkykrw5xggz5hnfl7d05i4sb6";
+    };
+    wmClass = "jetbrains-pycharm-ce";
+  };
+
+  pycharm-professional = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "2017.1";
+    description = "PyCharm Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "1rvic3njsq480pslhw6rxld7jngchihkplq3dfnmkr2h9gx26lkf";
+    };
+    wmClass = "jetbrains-pycharm";
+  };
+
+  rider = buildRider rec {
+    name = "rider-${version}";
+    version = "171.3655.1246";
+    description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/resharper/riderRS-${version}.tar.gz";
+      sha256 = "90f9f8f1919e0f1dad42387f1a308483448323b089c13c409f3dd4d52992266b";
+    };
+    wmClass = "jetbrains-rider";
+  };
+
+  ruby-mine = buildRubyMine rec {
+    name = "ruby-mine-${version}";
+    version = "2017.1";
+    description = "The Most Intelligent Ruby and Rails IDE";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
+      sha256 = "6c27f43ddc385ffba2cb2f011b80ab46d9b128d0fccf3b4ea43272fe36401a3a";
+    };
+    wmClass = "jetbrains-rubymine";
+  };
+
+  ruby-mine7 = buildRubyMine rec {
+    name = "ruby-mine-${version}";
+    version = "7.1.5";
+    description = "The Most Intelligent Ruby and Rails IDE";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
+      sha256 = "04fcxj1xlap9mxmwf051s926p2darlj5kwl4lms2gy5d8b2lhd5l";
+    };
+    wmClass = "jetbrains-rubymine";
+  };
+
+  ruby-mine8 = buildRubyMine rec {
+    name = "ruby-mine-${version}";
+    version = "8.0.4";
+    description = "The Most Intelligent Ruby and Rails IDE";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
+      sha256 = "0hipxib7377232w1jbf8h98bmh0djkllsrq3lq0w3fdxqglma43a";
+    };
+    wmClass = "jetbrains-rubymine";
+  };
+
+  webstorm = buildWebStorm rec {
+    name = "webstorm-${version}";
+    version = "2017.1";
+    description = "Professional IDE for Web and JavaScript development";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
+      sha256 = "e651ad78ff9de92bb5b76698eeca1e02ab0f0c36209908074fa4a6b48586071c";
+    };
+    wmClass = "jetbrains-webstorm";
+  };
+
+  webstorm10 = buildWebStorm rec {
+    name = "webstorm-${version}";
+    version = "10.0.5";
+    description = "Professional IDE for Web and JavaScript development";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
+      sha256 = "0a5s6f99wyql5pgjl94pf4ljdbviik3b8dbr1s6b7c6jn1gk62ic";
+    };
+    wmClass = "jetbrains-webstorm";
+  };
+
+  webstorm11 = buildWebStorm rec {
+    name = "webstorm-${version}";
+    version = "11.0.4";
+    description = "Professional IDE for Web and JavaScript development";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
+      sha256 = "17agyqdyz6naxyx6p0y240ar93gja0ypw01nm2qmfzvh7ch03r24";
+    };
+    wmClass = "jetbrains-webstorm";
+  };
+}