summary refs log tree commit diff
path: root/pkgs/applications/editors
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r--pkgs/applications/editors/eclipse/default.nix16
-rw-r--r--pkgs/applications/editors/emacs-24/darwin-new-sections.patch50
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix35
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.3.nix2
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.4.nix2
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.5.nix101
-rw-r--r--pkgs/applications/editors/emacs-modes/cask/default.nix5
-rw-r--r--pkgs/applications/editors/emacs-modes/icicles/default.nix2
-rw-r--r--pkgs/applications/editors/idea/default.nix48
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/yi/wrapper.nix36
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/LICENSE24
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal17
-rw-r--r--pkgs/applications/editors/yi/yi-custom.nix40
-rw-r--r--pkgs/applications/editors/yi/yi.nix2
15 files changed, 210 insertions, 174 deletions
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 41be00bdb63..8964d6c6480 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -98,6 +98,22 @@ in {
         };
   };
 
+  eclipse_scala_sdk_40 = buildEclipse {
+    name = "eclipse-scala_sdk-4.0.0";
+    description = "Eclipse IDE for Scala Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl { # tested
+          url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86_64.tar.gz;
+          sha256  = "b65c5e8160e72c8389537e9e427138e6daa2065f9df3a943a86e40dd1543dd83";
+        }
+      else
+        fetchurl { # untested
+          url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86.tar.gz;
+          sha256 = "f422aea5903c97d212264a5a43c6ebc638aecbd4ce5e6078d92618725bc5d31e";
+        };
+  };
+
   eclipse_cpp_36 = buildEclipse {
     name = "eclipse-cpp-3.6.2";
     description = "Eclipse IDE for C/C++ Developers";
diff --git a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
deleted file mode 100644
index dfd72fe3f51..00000000000
--- a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-http://bazaar.launchpad.net/~naesten/emacs/nextstep-stuff/revision/108961
-
-diff -ru emacs-24.3-orig/src/unexmacosx.c emacs-24.3/src/unexmacosx.c
---- emacs-24.3-orig/src/unexmacosx.c	2013-01-01 21:37:17.000000000 +0100
-+++ emacs-24.3/src/unexmacosx.c	2014-08-09 18:39:52.000000000 +0200
-@@ -838,7 +838,7 @@
- 	  if (!(sectp->addr <= (unsigned long)my_edata
- 		&& my_size <= sectp->size))
- 	    unexec_error ("my_edata is not in section %s", SECT_DATA);
--	  if (!unexec_write (sectp->offset, (void *) sectp->addr, my_size))
-+          if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
- 	    unexec_error ("cannot write section %s", SECT_DATA);
- 	  if (!unexec_copy (sectp->offset + my_size, old_file_offset + my_size,
- 			    sectp->size - my_size))
-@@ -880,6 +880,27 @@
- 	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
- 	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
- 	}
-+      else if (strncmp (sectp->sectname, "__bss", 5) == 0
-+	       || strncmp (sectp->sectname, "__pu_bss", 8) == 0)
-+	{
-+	  sectp->flags = S_REGULAR;
-+	  
-+	  /* These sections are produced by GCC 4.6+.
-+
-+	     FIXME: We possibly ought to clear uninitialized local
-+	     variables in statically linked libraries like for
-+	     SECT_BSS (__bss) above, but setting up the markers we
-+	     need in lastfile.c would be rather messy.  See
-+	     darwin_output_aligned_bss () in gcc/config/darwin.c for
-+	     the root of the problem, keeping in mind that the
-+	     sections are numbered by their alignment in GCC 4.6, but
-+	     by log2(alignment) in GCC 4.7.  */
-+
-+	  if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
-+	    unexec_error ("cannot copy section %.16s", sectp->sectname);
-+	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
-+	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
-+	}
-       else if (strncmp (sectp->sectname, "__la_symbol_ptr", 16) == 0
- 	       || strncmp (sectp->sectname, "__nl_symbol_ptr", 16) == 0
- 	       || strncmp (sectp->sectname, "__got", 16) == 0
-@@ -891,6 +912,7 @@
- 	       || strncmp (sectp->sectname, "__program_vars", 16) == 0
- 	       || strncmp (sectp->sectname, "__mod_init_func", 16) == 0
- 	       || strncmp (sectp->sectname, "__mod_term_func", 16) == 0
-+	       || strncmp (sectp->sectname, "__static_data", 16) == 0
- 	       || strncmp (sectp->sectname, "__objc_", 7) == 0)
- 	{
- 	  if (!unexec_copy (sectp->offset, old_file_offset, sectp->size))
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 83774206b5c..01895647a6b 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -2,24 +2,36 @@
 , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
 , alsaLib, cairo
-, withX ? !stdenv.isDarwin, withGTK ? true
+, withX ? !stdenv.isDarwin
+, withGTK3 ? false, gtk3 ? null
+, withGTK2 ? true, gtk2
 }:
 
 assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
