@@ -7,6 +7,9 @@ import Data.List
8postProcess :: Derivation -> Derivation
8postProcess :: Derivation -> Derivation
9postProcess deriv@(MkDerivation {..})
9postProcess deriv@(MkDerivation {..})
10+ | pname == "aeson" && version > Version [0,7] []
11+ = deriv { buildDepends = "blazeBuilder":buildDepends }
12+ | pname == "Agda" = deriv { buildTools = "emacs":buildTools, phaseOverrides = agdaPostInstall }
10 | pname == "alex" && version < Version [3,1] []
13 | pname == "alex" && version < Version [3,1] []
11 = deriv { buildTools = "perl":buildTools }
14 = deriv { buildTools = "perl":buildTools }
12 | pname == "alex" && version >= Version [3,1] []
15 | pname == "alex" && version >= Version [3,1] []
@@ -21,6 +24,7 @@ postProcess deriv@(MkDerivation {..})
21 | pname == "doctest" = deriv { runHaddock = True, phaseOverrides = doctestNoHaddock }
24 | pname == "doctest" = deriv { runHaddock = True, phaseOverrides = doctestNoHaddock }
22 | pname == "editline" = deriv { extraLibs = "libedit":extraLibs }
25 | pname == "editline" = deriv { extraLibs = "libedit":extraLibs }
23 | pname == "epic" = deriv { extraLibs = "gmp":"boehmgc":extraLibs, buildTools = "happy":buildTools }
26 | pname == "epic" = deriv { extraLibs = "gmp":"boehmgc":extraLibs, buildTools = "happy":buildTools }
27+ | pname == "either" = deriv { runHaddock = True, phaseOverrides = eitherNoHaddock }
24 | pname == "ghc-heap-view" = deriv { phaseOverrides = ghciPostInstall }
28 | pname == "ghc-heap-view" = deriv { phaseOverrides = ghciPostInstall }
25 | pname == "ghc-mod" = deriv { phaseOverrides = ghcModPostInstall, buildTools = "emacs":buildTools }
29 | pname == "ghc-mod" = deriv { phaseOverrides = ghcModPostInstall, buildTools = "emacs":buildTools }
26 | pname == "ghc-paths" = deriv { phaseOverrides = ghcPathsPatches }
30 | pname == "ghc-paths" = deriv { phaseOverrides = ghcPathsPatches }
@@ -29,6 +33,7 @@ postProcess deriv@(MkDerivation {..})
29 | pname == "github-backup" = deriv { buildTools = "git":buildTools }
33 | pname == "github-backup" = deriv { buildTools = "git":buildTools }
30 | pname == "glade" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, pkgConfDeps = "gtkC":delete "gtk" pkgConfDeps }
34 | pname == "glade" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, pkgConfDeps = "gtkC":delete "gtk" pkgConfDeps }
31 | pname == "glib" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
35 | pname == "glib" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
36+ | pname == "gloss-raster" = deriv { extraLibs = "llvm":extraLibs }
32 | pname == "GLUT" = deriv { extraLibs = "glut":"libSM":"libICE":"libXmu":"libXi":"mesa":extraLibs }
37 | pname == "GLUT" = deriv { extraLibs = "glut":"libSM":"libICE":"libXmu":"libXi":"mesa":extraLibs }
33 | pname == "gtk" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, buildDepends = delete "gio" buildDepends }
38 | pname == "gtk" = deriv { extraLibs = "pkgconfig":"libc":extraLibs, buildDepends = delete "gio" buildDepends }
34 | pname == "gtksourceview2" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
39 | pname == "gtksourceview2" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
@@ -55,6 +60,8 @@ postProcess deriv@(MkDerivation {..})
55 | pname == "llvm-general-pure"= deriv { doCheck = False }
60 | pname == "llvm-general-pure"= deriv { doCheck = False }
56 | pname == "markdown-unlit" = deriv { runHaddock = True, phaseOverrides = markdownUnlitNoHaddock }
61 | pname == "markdown-unlit" = deriv { runHaddock = True, phaseOverrides = markdownUnlitNoHaddock }
57 | pname == "multiarg" = deriv { buildDepends = "utf8String":buildDepends }
62 | 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 }
58 | pname == "ncurses" = deriv { phaseOverrides = ncursesPatchPhase }
65 | pname == "ncurses" = deriv { phaseOverrides = ncursesPatchPhase }
59 | pname == "OpenAL" = deriv { extraLibs = "openal":extraLibs }
66 | pname == "OpenAL" = deriv { extraLibs = "openal":extraLibs }
60 | pname == "OpenGL" = deriv { extraLibs = "mesa":"libX11":extraLibs }
67 | pname == "OpenGL" = deriv { extraLibs = "mesa":"libX11":extraLibs }
@@ -62,15 +69,18 @@ postProcess deriv@(MkDerivation {..})
62 | pname == "pango" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
69 | pname == "pango" = deriv { extraLibs = "pkgconfig":"libc":extraLibs }
63 | pname == "pcap" = deriv { extraLibs = "libpcap":extraLibs }
70 | pname == "pcap" = deriv { extraLibs = "libpcap":extraLibs }
64 | pname == "persistent" = deriv { extraLibs = "sqlite3":extraLibs }
71 | pname == "persistent" = deriv { extraLibs = "sqlite3":extraLibs }
72+ | pname == "poppler" = deriv { extraLibs = "libc":extraLibs }
65 | pname == "repa-algorithms" = deriv { extraLibs = "llvm":extraLibs }
73 | pname == "repa-algorithms" = deriv { extraLibs = "llvm":extraLibs }
66 | pname == "repa-examples" = deriv { extraLibs = "llvm":extraLibs }
74 | pname == "repa-examples" = deriv { extraLibs = "llvm":extraLibs }
67 | pname == "SDL-image" = deriv { extraLibs = "SDL_image":extraLibs }
75 | pname == "SDL-image" = deriv { extraLibs = "SDL_image":extraLibs }
68 | pname == "SDL-mixer" = deriv { extraLibs = "SDL_mixer":extraLibs }
76 | pname == "SDL-mixer" = deriv { extraLibs = "SDL_mixer":extraLibs }
69 | pname == "SDL-ttf" = deriv { extraLibs = "SDL_ttf":extraLibs }
77 | 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 }
70 | pname == "svgcairo" = deriv { extraLibs = "libc":extraLibs }
80 | pname == "svgcairo" = deriv { extraLibs = "libc":extraLibs }
71 | pname == "terminfo" = deriv { extraLibs = "ncurses":extraLibs }
81 | pname == "terminfo" = deriv { extraLibs = "ncurses":extraLibs }
72 | pname == "threadscope" = deriv { configureFlags = "--ghc-options=-rtsopts":configureFlags }
82 | pname == "threadscope" = deriv { configureFlags = "--ghc-options=-rtsopts":configureFlags }
73− | pname == "trifecta" = deriv { phaseOverrides = trifectaPostPatch }
83+ | pname == "unix-time" = deriv { phaseOverrides = unixTimeConfigureFlags }
74 | pname == "vacuum" = deriv { extraLibs = "ghcPaths":extraLibs }
84 | pname == "vacuum" = deriv { extraLibs = "ghcPaths":extraLibs }
75 | pname == "wxc" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs, phaseOverrides = wxcPostInstall }
85 | pname == "wxc" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs, phaseOverrides = wxcPostInstall }
76 | pname == "wxcore" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs }
86 | pname == "wxcore" = deriv { extraLibs = "wxGTK":"mesa":"libX11":extraLibs }
@@ -162,22 +172,24 @@ highlightingKatePostProcessing deriv@(MkDerivation {..}) = deriv
162xmonadPostInstall :: String
172xmonadPostInstall :: String
163xmonadPostInstall = unlines
173xmonadPostInstall = unlines
164 [ "postInstall = ''"
174 [ "postInstall = ''"
175+ , " shopt -s globstar"
165 , " mkdir -p $out/share/man/man1"
176 , " 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/"
170gitAnnexOverrides :: String
181gitAnnexOverrides :: String
171gitAnnexOverrides = unlines
182gitAnnexOverrides = unlines
172− [ "installPhase = ''"
183+ [ "preConfigure = ''"
173 , " export HOME=\"$NIX_BUILD_TOP/tmp\""
184 , " export HOME=\"$NIX_BUILD_TOP/tmp\""
174 , " mkdir \"$HOME\""
185 , " mkdir \"$HOME\""
175− , " ./Setup install"
187+ , "installPhase = \"./Setup install\";"
177 , "checkPhase = ''"
188 , "checkPhase = ''"
178 , " cp dist/build/git-annex/git-annex git-annex"
189 , " cp dist/build/git-annex/git-annex git-annex"
179 , " ./git-annex test"
190 , " ./git-annex test"
192+ , "propagatedUserEnvPkgs = [git lsof];"
183ghciPostInstall :: String
195ghciPostInstall :: String
@@ -215,21 +227,45 @@ lhs2texPostInstall = unlines
215ncursesPatchPhase :: String
227ncursesPatchPhase :: String
216ncursesPatchPhase = "patchPhase = \"find . -type f -exec sed -i -e 's|ncursesw/||' {} \\\\;\";"
228ncursesPatchPhase = "patchPhase = \"find . -type f -exec sed -i -e 's|ncursesw/||' {} \\\\;\";"
218−trifectaPostPatch :: String
219−trifectaPostPatch = unlines
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,\""
230doctestNoHaddock, markdownUnlitNoHaddock :: String
230doctestNoHaddock, markdownUnlitNoHaddock :: String
231markdownUnlitNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.4\";"
231markdownUnlitNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.4\";"
232doctestNoHaddock = markdownUnlitNoHaddock
232doctestNoHaddock = markdownUnlitNoHaddock
234cabal2nixDoCheckHook :: String
234cabal2nixDoCheckHook :: String
235cabal2nixDoCheckHook = "doCheck = self.stdenv.lib.versionOlder \"7.6\" self.ghc.version;"
235cabal2nixDoCheckHook = "doCheck = self.stdenv.lib.versionOlder \"7.6\" self.ghc.version;"
237+eitherNoHaddock :: String
238+eitherNoHaddock = "noHaddock = self.stdenv.lib.versionOlder self.ghc.version \"7.6\";"
240+agdaPostInstall :: String
241+agdaPostInstall = unlines
242+ [ "postInstall = ''"
243+ , " $out/bin/agda-mode compile"
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"
256+unixTimeConfigureFlags :: String
257+unixTimeConfigureFlags =
258+ "configureFlags = self.stdenv.lib.optionalString self.enableSharedLibraries \"--ghc-option=-fPIC\";"
260+sloanePostInstall :: String
261+sloanePostInstall = unlines
262+ [ "postInstall = ''"
263+ , " mkdir -p $out/share/man/man1"
264+ , " cp sloane.1 $out/share/man/man1/"
268+mimeMailConfigureFlags :: String
269+mimeMailConfigureFlags = unlines
270+ [ "configureFlags = \"--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\\\"${sendmail}\\\"\";"