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/bvi/default.nix15
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-24/macport.nix8
-rw-r--r--pkgs/applications/editors/emacs-modes/git-modes/default.nix29
-rw-r--r--pkgs/applications/editors/emacs-modes/magit/default.nix33
-rw-r--r--pkgs/applications/editors/leafpad/default.nix24
-rw-r--r--pkgs/applications/editors/vim/macvim.nix12
-rw-r--r--pkgs/applications/editors/vim/macvim.patch33
-rw-r--r--pkgs/applications/editors/yi/yi-contrib.nix21
-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.nix68
13 files changed, 232 insertions, 101 deletions
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix
index e598fa19c5e..f3f44f769a9 100644
--- a/pkgs/applications/editors/bvi/default.nix
+++ b/pkgs/applications/editors/bvi/default.nix
@@ -1,18 +1,21 @@
 { stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "bvi-1.3.2";
+stdenv.mkDerivation rec {
+  name = "bvi-${version}";
+  version = "1.4.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz;
-    sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz";
+    url = "mirror://sourceforge/bvi/${name}.src.tar.gz";
+    sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1";
   };
 
   buildInputs = [ ncurses ];
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "Hex editor with vim style keybindings";
     homepage = http://bvi.sourceforge.net/download.html;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 3bfee481c9c..8f954515b8f 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.3";
+  name = "emacs-24.4";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url    = "mirror://gnu/emacs/${name}.tar.xz";
-    sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
   };
 
   patches = [ ./darwin-new-sections.patch ];
@@ -35,10 +35,7 @@ stdenv.mkDerivation rec {
         [ "--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" ] ) )
-    # On NixOS, help Emacs find `crt*.o'.
-    ++ stdenv.lib.optional (stdenv ? glibc)
-         [ "--with-crt-dir=${stdenv.glibc}/lib" ];
+          "--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.nix b/pkgs/applications/editors/emacs-24/macport.nix
index d9b32351040..b357d19b674 100644
--- a/pkgs/applications/editors/emacs-24/macport.nix
+++ b/pkgs/applications/editors/emacs-24/macport.nix
@@ -2,19 +2,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  emacsName = "emacs-24.3";
-  name = "${emacsName}-mac-4.8";
+  emacsName = "emacs-24.4";
+  name = "${emacsName}-mac-5.0";
 
   #builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
-    sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
   };
 
   macportSrc = fetchurl {
     url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
-    sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
+    sha256 = "14ipkwmzv0b02sclhgp2xj0cvhl3gk40sc2l21s87621kk640dzv";
   };
 
   patches = [ ./darwin-new-sections.patch ];
