@@ -7,6 +7,9 @@ import Data.List
77
88postProcess :: Derivation -> Derivation
99postProcess deriv@(MkDerivation {..})
10+ | pname == "aeson" && version > Version [0,7] []
11+ = deriv { buildDepends = "blazeBuilder":buildDepends }
12+ | pname == "Agda" = deriv { buildTools = "emacs":buildTools, phaseOverrides = agdaPostInstall }
1013 | pname == "alex" && version < Version [3,1] []
1114 = deriv { buildTools = "perl":buildTools }
1215 | pname == "alex" && version >= Version [3,1] []
@@ -21,6 +24,7 @@ postProcess deriv@(MkDerivation {..})
2124 | pname == "doctest" = deriv { runHaddock = True, phaseOverrides = doctestNoHaddock }
2225 | pname == "editline" = deriv { extraLibs = "libedit":extraLibs }
2326 | pname == "epic" = deriv { extraLibs = "gmp":"boehmgc":extraLibs, buildTools = "happy":buildTools }
27+ | pname == "either" = deriv { runHaddock = True, phaseOverrides = eitherNoHaddock }
2428 | pname == "ghc-heap-view" = deriv { phaseOverrides = ghciPostInstall }
2529 | pname == "ghc-mod" = deriv { phaseOverrides = ghcModPostInstall, buildTools = "emacs":buildTools }
2630 | pname == "ghc-paths" = deriv { phaseOverrides = ghcPathsPatches }
@@ -29,6 +33,7 @@ postProcess deriv@(MkDerivation {..})
2933 | pname == "github-backup" = deriv { buildTools = "git":buildTools }
3034 | pname == "glade" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, pkgConfDeps = "gtkC":delete "gtk" pkgConfDeps }
3135 | pname == "glib" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
36+ | pname == "gloss-raster" = deriv { extraLibs = "llvm":extraLibs }
3237 | pname == "GLUT" = deriv { extraLibs = "glut":"libSM":"libICE":"libXmu":"libXi":"mesa":extraLibs }
3338 | pname == "gtk" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, buildDepends = delete "gio" buildDepends }
3439 | pname == "gtksourceview2" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
@@ -55,6 +60,8 @@ postProcess deriv@(MkDerivation {..})
5560 | pname == "llvm-general-pure"= deriv { doCheck = False }
5661 | pname == "markdown-unlit" = deriv { runHaddock = True, phaseOverrides = markdownUnlitNoHaddock }
5762 | pname == "multiarg" = deriv { buildDepends = "utf8String":buildDepends }
63+ | pname == "mime-mail" = deriv { extraFunctionArgs = ["sendmail ? \"sendmail\""], phaseOverrides = mimeMailConfigureFlags }
64+ | pname == "mysql" = deriv { buildTools = "mysqlConfig":buildTools, extraLibs = "zlib":extraLibs }
5865 | pname == "ncurses" = deriv { phaseOverrides = ncursesPatchPhase }
5966 | pname == "OpenAL" = deriv { extraLibs = "openal":extraLibs }
6067 | pname == "OpenGL" = deriv { extraLibs = "mesa":"libX11":extraLibs }
@@ -62,15 +69,18 @@ postProcess deriv@(MkDerivation {..})
6269 | pname == "pango" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
6370 | pname == "pcap" = deriv { extraLibs = "libpcap":extraLibs }
6471 | pname == "persistent" = deriv { extraLibs = "sqlite3":extraLibs }
72+ | pname == "poppler" = deriv { extraLibs = "libc":extraLibs }
6573 | pname == "repa-algorithms" = deriv { extraLibs = "llvm":extraLibs }
6674 | pname == "repa-examples" = deriv { extraLibs = "llvm":extraLibs }
6775 | pname == "SDL-image" = deriv { extraLibs = "SDL_image":extraLibs }
6876 | pname == "SDL-mixer" = deriv { extraLibs = "SDL_mixer":extraLibs }
6977 | pname == "SDL-ttf" = deriv { extraLibs = "SDL_ttf":extraLibs }
78+ | pname == "sloane" = deriv { phaseOverrides = sloanePostInstall }
79+ | pname == "structured-haskell-mode" = deriv { buildTools = "emacs":buildTools, phaseOverrides = structuredHaskellModePostInstall }
7080 | pname == "svgcairo" = deriv { extraLibs = "libc":extraLibs }
7181 | pname == "terminfo" = deriv { extraLibs = "ncurses":extraLibs }
7282 | pname == "threadscope" = deriv { configureFlags = "--ghc-options=-rtsopts":configureFlags }
73− | pname == "trifecta" = deriv { phaseOverrides = trifectaPostPatch }
83+ | pname == "unix-time" = deriv { phaseOverrides = unixTimeConfigureFlags }
7484 | pname == "vacuum" = deriv { extraLibs = "ghcPaths":extraLibs }
7585 | pname == "wxc" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs, phaseOverrides = wxcPostInstall }
7686 | pname == "wxcore" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs }
@@ -162,22 +172,24 @@ highlightingKatePostProcessing deriv@(MkDerivation {..}) = deriv
162172xmonadPostInstall :: String
163173xmonadPostInstall = unlines
164174 [ "postInstall = ''"
175+ , " shopt -s globstar"
165176 , " mkdir -p $out/share/man/man1"
166− , " mv $out/share/xmonad-*/man/*.1 $out/share/man/man1/"
177+ , " mv \"$out/\"**\"/man/\"*.1 $out/share/man/man1/"
167178 , "'';"
168179 ]
169180
170181gitAnnexOverrides :: String
171182gitAnnexOverrides = unlines
172− [ "installPhase = ''"
183+ [ "preConfigure = ''"
173184 , " export HOME=\"$NIX_BUILD_TOP/tmp\""
174185 , " mkdir \"$HOME\""
175− , " ./Setup install"
176186 , "'';"
187+ , "installPhase = \"./Setup install\";"
177188 , "checkPhase = ''"
178189 , " cp dist/build/git-annex/git-annex git-annex"
179190 , " ./git-annex test"
180191 , "'';"
192+ , "propagatedUserEnvPkgs = [git lsof];"
181193 ]
182194
183195ghciPostInstall :: String
@@ -215,21 +227,45 @@ lhs2texPostInstall = unlines
215227ncursesPatchPhase :: String
216228ncursesPatchPhase = "patchPhase = \"find . -type f -exec sed -i -e 's|ncursesw/||' {} \\\\;\";"
217229
218−trifectaPostPatch :: String
219−trifectaPostPatch = unlines
220− [ "postPatch = ''"
221− , " substituteInPlace trifecta.cabal \\"
222− , " --replace \"blaze-html >= 0.5 && < 0.6,\" \"blaze-html >= 0.5 && < 0.7,\" \\"
223− , " --replace \"hashable >= 1.2 && < 1.3,\" \"hashable >= 1.1 && < 1.3,\" \\"
224− , " --replace \"fingertree >= 0.0.1 && < 0.1,\" \"fingertree >= 0.0.1 && < 0.2,\" \\"
225− , " --replace \"comonad == 3.*,\" \"comonad >= 3 && < 5,\" \\"
226− , " --replace \"comonad >= 3 && < 4,\" \"comonad >= 3 && < 5,\""
227− , "'';"
228− ]
229−
230230doctestNoHaddock, markdownUnlitNoHaddock :: String
231231markdownUnlitNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.4\";"
232232doctestNoHaddock = markdownUnlitNoHaddock
233233
234234cabal2nixDoCheckHook :: String
235235cabal2nixDoCheckHook = "doCheck = self.stdenv.lib.versionOlder \"7.6\" self.ghc.version;"
236+
237+eitherNoHaddock :: String
238+eitherNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.6\";"
239+
240+agdaPostInstall :: String
241+agdaPostInstall = unlines
242+ [ "postInstall = ''"
243+ , " $out/bin/agda-mode compile"
244+ , "'';"
245+ ]
246+
247+structuredHaskellModePostInstall :: String
248+structuredHaskellModePostInstall = unlines
249+ [ "postInstall = ''"
250+ , " emacs -L elisp --batch -f batch-byte-compile \"elisp/\"*.el"
251+ , " install -d $out/share/emacs/site-lisp"
252+ , " install \"elisp/\"*.el \"elisp/\"*.elc $out/share/emacs/site-lisp"
253+ , "'';"
254+ ]
255+
256+unixTimeConfigureFlags :: String
257+unixTimeConfigureFlags =
258+ "configureFlags = self.stdenv.lib.optionalString self.enableSharedLibraries \"--ghc-option=-fPIC\";"
259+
260+sloanePostInstall :: String
261+sloanePostInstall = unlines
262+ [ "postInstall = ''"
263+ , " mkdir -p $out/share/man/man1"
264+ , " cp sloane.1 $out/share/man/man1/"
265+ , "'';"
266+ ]
267+
268+mimeMailConfigureFlags :: String
269+mimeMailConfigureFlags = unlines
270+ [ "configureFlags = \"--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\\\"${sendmail}\\\"\";"
271+ ]