+assert withGTK2 -> withX || stdenv.isDarwin;
+assert withGTK3 -> withX || stdenv.isDarwin;
+assert withGTK2 -> !withGTK3 && gtk2 != null;
+assert withGTK3 -> !withGTK2 && gtk3 != null;
+
+let
+  toolkit =
+    if withGTK3 then "gtk3"
+    else if withGTK2 then "gtk2"
+    else "lucid";
+in
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.4";
+  name = "emacs-24.5";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url    = "mirror://gnu/emacs/${name}.tar.xz";
-    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
+    sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [
-    ./darwin-new-sections.patch
     ./at-fdcwd.patch
   ];
 
@@ -28,17 +40,16 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isLinux dbus
     ++ stdenv.lib.optionals withX
       [ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
-        imagemagick gtk gconf ]
+        imagemagick gconf ]
+    ++ stdenv.lib.optional (withX && withGTK2) [ gtk2 ]
+    ++ stdenv.lib.optional (withX && withGTK3) [ gtk3 ]
     ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
 
   configureFlags =
-    ( if withX && withGTK then
-        [ "--with-x-toolkit=gtk" "--with-xft"]
-      else (if withX then
-        [ "--with-x-toolkit=lucid" "--with-xft" ]
-      else
-        [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
-          "--with-gif=no" "--with-tiff=no" ] ) );
+    if withX
+      then [ "--with-x-toolkit=${toolkit}" "--with-xft" ]
+      else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
+             "--with-gif=no" "--with-tiff=no" ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
     "-I${cairo}/include/cairo";
diff --git a/pkgs/applications/editors/emacs-24/macport-24.3.nix b/pkgs/applications/editors/emacs-24/macport-24.3.nix
index d9b32351040..191969eef5b 100644
--- a/pkgs/applications/editors/emacs-24/macport-24.3.nix
+++ b/pkgs/applications/editors/emacs-24/macport-24.3.nix
@@ -17,8 +17,6 @@ stdenv.mkDerivation rec {
     sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
   };
 
-  patches = [ ./darwin-new-sections.patch ];
-
   buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
 
   postUnpack = ''
diff --git a/pkgs/applications/editors/emacs-24/macport-24.4.nix b/pkgs/applications/editors/emacs-24/macport-24.4.nix
index 802faf44c64..b79ac6150ed 100644
--- a/pkgs/applications/editors/emacs-24/macport-24.4.nix
+++ b/pkgs/applications/editors/emacs-24/macport-24.4.nix
@@ -17,8 +17,6 @@ stdenv.mkDerivation rec {
     sha256 = "0qzzqnql0z0a2p3ciccy8gq79v0s7s717lchcprn3wlaqcrk2g1p";
   };
 
-  patches = [ ./darwin-new-sections.patch ];
-
   buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
 
   postUnpack = ''
