Skip to content
Browse files

Add IntelliJ IDEA CE version 11.

The source distribution static binaries of fsnotifier and fsnotifier64 are patched.
I'm not sure of the best way to fetch patch both the 32bit and 64bit versions. Only the one that is
assumed to be picked by the idea.sh is patched.
  • Loading branch information...
1 parent a79dd88 commit f8a2ac5544624ab88e6743717979792f08468a06 @coreyoconnor committed Aug 5, 2012
View
22 pkgs/applications/editors/intellij-idea/builder.sh
@@ -0,0 +1,22 @@
+source $stdenv/setup
+
+export PATH=$ant/bin:$jdk/bin:$PATH
+
+set -e
+
+tar -jxvf $src
+cd ideaIC-111.69
+
+ant build
+
+mkdir -p $out
+
+tar --strip-components=1 -zxvf out/artifacts/ideaIC-111.SNAPSHOT.tar.gz -C $out
@aszlig
aszlig added a note Sep 11, 2012

You could do this as well in a postUnpack hook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/${notifierToPatch}
+
+# Create desktop item.
+mkdir -p $out/share/applications
+cp $out/bin/idea_CE128.png $out/share/applications/
+cp ${desktopItem}/share/applications/* $out/share/applications/
+
View
31 pkgs/applications/editors/intellij-idea/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, patchelf, makeDesktopItem, ant, jdk } :
+
+stdenv.mkDerivation rec {
+ name = "intellij-idea-ce-11";
+ description = "IntelliJ IDEA Community Edition version 11.1.69";
+
+ src = fetchurl {
+ url = http://download.jetbrains.com/idea/ideaIC-11-src.tar.bz2;
+ sha256 = "0wyq4n8gz473kvxz9n8l16c0chscqvj95k4jdbga9b60n59987vr";
+ };
+
+ builder = ./builder.sh;
@aszlig
aszlig added a note Sep 11, 2012

What's the reason for the custom builder here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+ desktopItem = makeDesktopItem {
+ name = "IntelliJ-IDEA-CE";
+ exec = "idea.sh";
+ icon = "idea_CE128.png";
+ comment = "IntelliJ IDEA Community Edition";
+ desktopName = "IntelliJ IDEA CE";
+ genericName = "IntelliJ IDEA Community Edition";
+ categories = "Application;Development;";
+ };
+
+ # TODO(corey): I'm confused on how to provide both the architecture's dynamic linker path.
+ notifierToPatch = if stdenv.system == "x86_64-linux"
+ then "fsnotifier64"
+ else "fsnotifier";
+
+ inherit ant jdk;
+}
+
View
2 pkgs/top-level/all-packages.nix
@@ -7060,6 +7060,8 @@ let
inherit (pythonPackages) lxml;
};
+ intellij_idea_ce_11 = callPackage ../applications/editors/intellij-idea { };
+
ion3 = callPackage ../applications/window-managers/ion-3 {
lua = lua5;
};

1 comment on commit f8a2ac5

@coreyoconnor
Owner

Thanks for the feedback. I'll make the appropriate updates.

Please sign in to comment.
Something went wrong with that request. Please try again.