diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix index 96e4a06965c1..e689bdff4f69 100644 --- a/pkgs/applications/editors/yi/yi.nix +++ b/pkgs/applications/editors/yi/yi.nix @@ -5,6 +5,12 @@ , split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase , uniplate, unixCompat, unorderedContainers, utf8String, vty , xdgBasedir +, withPango ? true + +# 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.mkDerivation (self: { @@ -15,21 +21,43 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ binary Cabal cautiousFile concreteTyperep dataDefault derive Diff - dlist dyre filepath fingertree glib gtk hashable hint lens mtl - pango parsec pointedlist QuickCheck random regexBase regexTdfa safe + dlist dyre filepath fingertree hashable hint lens mtl + parsec pointedlist QuickCheck random regexBase regexTdfa safe split time transformersBase uniplate unixCompat unorderedContainers utf8String vty xdgBasedir - ]; + ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends; testDepends = [ filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck ]; buildTools = [ alex ]; - configureFlags = "-fpango"; + 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 <