Add HOL Light and its dependencies.
[nixpkgs-libre.git] / pkgs / top-level / haskell-packages.nix
blobed5e570629113bb7365e7fc34c3509fea6aed034
1 {pkgs, ghc}:
3 let ghcReal = pkgs.lowPrio ghc; in
5 rec {
7   # ==> You're looking for a package but can't find it? Get hack-nix.
8   # -> http://github.com/MarcWeber/hack-nix. Read its README file.
9   # You can install (almost) all packages from hackage easily.
11   inherit ghcReal;
13   # In the remainder, `ghc' refers to the wrapper.  This is because
14   # it's never useful to use the wrapped GHC (`ghcReal'), as the
15   # wrapper provides essential functionality: the ability to find
16   # Haskell packages in the buildInputs automatically.
17   ghc = import ../development/compilers/ghc/wrapper.nix {
18     inherit (pkgs) stdenv makeWrapper;
19     ghc = ghcReal;
20   };
22   cabal = import ../development/libraries/haskell/cabal/cabal.nix {
23     inherit (pkgs) stdenv fetchurl lib;
24     inherit ghc;
25   };
28   # Haskell libraries.
30   Agda = import ../development/libraries/haskell/Agda {
31     inherit cabal binary haskeline haskellSrc mtl utf8String xhtml zlib
32       happy alex;
33     QuickCheck = QuickCheck2;
34   };
36   ansiTerminal = import ../development/libraries/haskell/ansi-terminal {
37     inherit cabal;
38   };
40   ansiWLPprint = import ../development/libraries/haskell/ansi-wl-pprint {
41     inherit cabal ansiTerminal;
42   };
44   benchpress = import ../development/libraries/haskell/benchpress {
45     inherit cabal;
46   };
48   binary = import ../development/libraries/haskell/binary {
49     inherit cabal;
50   };
52   bytestring = import ../development/libraries/haskell/bytestring {
53     inherit cabal;
54   };
56   networkBytestring = import ../development/libraries/haskell/network-bytestring {
57     inherit cabal bytestring network;
58   };
60   cgi = import ../development/libraries/haskell/cgi {
61     inherit cabal mtl network parsec xhtml;
62   };
64   colorizeHaskell = import ../development/libraries/haskell/colorize-haskell {
65     inherit cabal ansiTerminal haskellLexer;
66   };
68   convertible = import ../development/libraries/haskell/convertible {
69     inherit cabal mtl;
70     time = time113;
71   };
73   Crypto = import ../development/libraries/haskell/Crypto {
74     inherit cabal HUnit QuickCheck;
75   };
77   CS173Tourney = import ../development/libraries/haskell/CS173Tourney {
78     inherit cabal ;
79     inherit (pkgs) fetchgit ;
80     inherit time hslogger Crypto base64string CouchDB WebServer WebServerExtras;
81     json = json_036;
82   };
84   dataenc = import ../development/libraries/haskell/dataenc {
85     inherit cabal;
86   };
88   dataReify = import ../development/libraries/haskell/data-reify {
89     inherit cabal;
90   };
92   datetime = import ../development/libraries/haskell/datetime {
93     inherit cabal QuickCheck time;
94   };
96   Diff = import ../development/libraries/haskell/Diff {
97     inherit cabal;
98   };
100   digest = import ../development/libraries/haskell/digest {
101     inherit cabal;
102     inherit (pkgs) zlib;
103   };
105   dotgen = import ../development/libraries/haskell/dotgen {
106     inherit cabal;
107   };
109   editline = import ../development/libraries/haskell/editline {
110     inherit (pkgs) libedit;
111     inherit cabal;
112   };
114   filepath = import ../development/libraries/haskell/filepath {
115     inherit cabal;
116   };
118   emgm = import ../development/libraries/haskell/emgm {
119     inherit cabal;
120   };
122   extensibleExceptions = import ../development/libraries/haskell/extensible-exceptions {
123     inherit cabal;
124   };
126   filestore = import ../development/libraries/haskell/filestore {
127     inherit cabal datetime parsec regexPosix split time utf8String xml Diff;
128   };
130   fgl = import ../development/libraries/haskell/fgl {
131     inherit cabal mtl;
132   };
134   getOptions = import ../development/libraries/haskell/get-options {
135     inherit (pkgs) fetchurl sourceFromHead;
136     inherit cabal mtl;
137   };
139   ghcCore = import ../development/libraries/haskell/ghc-core {
140     inherit cabal pcreLight colorizeHaskell;
141   };
143   ghcPaths = import ../development/libraries/haskell/ghc-paths {
144     inherit cabal;
145   };
147   ghcSyb = import ../development/libraries/haskell/ghc-syb {
148     inherit (pkgs) fetchurl sourceFromHead;
149     inherit cabal syb;
150   };
152   gitit = import ../development/libraries/haskell/gitit {
153     inherit cabal HAppSServer HStringTemplate HTTP SHA cgi datetime
154       filestore highlightingKate mtl network pandoc parsec recaptcha
155       utf8String xhtml zlib;
156   };
158   GLUT = import ../development/libraries/haskell/GLUT {
159     inherit cabal OpenGL;
160     glut = pkgs.freeglut;
161     inherit (pkgs) mesa;
162     inherit (pkgs.xlibs) libSM libICE libXmu libXi;
163   };
164   
165   gtk2hs = import ../development/libraries/haskell/gtk2hs {
166     inherit ghc mtl;
167     inherit (pkgs) stdenv fetchurl pkgconfig gnome cairo;
168   };
170   HAppSData = import ../development/libraries/haskell/HAppS/HAppS-Data.nix {
171     inherit cabal mtl sybWithClass HaXml HAppSUtil bytestring binary;
172   };
174   HAppSIxSet = import ../development/libraries/haskell/HAppS/HAppS-IxSet.nix {
175     inherit cabal mtl hslogger HAppSUtil HAppSState HAppSData sybWithClass;
176   };
178   HAppSUtil = import ../development/libraries/haskell/HAppS/HAppS-Util.nix {
179     inherit cabal mtl hslogger bytestring;
180   };
182   HAppSServer = import ../development/libraries/haskell/HAppS/HAppS-Server.nix {
183     inherit cabal HaXml parsec mtl network hslogger HAppSData HAppSUtil HAppSState HAppSIxSet HTTP xhtml html bytestring;
184   };
186   HAppSState = import ../development/libraries/haskell/HAppS/HAppS-State.nix {
187     inherit cabal HaXml mtl network stm hslogger HAppSUtil HAppSData bytestring binary hspread;
188   };
190   hashedStorage = import ../development/libraries/haskell/hashed-storage {
191     inherit cabal mtl zlib mmap;
192   };
194   haskeline = import ../development/libraries/haskell/haskeline {
195     inherit cabal extensibleExceptions mtl utf8String;
196   };
198   haskelineClass = import ../development/libraries/haskell/haskeline-class {
199     inherit cabal haskeline mtl;
200   };
202   haskellLexer = import ../development/libraries/haskell/haskell-lexer {
203     inherit cabal;
204   };
206   haskellSrc = import ../development/libraries/haskell/haskell-src {
207     inherit cabal happy;
208   };
210   haskellSrcExts = import ../development/libraries/haskell/haskell-src-exts {
211     inherit cabal cpphs happy;
212   };
214   haskellSrcMeta = import ../development/libraries/haskell/haskell-src-meta {
215     inherit cabal haskellSrcExts;
216   };
217   
218   haskellPlatform = import ../development/libraries/haskell/haskell-platform {
219     inherit cabal GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
220       haskellSrc html parallel regexBase regexCompat regexPosix
221       stm time xhtml zlib cabalInstall alex happy haddock;
222     ghc = ghcReal;
223     inherit (pkgs) fetchurl;
224   };
226   HTTP = import ../development/libraries/haskell/HTTP {
227     inherit cabal mtl network parsec;
228   };
230   HTTP_3001 = import ../development/libraries/haskell/HTTP/3001.nix {
231     inherit cabal mtl network parsec;
232   };
234   haxr = import ../development/libraries/haskell/haxr {
235     inherit cabal HaXml HTTP dataenc time;
236   };
238   haxr_th = import ../development/libraries/haskell/haxr-th {
239     inherit cabal haxr HaXml HTTP;
240   };
242   HaXml = import ../development/libraries/haskell/HaXml {
243     inherit cabal;
244   };
246   HDBC = import ../development/libraries/haskell/HDBC/HDBC.nix {
247     inherit cabal HUnit QuickCheck mtl time utf8String convertible testpack;
248   };
250   HDBCPostgresql = import ../development/libraries/haskell/HDBC/HDBC-postgresql.nix {
251     inherit cabal HDBC parsec;
252     inherit (pkgs) postgresql;
253   };
255   HDBCSqlite = import ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {
256     inherit cabal HDBC;
257     inherit (pkgs) sqlite;
258   };
260   HGL = import ../development/libraries/haskell/HGL {
261     inherit cabal X11;
262   };
264   highlightingKate = import ../development/libraries/haskell/highlighting-kate {
265     inherit cabal parsec pcreLight xhtml;
266   };
268   Hipmunk = import ../development/libraries/haskell/Hipmunk {
269     inherit cabal;
270   };
272   HList = import ../development/libraries/haskell/HList {
273     inherit cabal ;
274   };
276   hscolour = import ../development/libraries/haskell/hscolour {
277     inherit cabal;
278   };
280   HStringTemplate = import ../development/libraries/haskell/HStringTemplate {
281     inherit cabal parsec time;
282   };
284   hspread = import ../development/libraries/haskell/hspread {
285     inherit cabal binary network;
286   };
288   hsloggerTemplate = import ../development/libraries/haskell/hslogger-template {
289     inherit cabal hslogger mtl;
290   };
292   html = import ../development/libraries/haskell/html {
293     inherit cabal;
294   };
296   httpdShed = import ../development/libraries/haskell/httpd-shed {
297     inherit cabal network;
298   };
300   HUnit = import ../development/libraries/haskell/HUnit {
301     inherit cabal;
302   };
304   ivor = import ../development/libraries/haskell/ivor {
305     inherit cabal mtl parsec;
306   };
308   json = import ../development/libraries/haskell/json {
309     inherit cabal mtl;
310   };
312   json_036 = import ../development/libraries/haskell/json/0.3.6.nix {
313     inherit cabal mtl;
314   };
316   maybench = import ../development/libraries/haskell/maybench {
317     inherit cabal benchpress;
318   };
320   mmap = import ../development/libraries/haskell/mmap {
321     inherit cabal;
322   };
324   monadlab = import ../development/libraries/haskell/monadlab {
325     inherit cabal parsec;
326   };
328   MonadRandom = import ../development/libraries/haskell/MonadRandom {
329     inherit cabal mtl;
330   };
332   mpppc = import ../development/libraries/haskell/mpppc {
333     inherit cabal ansiTerminal split text;
334   };
336   mtl = import ../development/libraries/haskell/mtl {
337     inherit cabal;
338   };
340   multirec = import ../development/libraries/haskell/multirec {
341     inherit cabal;
342   };
344   multiset = import ../development/libraries/haskell/multiset {
345     inherit cabal syb;
346   };
348   network = import ../development/libraries/haskell/network {
349     inherit cabal parsec;
350   };
352   nonNegative = import ../development/libraries/haskell/non-negative {
353     inherit cabal QuickCheck;
354   };
356   numericPrelude = import ../development/libraries/haskell/numeric-prelude {
357     inherit cabal HUnit QuickCheck parsec nonNegative utilityHt;
358   };
360   OpenAL = import ../development/libraries/haskell/OpenAL {
361     inherit cabal OpenGL;
362     inherit (pkgs) openal;
363   };
365   OpenGL = import ../development/libraries/haskell/OpenGL {
366     inherit cabal;
367     inherit (pkgs) mesa;
368     inherit (pkgs.xlibs) libX11;
369   };
371   pandoc = import ../development/libraries/haskell/pandoc {
372     inherit cabal mtl network parsec utf8String xhtml zipArchive;
373   };
375   parallel = import ../development/libraries/haskell/parallel {
376     inherit cabal;
377   };
379   parseargs = import ../development/libraries/haskell/parseargs {
380     inherit cabal;
381   };
383   parsec = import ../development/libraries/haskell/parsec {
384     inherit cabal;
385   };
387   parsec3 = import ../development/libraries/haskell/parsec/3.nix {
388     inherit cabal mtl;
389   };
391   parsimony = import ../development/libraries/haskell/parsimony {
392     inherit cabal utf8String;
393   };
395   pcreLight = import ../development/libraries/haskell/pcre-light {
396     inherit cabal;
397     inherit (pkgs) pcre;
398   };
400   polyparse = import ../development/libraries/haskell/polyparse {
401     inherit cabal;
402   };
404   QuickCheck  = QuickCheck1;
406   QuickCheck1 = import ../development/libraries/haskell/QuickCheck {
407     inherit cabal;
408   };
410   QuickCheck2 = import ../development/libraries/haskell/QuickCheck/QuickCheck-2.nix {
411     inherit cabal mtl;
412   };
414   readline = import ../development/libraries/haskell/readline {
415     inherit cabal;
416     inherit (pkgs) readline ncurses;
417   };
419   recaptcha = import ../development/libraries/haskell/recaptcha {
420     inherit cabal HTTP network xhtml;
421   };
423   regexBase = import ../development/libraries/haskell/regex-base {
424     inherit cabal mtl;
425   };
427   regexCompat = import ../development/libraries/haskell/regex-compat {
428     inherit cabal regexBase regexPosix;
429   };
431   regexPosix = import ../development/libraries/haskell/regex-posix {
432     inherit cabal regexBase;
433   };
435   regular = import ../development/libraries/haskell/regular {
436     inherit cabal;
437   };
439   scion = import ../development/libraries/haskell/scion {
440     inherit cabal ghcPaths ghcSyb hslogger json multiset time uniplate;
441   };
443   syb = import ../development/libraries/haskell/syb {
444     inherit cabal;
445   };
447   sybWithClass = import ../development/libraries/haskell/syb/syb-with-class.nix {
448     inherit cabal;
449   };
451   SDLImage = import ../development/libraries/haskell/SDL-image {
452     inherit cabal SDL;
453     inherit (pkgs) SDL_image;
454   };
456   SDLMixer = import ../development/libraries/haskell/SDL-mixer {
457     inherit cabal SDL;
458     inherit (pkgs) SDL_mixer;
459   };
461   SDLTtf = import ../development/libraries/haskell/SDL-ttf {
462     inherit cabal SDL;
463     inherit (pkgs) SDL_ttf;
464   };
466   SDL = import ../development/libraries/haskell/SDL {
467     inherit cabal;
468     inherit (pkgs) SDL;
469   };
471   SHA = import ../development/libraries/haskell/SHA {
472     inherit cabal binary;
473   };
475   Shellac = import ../development/libraries/haskell/Shellac/Shellac.nix {
476     inherit cabal mtl;
477   };
479   ShellacHaskeline = import ../development/libraries/haskell/Shellac/Shellac-haskeline.nix {
480     inherit cabal Shellac haskeline;
481   };
483   ShellacReadline = import ../development/libraries/haskell/Shellac/Shellac-readline.nix {
484     inherit cabal Shellac readline;
485   };
487   split = import ../development/libraries/haskell/split {
488     inherit cabal;
489   };
491   stm = import ../development/libraries/haskell/stm {
492     inherit cabal;
493   };
495   storableComplex = import ../development/libraries/haskell/storable-complex {
496     inherit cabal;
497   };
499   strictConcurrency = import ../development/libraries/haskell/strictConcurrency {
500     inherit cabal parallel;
501   };
503   terminfo = import ../development/libraries/haskell/terminfo {
504     inherit cabal extensibleExceptions /* only required for <= ghc6102  ?*/;
505     inherit (pkgs) ncurses;
506   };
508   testpack = import ../development/libraries/haskell/testpack {
509     inherit cabal HUnit QuickCheck mtl;
510   };
512   text = import ../development/libraries/haskell/text {
513     inherit cabal;
514   };
516   /* time is Haskell Platform default, time113 is more recent but incompatible */
517   time = import ../development/libraries/haskell/time {
518     inherit cabal;
519   };
521   time113 = import ../development/libraries/haskell/time/1.1.3.nix {
522     inherit cabal;
523   };
525   transformers = import ../development/libraries/haskell/transformers {
526     inherit cabal;
527   };
529   uniplate = import ../development/libraries/haskell/uniplate {
530     inherit cabal mtl;
531   };
533   uniqueid = import ../development/libraries/haskell/uniqueid {
534     inherit cabal;
535   };
537   utf8String = import ../development/libraries/haskell/utf8-string {
538     inherit cabal;
539   };
541   utilityHt = import ../development/libraries/haskell/utility-ht {
542     inherit cabal;
543   };
545   uulib = import ../development/libraries/haskell/uulib {
546     inherit cabal;
547   };
549   uuParsingLib = import ../development/libraries/haskell/uu-parsinglib {
550     inherit cabal;
551   };
553   vacuum = import ../development/libraries/haskell/vacuum {
554     inherit cabal ghcPaths;
555   };
557   vacuumCairo = import ../development/libraries/haskell/vacuum-cairo {
558     inherit cabal vacuum gtk2hs parallel strictConcurrency;
559   };
561   vty = import ../development/libraries/haskell/vty {
562     inherit cabal utf8String terminfo;
563   };
565   WebServer = import ../development/libraries/haskell/WebServer {
566     inherit cabal network mtl parsec;
567     inherit (pkgs) fetchgit;
568   };
570   WebServerExtras = import ../development/libraries/haskell/WebServer-Extras {
571     inherit cabal Crypto WebServer base64string hslogger mtl;
572     json = json_036;
573     inherit (pkgs) fetchgit;
574   };
576   CouchDB = import ../development/libraries/haskell/CouchDB {
577     inherit cabal network mtl ;
578     HTTP = HTTP_3001;
579     json = json_036;
580   };
582   base64string = import ../development/libraries/haskell/base64-string {
583     inherit cabal;
584   };
586   wx = import ../development/libraries/haskell/wxHaskell/wx.nix {
587     inherit cabal stm wxcore;
588   };
590   wxcore = import ../development/libraries/haskell/wxHaskell/wxcore.nix {
591     inherit cabal time parsec stm;
592     wxGTK = pkgs.wxGTK28;
593     inherit (pkgs) mesa;
594     inherit (pkgs.xlibs) libX11;
595   };
597   X11 = import ../development/libraries/haskell/X11 {
598     inherit cabal;
599     inherit (pkgs.xlibs) libX11 libXinerama libXext;
600     xineramaSupport = true;
601   };
603   xhtml = import ../development/libraries/haskell/xhtml {
604     inherit cabal;
605   };
607   xml = import ../development/libraries/haskell/xml {
608     inherit cabal;
609   };
611   zipArchive = import ../development/libraries/haskell/zip-archive {
612     inherit cabal binary mtl utf8String zlib digest;
613   };
615   zipper = import ../development/libraries/haskell/zipper {
616     inherit cabal multirec;
617   };
619   zlib = import ../development/libraries/haskell/zlib {
620     inherit cabal;
621     inherit (pkgs) zlib;
622   };
625   # Compilers.
627   ehc = import ../development/compilers/ehc {
628     inherit ghc uulib uuagc;
629     inherit (pkgs) fetchsvn stdenv coreutils m4 libtool llvm;
630   };
632   helium = import ../development/compilers/helium {
633     inherit ghc;
634     inherit (pkgs) fetchurl stdenv;
635   };
637   idris = import ../development/compilers/idris {
638     inherit cabal mtl parsec readline ivor happy;
639     inherit (pkgs) fetchdarcs;
640   };
643   # Development tools.
645   alex = import ../development/tools/parsing/alex {
646     inherit cabal;
647     inherit (pkgs) perl;
648   };
650   cpphs = import ../development/tools/misc/cpphs {
651     inherit cabal;
652   };
654   frown = import ../development/tools/parsing/frown {
655     inherit ghc;
656     inherit (pkgs) fetchurl stdenv;
657   };
659   haddock = haddock242;
661   # old version of haddock, still more stable than 2.0
662   haddock09 = import ../development/tools/documentation/haddock/haddock-0.9.nix {
663     inherit cabal;
664   };
666   # does not compile with ghc-6.8.3
667   haddock210 = pkgs.stdenv.lib.lowPrio (import ../development/tools/documentation/haddock/haddock-2.1.0.nix {
668     inherit cabal;
669   });
671   haddock242 = import ../development/tools/documentation/haddock/haddock-2.4.2.nix {
672     inherit cabal ghcPaths;
673     inherit (pkgs) libedit;
674   };
676   happy = happy1184;
678   happy117 = import ../development/tools/parsing/happy/happy-1.17.nix {
679     inherit cabal;
680     inherit (pkgs) perl;
681   };
683   happy1184 = import ../development/tools/parsing/happy/happy-1.18.4.nix {
684     inherit cabal mtl;
685     inherit (pkgs) perl;
686   };
688   hlint = import ../development/tools/haskell/hlint {
689     inherit cabal haskellSrcExts mtl uniplate hscolour parallel;
690   };
692   hslogger = import ../development/tools/haskell/hslogger {
693     inherit cabal mtl network time;
694   };
696   mkcabal = import ../development/tools/haskell/mkcabal {
697     inherit cabal mtl pcreLight readline;
698   };
700   tar = import ../development/tools/haskell/tar {
701     inherit cabal binary;
702   };
704   uuagc = import ../development/tools/haskell/uuagc {
705     inherit cabal uulib;
706   };
708   # Applications.
710   darcs = import ../applications/version-management/darcs/darcs-2.nix {
711     inherit cabal html mtl parsec regexCompat haskeline hashedStorage;
712     inherit (pkgs) curl;
713   };
715   leksah = import ../applications/editors/leksah {
716     inherit cabal gtk2hs binary parsec regexPosix regexCompat utf8String;
717     inherit (pkgs) libedit makeWrapper;
718   };
719   
720   xmobar = import ../applications/misc/xmobar {
721     inherit cabal X11 mtl parsec stm;
722   };
724   xmonad = import ../applications/window-managers/xmonad {
725     inherit cabal X11 mtl;
726     inherit (pkgs.xlibs) xmessage;
727   };
729   xmonadContrib = import ../applications/window-managers/xmonad/xmonad-contrib.nix {
730     inherit cabal xmonad X11 utf8String;
731   };
734   # Tools.
736   cabalInstall = import ../tools/package-management/cabal-install {
737     inherit cabal HTTP network zlib;
738   };
740   lhs2tex = import ../tools/typesetting/lhs2tex {
741     inherit cabal regexCompat utf8String;
742     inherit (pkgs) tetex polytable;
743   };
745   myhasktags = import ../tools/misc/myhasktags {
746     inherit ghcReal;
747     inherit (pkgs) stdenv fetchurl;
748   };
750   # Games.
752   LambdaHack = import ../games/LambdaHack {
753     inherit cabal binary mtl zlib vty;
754   };
756   MazesOfMonad = import ../games/MazesOfMonad {
757     inherit cabal HUnit mtl regexPosix time;
758   };