diff --git a/pkgs/applications/editors/emacs-modes/git-modes/default.nix b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
new file mode 100644
index 00000000000..8a2ca6eb909
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, emacs }:
+
+let
+  version = "0.15.0-8-g4e10851";
+in
+stdenv.mkDerivation {
+  name = "git-modes-${version}";
+
+  src = fetchFromGitHub {
+    owner = "magit";
+    repo = "git-modes";
+    rev = "4e10851843145e0c05fc665683d3b487a57ad114";
+    sha256 = "13j794a2p4ql9dnw2z0c1m0ybclxsicbk8cmmfqcchs4ygiyc6ag";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    mv *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = "https://github.com/magit/git-modes";
+    description = "Emacs modes for various Git-related files";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index 076caf5235b..4a8d8b20d04 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -1,25 +1,35 @@
-{ stdenv, fetchurl, emacs, texinfo }:
+{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
 
 let
-  version = "1.2.0";
+  version = "90141016";
 in
 stdenv.mkDerivation rec {
   name = "magit-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/downloads/magit/magit/${name}.tar.gz";
-    sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg";
+  src = fetchFromGitHub {
+    owner = "magit";
+    repo = "magit";
+    rev = version;
+    sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3";
   };
 
-  buildInputs = [ emacs texinfo ];
+  buildInputs = [ emacs texinfo git ];
+  propagatedUserEnvPkgs = [ gitModes ];
 
-  configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
+  configurePhase = ''
+    makeFlagsArray=(
+      PREFIX="$out"
+      EFLAGS="-L ${gitModes}/share/emacs/site-lisp"
+      lispdir="$out/share/emacs/site-lisp"
+    )
+  '';
+
+  doCheck = true;
+  checkTarget = "test";
 
-  # Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
   postInstall = ''
-    mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
-    sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
-    rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
+    mkdir -p $out/bin
+    mv "bin/"* $out/bin/
   '';
 
   meta = {
@@ -39,7 +49,6 @@ stdenv.mkDerivation rec {
       save you from learning Git itself.
     '';
 
-    platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ simons ];
   };
 }
diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix
new file mode 100644
index 00000000000..fc35a993bad
--- /dev/null
+++ b/pkgs/applications/editors/leafpad/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "0.8.18.1";
+  name = "leafpad-${version}";
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz";
+    sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk ];
+
+  configureFlags = [
+    "--enable-chooser"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A notepad clone for GTK+ 2.0";
+    homepage = http://tarot.freeshell.org/leafpad;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flosse ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index feafa7b9977..8fc3a4108d2 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,17 +1,16 @@
-{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
+{ stdenv, fetchFromGitHub, ncurses, gettext,
   pkgconfig, cscope, python, ruby, tcl, perl, luajit
 }:
 
-let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
-in mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "macvim-${version}";
 
-  version = "7.4.355";
+  version = "7.4.479";
 
   src = fetchFromGitHub {
     owner = "genoma";
     repo = "macvim";
-    rev = "c18a61f9723565664ffc2eda9179e96c95860e25";
+    rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59";
     sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
   };
 
@@ -46,6 +45,7 @@ in mkDerivation rec {
       "--enable-perlinterp=dynamic"
       "--enable-rubyinterp=dynamic"
       "--enable-tclinterp=yes"
+      "--without-local-dir"
       "--with-luajit"
       "--with-lua-prefix=${luajit}"
       "--with-ruby-command=${ruby}/bin/ruby"
@@ -54,6 +54,8 @@ in mkDerivation rec {
       "--with-compiledby=Nix"
   ];
 
+  makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
+
   preConfigure = ''
     DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
     configureFlagsArray+=(
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
index a789b9952d2..a42ebd4cc03 100644
--- a/pkgs/applications/editors/vim/macvim.patch
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -187,3 +187,36 @@ index bc9f074..9b9125e 100755
    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
    # would make configure fail if this is the last instruction.
    $ac_cs_success || as_fn_exit 1
+
+diff --git a/src/Makefile b/src/Makefile
+index 1c4d104..fff2015 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC	= gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
+ 		  MacVim/MacVim.m
+ MACVIMGUI_OBJ	= objects/gui.o objects/gui_beval.o objects/pty.o \
+ 		  objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
+-MACVIMGUI_DEFS	= -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
++MACVIMGUI_DEFS	= -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
+ MACVIMGUI_IPATH	=
+ MACVIMGUI_LIBS_DIR =
+ MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
+
+diff --git a/src/if_python.c b/src/if_python.c
+index b356bf7..b7bfa78 100644
+--- a/src/if_python.c
++++ b/src/if_python.c
+@@ -55,11 +55,7 @@
+ 
+ #define PY_SSIZE_T_CLEAN
+ 
+-#ifdef FEAT_GUI_MACVIM
+-# include <Python/Python.h>
+-#else
+-# include <Python.h>
+-#endif
++#include <Python.h>
+ 
+ #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
+ # undef PY_SSIZE_T_CLEAN
+ MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
deleted file mode 100644
index 2678f0a0048..00000000000
--- a/pkgs/applications/editors/yi/yi-contrib.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }:
-
-cabal.mkDerivation (self: {
-  pname = "yi-contrib";
-  version = "0.8.2";
-  sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm";
-  buildDepends = [
-    filepath lens mtl split time transformersBase yi
-  ];
-  meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
-    description = "Add-ons to Yi, the Haskell-Scriptable Editor";
-    license = "GPL";
-    broken = true;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-  };
-})
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
new file mode 100644
index 00000000000..cf1ab25da03
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 00000000000..d9ffbb8e481
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
@@ -0,0 +1,17 @@
+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
new file mode 100644
index 00000000000..3dbd4611998
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom.nix
@@ -0,0 +1,40 @@
+# 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 9b9287a50f1..d6a601a0aef 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -1,65 +1,39 @@
-{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
-, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree
-, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec
-, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe
-, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase
-, uniplate, unixCompat, unorderedContainers, utf8String, vty
-, xdgBasedir
-, withPango ? true
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-# User may need extra dependencies for their configuration file so we
-# want to specify it here to have them available when wrapping the
-# produced binary.
-, extraDepends ? [ ]
+{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist
+, dynamicState, dyre, filepath, glib, gtk, hashable, hint, HUnit
+, lens, mtl, ooPrototypes, pango, parsec, pointedlist, QuickCheck
+, random, regexBase, regexTdfa, safe, semigroups, split, tagged
+, tasty, tastyHunit, tastyQuickcheck, text, time, transformersBase
+, unixCompat, unorderedContainers, utf8String, vty, wordTrie
+, xdgBasedir, yiLanguage, yiRope
 }:
 
 cabal.mkDerivation (self: {
   pname = "yi";
-  version = "0.8.2";
-  sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
+  version = "0.10.1";
+  sha256 = "1vj4ndp43w7xlji4p2px79a8g90p64g54sr3hx4pzimwrlpmifk8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary Cabal cautiousFile concreteTyperep dataDefault derive Diff
-    dlist dyre filepath fingertree hashable hint lens mtl
+    binary Cabal cautiousFile dataDefault derive dlist dynamicState
+    dyre filepath glib gtk hashable hint lens mtl ooPrototypes pango
     parsec pointedlist QuickCheck random regexBase regexTdfa safe
-    split time transformersBase uniplate unixCompat unorderedContainers
-    utf8String vty xdgBasedir
-  ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends;
+    semigroups split tagged text time transformersBase unixCompat
+    unorderedContainers utf8String vty wordTrie xdgBasedir yiLanguage
+    yiRope
+  ];
   testDepends = [
-    filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck
+    filepath HUnit lens QuickCheck semigroups tasty tastyHunit
+    tastyQuickcheck text yiLanguage yiRope
   ];
-  buildTools = [ alex ];
-  configureFlags = if withPango then "-fpango" else "-f-pango";
-  doCheck = false;
-
-  # https://ghc.haskell.org/trac/ghc/ticket/9170
-  noHaddock = self.ghc.version == "7.6.3";
-
-  # Allows Yi to find the libraries it needs at runtime.
-  postInstall = ''
-    mv $out/bin/yi $out/bin/.yi-wrapped
-    cat - > $out/bin/yi <<EOF
-    #! ${self.stdenv.shell}
-    # Trailing : is necessary for it to pick up Prelude &c.
-    export GHC_PACKAGE_PATH=$(${self.ghc.GHCGetPackages} ${self.ghc.version} \
-                              | sed 's/-package-db\ //g' \
-                              | sed 's/^\ //g' \
-                              | sed 's/\ /:/g')\
-    :$out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:
-
-    eval exec $out/bin/.yi-wrapped "\$@"
-    EOF
-    chmod +x $out/bin/yi
-  '';
-
+  configureFlags = "-fpango -fvty";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8";
   meta = {
     homepage = "http://haskell.org/haskellwiki/Yi";
     description = "The Haskell-Scriptable Editor";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ];
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })