diff --git a/cabal2nix.cabal b/cabal2nix.cabal
--- a/cabal2nix.cabal
+++ b/cabal2nix.cabal
@@ -1,5 +1,5 @@
 Name:                   cabal2nix
-Version:                1.59
+Version:                1.60
 Copyright:              Peter Simons, Andres Loeh
 License:                BSD3
 License-File:           LICENSE
@@ -34,8 +34,8 @@
   .
   The only required argument is the path to the cabal file. For example:
   .
-  > cabal2nix http://hackage.haskell.org/packages/archive/cabal2nix/1.59/cabal2nix.cabal
-  > cabal2nix cabal://cabal2nix-1.59
+  > cabal2nix http://hackage.haskell.org/packages/archive/cabal2nix/1.60/cabal2nix.cabal
+  > cabal2nix cabal://cabal2nix-1.60
   .
   If the @--sha256@ option has not been specified, cabal2nix calls
   @nix-prefetch-url@ to determine the hash automatically. This causes
diff --git a/src/Cabal2Nix/Flags.hs b/src/Cabal2Nix/Flags.hs
--- a/src/Cabal2Nix/Flags.hs
+++ b/src/Cabal2Nix/Flags.hs
@@ -12,6 +12,7 @@
                                   , enable "Production", enable "TDFA"]
  | name == "haskeline"          = [enable "terminfo"]
  | name == "hslua"              = [enable "system-lua"]
+ | name == "idris"              = [enable "llvm", enable "gmp", enable "ffi"]
  | name == "io-streams"         = [enable "NoInteractiveTests"]
  | name == "reactive-banana-wx" = [disable "buildExamples"]
  | name == "xmobar"             = [enable "with_xft", enable "with_iwlib", enable "with_alsa"]
diff --git a/src/Cabal2Nix/License.hs b/src/Cabal2Nix/License.hs
--- a/src/Cabal2Nix/License.hs
+++ b/src/Cabal2Nix/License.hs
@@ -5,18 +5,19 @@
 import Data.Version
 
 fromCabalLicense :: Distribution.License.License -> Distribution.NixOS.Derivation.License.License
-fromCabalLicense (GPL Nothing)                     = Unknown (Just "GPL")
-fromCabalLicense (GPL (Just (Version [2] [])))     = Known "self.stdenv.lib.licenses.gpl2"
-fromCabalLicense (GPL (Just (Version [3] [])))     = Known "self.stdenv.lib.licenses.gpl3"
-fromCabalLicense (LGPL Nothing)                    = Unknown (Just "LGPL")
-fromCabalLicense (LGPL (Just (Version [2,1] [])))  = Known "self.stdenv.lib.licenses.lgpl21"
-fromCabalLicense (LGPL (Just (Version [2] [])))    = Known "self.stdenv.lib.licenses.lgpl2"
-fromCabalLicense (LGPL (Just (Version [3] [])))    = Known "self.stdenv.lib.licenses.gpl3"
-fromCabalLicense BSD3                              = Known "self.stdenv.lib.licenses.bsd3"
-fromCabalLicense BSD4                              = Known "self.stdenv.lib.licenses.bsd4"
-fromCabalLicense MIT                               = Known "self.stdenv.lib.licenses.mit"
-fromCabalLicense PublicDomain                      = Known "self.stdenv.lib.licenses.publicDomain"
-fromCabalLicense AllRightsReserved                 = Known "self.stdenv.lib.licenses.proprietary"
-fromCabalLicense (Apache Nothing)                  = Known "self.stdenv.lib.licenses.asl20"
-fromCabalLicense OtherLicense                      = Unknown Nothing
-fromCabalLicense l                                 = error $ "Cabal2Nix.License.fromCabalLicense: unknown license " ++ show l
+fromCabalLicense (GPL Nothing)                          = Unknown (Just "GPL")
+fromCabalLicense (GPL (Just (Version [2] [])))          = Known "self.stdenv.lib.licenses.gpl2"
+fromCabalLicense (GPL (Just (Version [3] [])))          = Known "self.stdenv.lib.licenses.gpl3"
+fromCabalLicense (LGPL Nothing)                         = Unknown (Just "LGPL")
+fromCabalLicense (LGPL (Just (Version [2,1] [])))       = Known "self.stdenv.lib.licenses.lgpl21"
+fromCabalLicense (LGPL (Just (Version [2] [])))         = Known "self.stdenv.lib.licenses.lgpl2"
+fromCabalLicense (LGPL (Just (Version [3] [])))         = Known "self.stdenv.lib.licenses.gpl3"
+fromCabalLicense BSD3                                   = Known "self.stdenv.lib.licenses.bsd3"
+fromCabalLicense BSD4                                   = Known "self.stdenv.lib.licenses.bsd4"
+fromCabalLicense MIT                                    = Known "self.stdenv.lib.licenses.mit"
+fromCabalLicense PublicDomain                           = Known "self.stdenv.lib.licenses.publicDomain"
+fromCabalLicense AllRightsReserved                      = Known "self.stdenv.lib.licenses.unfree"
+fromCabalLicense (Apache Nothing)                       = Known "self.stdenv.lib.licenses.asl20"
+fromCabalLicense (Apache (Just (Version [2,0] [])))     = Known "self.stdenv.lib.licenses.asl20"
+fromCabalLicense OtherLicense                           = Unknown Nothing
+fromCabalLicense l                                      = error $ "Cabal2Nix.License.fromCabalLicense: unknown license " ++ show l
diff --git a/src/Cabal2Nix/Name.hs b/src/Cabal2Nix/Name.hs
--- a/src/Cabal2Nix/Name.hs
+++ b/src/Cabal2Nix/Name.hs
@@ -17,80 +17,81 @@
 -- possibility of name clashes with Haskell libraries. I have included
 -- identity mappings to incicate that I have verified their correctness.
 libNixName :: String -> [String]
-libNixName "adns"               = return "adns"
-libNixName "alsa"               = return "alsaLib"
-libNixName "asound"             = return "alsaLib"
-libNixName "cairo-pdf"          = return "cairo"
-libNixName "cairo-ps"           = return "cairo"
-libNixName "cairo"              = return "cairo"
-libNixName "cairo-svg"          = return "cairo"
-libNixName "crypto"             = return "openssl"
-libNixName "dl"                 = []  -- provided by glibc
-libNixName "gconf-2.0"          = return "gconf"
-libNixName "gdk-2.0"            = return "gtk"
-libNixName "gdk-pixbuf-2.0"     = return "gdk_pixbuf"
-libNixName "gio-2.0"            = return "glib"
-libNixName "glib-2.0"           = return "glib"
-libNixName "GL"                 = return "mesa"
-libNixName "GLU"                = ["freeglut","mesa"]
-libNixName "glut"               = ["freeglut","mesa"]
-libNixName "gnome-keyring-1"    = return "gnome_keyring"
-libNixName "gnome-keyring"      = return "gnome_keyring"
-libNixName "gobject-2.0"        = return "glib"
-libNixName "gstreamer-0.10"     = return "gstreamer"
+libNixName "adns"                               = return "adns"
+libNixName "alsa"                               = return "alsaLib"
+libNixName "asound"                             = return "alsaLib"
+libNixName "cairo-pdf"                          = return "cairo"
+libNixName "cairo-ps"                           = return "cairo"
+libNixName "cairo"                              = return "cairo"
+libNixName "cairo-svg"                          = return "cairo"
+libNixName "crypto"                             = return "openssl"
+libNixName "dl"                                 = []  -- provided by glibc
+libNixName "gconf-2.0"                          = return "gconf"
+libNixName "gdk-2.0"                            = return "gtk"
+libNixName "gdk-pixbuf-2.0"                     = return "gdk_pixbuf"
+libNixName "gio-2.0"                            = return "glib"
+libNixName "glib-2.0"                           = return "glib"
+libNixName "GL"                                 = return "mesa"
+libNixName "GLU"                                = ["freeglut","mesa"]
+libNixName "glut"                               = ["freeglut","mesa"]
+libNixName "gnome-keyring-1"                    = return "gnome_keyring"
+libNixName "gnome-keyring"                      = return "gnome_keyring"
+libNixName "gobject-2.0"                        = return "glib"
+libNixName "gstreamer-0.10"                     = return "gstreamer"
 libNixName "gstreamer-audio-0.10"               = return "gstreamer-audio"
 libNixName "gstreamer-base-0.10"                = return "gstreamer-base"
 libNixName "gstreamer-controller-0.10"          = return "gstreamer-controller"
 libNixName "gstreamer-dataprotocol-0.10"        = return "gstreamer-dataprotocol"
 libNixName "gstreamer-net-0.10"                 = return "gstreamer-net"
 libNixName "gstreamer-plugins-base-0.10"        = return "gstreamer-plugins-base"
-libNixName "gthread-2.0"        = return "glib"
-libNixName "gtk+-2.0"           = return "gtk"
-libNixName "gtkglext-1.0"       = return "gtkglext"
-libNixName "gtksourceview-2.0"  = return "gtksourceview"
-libNixName "icudata"            = return "icu"
-libNixName "icui18n"            = return "icu"
-libNixName "icuuc"              = return "icu"
-libNixName "idn"                = return "libidn"
-libNixName "IL"                 = return "libdevil"
-libNixName "iw"                 = return "wirelesstools"
-libNixName "jpeg"               = return "libjpeg"
-libNixName "libglade-2.0"       = return "libglade"
-libNixName "libgsasl"           = return "gsasl"
-libNixName "librsvg-2.0"        = return "librsvg"
-libNixName "libusb-1.0"         = return "libusb"
-libNixName "libxml-2.0"         = return "libxml2"
-libNixName "libzip"             = return "libzip"
-libNixName "m"                  = []  -- in stdenv
-libNixName "ncursesw"           = return "ncurses"
-libNixName "panelw"             = return "ncurses"
-libNixName "pangocairo"         = return "pango"
-libNixName "pcre"               = return "pcre"
-libNixName "png"                = return "libpng"
-libNixName "poppler-glib"       = return "popplerGlib"
-libNixName "pq"                 = return "postgresql"
-libNixName "pthread"            = []
-libNixName "sndfile"            = return "libsndfile"
-libNixName "sqlite3"            = return "sqlite"
-libNixName "ssl"                = return "openssl"
-libNixName "stdc++"             = []  -- in stdenv
-libNixName "webkit-1.0"         = return "webkit"
-libNixName "X11"                = return "libX11"
-libNixName "Xext"               = return "libXext"
-libNixName "xft"                = return "libXft"
-libNixName "Xi"                 = return "libXi"
-libNixName "xml2"               = return "libxml2"
-libNixName "Xrandr"             = return "libXrandr"
-libNixName "Xss"                = return "libXScrnSaver"
-libNixName "Xtst"               = return "libXtst"
-libNixName "zmq"                = return "zeromq"
-libNixName "z"                  = return "zlib"
-libNixName x                    = return x
+libNixName "gthread-2.0"                        = return "glib"
+libNixName "gtk+-2.0"                           = return "gtk"
+libNixName "gtkglext-1.0"                       = return "gtkglext"
+libNixName "gtksourceview-2.0"                  = return "gtksourceview"
+libNixName "icudata"                            = return "icu"
+libNixName "icui18n"                            = return "icu"
+libNixName "icuuc"                              = return "icu"
+libNixName "idn"                                = return "libidn"
+libNixName "IL"                                 = return "libdevil"
+libNixName "iw"                                 = return "wirelesstools"
+libNixName "jpeg"                               = return "libjpeg"
+libNixName "libglade-2.0"                       = return "libglade"
+libNixName "libgsasl"                           = return "gsasl"
+libNixName "librsvg-2.0"                        = return "librsvg"
+libNixName "libusb-1.0"                         = return "libusb"
+libNixName "libxml-2.0"                         = return "libxml2"
+libNixName "libzip"                             = return "libzip"
+libNixName "libzmq"                             = return "zeromq"
+libNixName "m"                                  = []  -- in stdenv
+libNixName "ncursesw"                           = return "ncurses"
+libNixName "panelw"                             = return "ncurses"
+libNixName "pangocairo"                         = return "pango"
+libNixName "pcre"                               = return "pcre"
+libNixName "png"                                = return "libpng"
+libNixName "poppler-glib"                       = return "popplerGlib"
+libNixName "pq"                                 = return "postgresql"
+libNixName "pthread"                            = []
+libNixName "sndfile"                            = return "libsndfile"
+libNixName "sqlite3"                            = return "sqlite"
+libNixName "ssl"                                = return "openssl"
+libNixName "stdc++"                             = []  -- in stdenv
+libNixName "webkit-1.0"                         = return "webkit"
+libNixName "X11"                                = return "libX11"
+libNixName "Xext"                               = return "libXext"
+libNixName "xft"                                = return "libXft"
+libNixName "Xi"                                 = return "libXi"
+libNixName "xml2"                               = return "libxml2"
+libNixName "Xrandr"                             = return "libXrandr"
+libNixName "Xss"                                = return "libXScrnSaver"
+libNixName "Xtst"                               = return "libXtst"
+libNixName "zmq"                                = return "zeromq"
+libNixName "z"                                  = return "zlib"
+libNixName x                                    = return x
 
 -- | Map build tool names to Nix attribute names.
 buildToolNixName :: String -> [String]