diff --git a/pkgs/applications/editors/emacs-24/macport-24.5.nix b/pkgs/applications/editors/emacs-24/macport-24.5.nix
new file mode 100644
index 00000000000..db0d05584e1
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport-24.5.nix
@@ -0,0 +1,101 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  emacsName = "emacs-24.5";
+  name = "${emacsName}-mac-5.7";
+
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+    sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
+  };
+
+  macportSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+    sha256 = "1a86l3556h24x9ml6r8n6xbrxymb9gr38sicny3f0m281myhlsvv";
+  };
+
+  buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+  postUnpack = ''
+    mv $emacsName $name
+    tar xzf $macportSrc
+    mv $name $emacsName
+  '';
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
+    substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
+
+    patch -p1 < patch-mac
+
+    # The search for 'tputs' will fail because it's in ncursesw within the
+    # ncurses package, yet Emacs' configure script only looks in ncurses.
+    # Further, we need to make sure that the -L option occurs before mention
+    # of the library, so that it finds it within the Nix store.
+    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+    configureFlagsArray=(
+      LDFLAGS=-L${ncurses}/lib
+      --with-xml2=yes
+      --with-gnutls=yes
+      --with-mac
+      --enable-mac-app=$out/Applications
+    )
+    makeFlagsArray=(
+      CFLAGS=-O3
+      LDFLAGS="-O3 -L${ncurses}/lib"
+    );
+  '';
+
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+    ;; nixos specific load-path
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                             (split-string (getenv "NIX_PROFILES"))))
+                    load-path)))
+
+    ;; make tramp work for NixOS machines
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    EOF
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "GNU Emacs 24, the extensible, customizable text editor";
+    homepage    = http://www.gnu.org/software/emacs/;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      GNU Emacs is an extensible, customizable text editor—and more.  At its
+      core is an interpreter for Emacs Lisp, a dialect of the Lisp
+      programming language with extensions to support text editing.
+
+      The features of GNU Emacs include: content-sensitive editing modes,
+      including syntax coloring, for a wide variety of file types including
+      plain text, source code, and HTML; complete built-in documentation,
+      including a tutorial for new users; full Unicode support for nearly all
+      human languages and their scripts; highly customizable, using Emacs
+      Lisp code or a graphical interface; a large number of extensions that
+      add other functionality, including a project planner, mail and news
+      reader, debugger interface, calendar, and more.  Many of these
+      extensions are distributed with GNU Emacs; others are available
+      separately.
+
+      This is "Mac port" addition to GNU Emacs 24. This provides a native
+      GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
+      already contain the official GUI support via the NS (Cocoa) port for
+      Mac OS X 10.4 and later. So if it is good enough for you, then you
+      don't need to try this.
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix
index 90c32f0e2bc..7d987e73b91 100644
--- a/pkgs/applications/editors/emacs-modes/cask/default.nix
+++ b/pkgs/applications/editors/emacs-modes/cask/default.nix
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
     install -d "$out/bin"
     install bin/cask "$out/bin"
 