-buildToolNixName "cabal"                = return "cabalInstall"
-buildToolNixName "gtk2hsC2hs"           = return "gtk2hsBuildtools"
-buildToolNixName "gtk2hsHookGenerator"  = return "gtk2hsBuildtools"
-buildToolNixName "gtk2hsTypeGen"        = return "gtk2hsBuildtools"
-buildToolNixName x                      = return (toNixName x)
+buildToolNixName "cabal"                        = return "cabalInstall"
+buildToolNixName "gtk2hsC2hs"                   = return "gtk2hsBuildtools"
+buildToolNixName "gtk2hsHookGenerator"          = return "gtk2hsBuildtools"
+buildToolNixName "gtk2hsTypeGen"                = return "gtk2hsBuildtools"
+buildToolNixName x                              = return (toNixName x)
diff --git a/src/Cabal2Nix/PostProcess.hs b/src/Cabal2Nix/PostProcess.hs
--- a/src/Cabal2Nix/PostProcess.hs
+++ b/src/Cabal2Nix/PostProcess.hs
@@ -21,6 +21,7 @@
   | pname == "doctest"          = deriv { runHaddock = True, phaseOverrides = doctestNoHaddock }
   | pname == "editline"         = deriv { extraLibs = "libedit":extraLibs }
   | pname == "epic"             = deriv { extraLibs = "gmp":"boehmgc":extraLibs, buildTools = "happy":buildTools }
+  | pname == "either"           = deriv { runHaddock = True, phaseOverrides = eitherNoHaddock }
   | pname == "ghc-heap-view"    = deriv { phaseOverrides = ghciPostInstall }
   | pname == "ghc-mod"          = deriv { phaseOverrides = ghcModPostInstall, buildTools = "emacs":buildTools }
   | pname == "ghc-paths"        = deriv { phaseOverrides = ghcPathsPatches }
@@ -180,6 +181,7 @@
   , "  cp dist/build/git-annex/git-annex git-annex"
   , "  ./git-annex test"
   , "'';"
+  , "propagatedUserEnvPkgs = [git lsof];"
   ]
 
 ghciPostInstall :: String
@@ -221,7 +223,10 @@
 trifectaPostPatch = unlines
   [ "postPatch = ''"
   , "  substituteInPlace trifecta.cabal \\"
-  , "    --replace \"blaze-html           >= 0.5     && < 0.6,\" \"blaze-html           >= 0.5     && < 0.7,\" \\"
+  , "    --replace \"blaze-html           >= 0.5     && < 0.6,\" \"blaze-html           >= 0.5     && < 0.8,\" \\"
+  , "    --replace \"blaze-html           >= 0.5     && < 0.7,\" \"blaze-html           >= 0.5     && < 0.8,\" \\"
+  , "    --replace \"blaze-markup         >= 0.5     && < 0.6,\" \"blaze-markup         >= 0.5     && < 0.7,\" \\"
+  , "    --replace \"hashable             >= 1.2.1   && < 1.3,\" \"hashable             >= 1.1     && < 1.3,\" \\"
   , "    --replace \"hashable             >= 1.2     && < 1.3,\" \"hashable             >= 1.1     && < 1.3,\" \\"
   , "    --replace \"fingertree           >= 0.0.1   && < 0.1,\" \"fingertree           >= 0.0.1   && < 0.2,\" \\"
   , "    --replace \"comonad              == 3.*,\"              \"comonad              >= 3       && < 5,\" \\"
@@ -235,3 +240,6 @@
 
 cabal2nixDoCheckHook :: String
 cabal2nixDoCheckHook = "doCheck = self.stdenv.lib.versionOlder \"7.6\" self.ghc.version;"
+
+eitherNoHaddock :: String
+eitherNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.6\";"