+    # We also need to install cask's templates in order for 'cask
+    # init' to work properly.
+    install -d "$out/templates"
+    install templates/* "$out/templates"
+
     # In order to work with cask's hard coded file paths (during bootstrap),
     # we have to create these links.
     ln -s "$out/share/emacs/site-lisp/"* "$out"
diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix
index 820e959a357..1a145e1b648 100644
--- a/pkgs/applications/editors/emacs-modes/icicles/default.nix
+++ b/pkgs/applications/editors/emacs-modes/icicles/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://www.emacswiki.org/emacs/Icicles";
-    description = "Enhance Emacs minibuffer input with cycling and powerful completion.";
+    description = "Enhance Emacs minibuffer input with cycling and powerful completion";
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ simons ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 0d6851a79e8..b99265cf0dd 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -63,9 +63,11 @@ let
       item=${desktopItem}
 
       makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \
-        --prefix PATH : "$out/libexec/${name},${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
-        --prefix JDK_HOME : "$jdk" \
-        --prefix ${hiName}_JDK : "$jdk"
+        --prefix PATH : "$out/libexec/${name}:${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
+        --set JDK_HOME "$jdk" \
+        --set ${hiName}_JDK "$jdk" \
+        --set ANDROID_JAVA_HOME "$jdk" \
+        --set JAVA_HOME "$jdk"
 
       ln -s "$item/share/applications" $out/share
     '';
@@ -210,50 +212,50 @@ in
 
   android-studio = buildAndroidStudio rec {
     name = "android-studio-${version}";
-    version = "1.1.0";
-    build = "135.1740770";
+    version = "1.2.0.8";
+    build = "141.1845774";
     description = "Android development environment based on IntelliJ IDEA";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
             "/android-studio-ide-${build}-linux.zip";
-      sha256 = "1r2hrld3yfaxq3mw2xmzhvrrhc7w5xlv3d18rv758hy9n40c2nr1";
+      sha256 = "1l201qv1aya1l9jrybgqclv2v2fgzdpcb6qsnxszcq3npplisw9h";
     };
   };
 
   clion = buildClion rec {
-    name = "clion-${build}";
-    version = "eap";
-    build = "141.102.4";
-    description  = "C/C++ IDE. New. Intelligent. Cross-platform.";
+    name = "clion-${version}";
+    version = "1.0";
+    build = "141.353";
+    description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/${name}.tar.gz";
-      sha256 = "0qjm8wxqn171wfd7yqf5ys1g4mwl0iyhlbry29jkgkikxp7h9dym";
+      sha256 = "0xjdx13ljp1vy51a7rsj25wg3bsvry4kxq5cdng8zrc1g2y1fqw5";
     };
   };
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "14.1";
-    build = "IC-141.177.4";
+    version = "14.1.2";
+    build = "IC-141.713.2";
     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 = "05irkxhmx6pisvghjalw8hcf9v3n4wn0n0zc92ahivzxlicylpr6";
+      sha256 = "1skxbax7gsxxf7519qasxwp9q0v9ff755ibqr1w47dv2al47kjzq";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "14.1";
-    build = "IU-141.177.4";
+    version = "14.1.2";
+    build = "IU-141.713.2";
     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 = "10zv3m44ci7gl7163yp4wxnjy7c0g5zl34c2ibnx4c6ds6l4di2p";
+      sha256 = "1ddy0f83rs3yx3w8v49cmlhkc8qxapdh702g26gzlapbpvfw58ay";
     };
   };
 
@@ -271,25 +273,25 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "4.0.5";
-    build = "139.1547";
+    version = "4.0.6";
+    build = "139.1659";
     description = "PyCharm 4.0 Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "16na04sp9q7z10kjx8wpf9k9bv9vgv7rmd9jnrn72nhwd7bp0n1i";
+      sha256 = "16lf2slssfgbds6zyp2rs0ssrg8aw5d2w7b755iqimiyfhyyv83s";
     };
   };
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "4.0.5";
-    build = "139.1547";
+    version = "4.0.6";
+    build = "139.1659";
     description = "PyCharm 4.0 Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "17cxznv7q47isym6l7kbp3jdzdgj02jayygy42x4bwjmg579v1gg";
+      sha256 = "0wavw41nzqnx75y3k3l5kq09i5d9j8hb4r6a0y3nxzqvmdfza55r";
     };
   };
 
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index e7b96bd4b7d..11137d1a962 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -11,10 +11,10 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.4.0";
+  version = "2.4.1";
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.gz";
-    sha256 = "1gbm9bcv4k55y01r5q8a8a9s3yrrgq3z5jxxiij3wl404r8gnxjh";
+    sha256 = "1li99ycnva40hiavm9lf34gjny74mj469x6ismrfm6wv3dgfn33a";
   };
   buildInputs = [ ncurses ] ++ optional enableNls gettext;
   configureFlags = ''
diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix
new file mode 100644
index 00000000000..a4dc3fe367a
--- /dev/null
+++ b/pkgs/applications/editors/yi/wrapper.nix
@@ -0,0 +1,36 @@
+# Note: this relies on dyre patched for NIX_GHC which is done in
+# haskell-ng only.
+#
+# To use this for hacking of your Yi config file, drop into a shell
+# with env attribute.
+{ stdenv, makeWrapper
+, haskellPackages
+, extraPackages ? (s: [])
+}:
+let
+  yiEnv = haskellPackages.ghcWithPackages
+    (self: [ self.yi ] ++ extraPackages self);
+in
+stdenv.mkDerivation {
+  name = "yi-custom";
+  version = "0.0.0.1";
+  unpackPhase = "true";
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    makeWrapper ${haskellPackages.yi}/bin/yi $out/bin/yi \
+      --set NIX_GHC ${yiEnv}/bin/ghc
+  '';
+
+  # For hacking purposes
+  env = yiEnv;
+
+  meta = with stdenv.lib; {
+    description = "Allows Yi to find libraries and the compiler easily";
+    # This wrapper and wrapper only is under PD
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+
+}
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
deleted file mode 100644
index cf1ab25da03..00000000000
--- a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-For more information, please refer to <http://unlicense.org>
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
deleted file mode 100644
index d9ffbb8e481..00000000000
--- a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
+++ /dev/null
@@ -1,17 +0,0 @@
-name:           yi-custom
-version:        0.0.0.1
-category:       Yi
-synopsis:       Convenience wrapper for nix
-description:    Convenience wrapper for nix
-license:        PublicDomain
-license-file:   LICENSE
-author:         Mateusz Kowalczyk
-maintainer:     fuuzetsu@fuuzetsu.co.uk
-Cabal-Version:  >= 1.10
-build-type:     Simple
-
-library
-  hs-source-dirs: .
-  default-language: Haskell2010
-  build-depends: base, yi
-  ghc-options: -threaded
diff --git a/pkgs/applications/editors/yi/yi-custom.nix b/pkgs/applications/editors/yi/yi-custom.nix
deleted file mode 100644
index 3dbd4611998..00000000000
--- a/pkgs/applications/editors/yi/yi-custom.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-# This is a manually-written expression over an in-tree cabal file.
-# It's awkward but this way allows the package user to pass in
-# extraPackages without much extra hassle on their end, similarly how
-# the XMonad service handles it: the difference is that we don't have
-# anything like XMONAD_GHC…
-#
-# The idea is that the user changes their configs using any libraries
-# he likes and then builds it using this expression. Once that's done,
-# ‘reload’ and similar functions should all work as long as the user
-# doesn't need new libraries at which point they should add them to
-# extraPackages and rebuild from the expression.
-{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }:
-let
-  w = ghcWithPackages (self: [ yi ] ++ extraPackages self);
-  wrappedGhc = w.override { ignoreCollisions = true; };
-in
-cabal.mkDerivation (self: rec {
-  pname = "yi-custom";
-  version = "0.0.0.1";
-  src = ./yi-custom-cabal;
-  isLibrary = true;
-  buildDepends = [ yi ];
-  buildTools = [ makeWrapper ];
-  noHaddock = true;
-  doCheck = false;
-
-  postInstall = ''
-    makeWrapper ${yi}/bin/yi $out/bin/yi \
-      --set NIX_GHC ${wrappedGhc}/bin/ghc \
-      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${self.ghc.version}
-  '';
-  meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
-    description = "Wrapper over user-specified Haskell libraries for use in Yi config";
-    license = self.stdenv.lib.licenses.publicDomain;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-  };
-
-})
\ No newline at end of file
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
index a63375adfd1..f9ef27d999d 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -30,7 +30,7 @@ cabal.mkDerivation (self: {
   configureFlags = "-fpango -fvty";
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8";
   meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
+    homepage = http://haskell.org/haskellwiki/Yi;
     description = "The Haskell-Scriptable Editor";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;