@@ -1,842 +1,8 @@
1−{-# LANGUAGE CPP #-}
2−module Stackage.Config where
1+{-
32
4−import Control.Monad (when, unless)
5−import Control.Monad.Trans.Writer (Writer, execWriter, tell)
6−import Data.Char (toLower)
7−import qualified Data.Map as Map
8−import Data.Maybe (fromMaybe)
9−import Data.Set (fromList, singleton)
10−import Distribution.Text (simpleParse)
11−import Stackage.Types
3+NOTE: This module is no longer used for tracking packages included in Stackage.
4+To simplify the codebase, that information is now stored in the
5+build-constraints.yaml configuration file. The file should be self-explanatory.
6+Sorry for the inconvenience.
127
13−-- | Packages which are shipped with GHC but are not included in the
14−-- Haskell Platform list of core packages.
15−defaultExtraCore :: GhcMajorVersion -> Set PackageName
16−defaultExtraCore _ = fromList $ map PackageName $ words
17− "binary Win32 ghc-prim integer-gmp"
18−
19−-- | Test suites which are expected to fail for some reason. The test suite
20−-- will still be run and logs kept, but a failure will not indicate an
21−-- error in our package combination.
22−defaultExpectedFailures :: GhcMajorVersion
23− -> Bool -- ^ haskell platform
24− -> Set PackageName
25−defaultExpectedFailures ghcVer requireHP = execWriter $ do
26− -- Requires an old version of WAI and Warp for tests
27− add "HTTP"
28−
29− -- text and setenv have recursive dependencies in their tests, which
30− -- cabal can't (yet) handle
31− add "text"
32− add "setenv"
33−
34− -- The version of GLUT included with the HP does not generate
35− -- documentation correctly.
36− add "GLUT"
37−
38− -- https://github.com/bos/statistics/issues/42
39− add "statistics"
40−
41− -- https://github.com/kazu-yamamoto/simple-sendfile/pull/10
42− add "simple-sendfile"
43−
44− -- http://hackage.haskell.org/trac/hackage/ticket/954
45− add "diagrams"
46−
47− -- https://github.com/fpco/stackage/issues/24
48− add "unix-time"
49−
50− -- With transformers 0.3, it doesn't provide any modules
51− add "transformers-compat"
52−
53− -- Tests require shell script and are incompatible with sandboxed package
54− -- databases
55− add "HTF"
56−
57− -- https://github.com/simonmar/monad-par/issues/28
58− add "monad-par"
59−
60− -- Unfortunately network failures seem to happen haphazardly
61− add "network"
62−
63− -- https://github.com/ekmett/hyphenation/issues/1
64− add "hyphenation"
65−
66− -- Test suite takes too long to run on some systems
67− add "punycode"
68−
69− -- http://hub.darcs.net/stepcut/happstack/issue/1
70− add "happstack-server"
71−
72− -- Requires a Facebook app.
73− add "fb"
74−
75− -- https://github.com/tibbe/hashable/issues/64
76− add "hashable"
77−
78− -- https://github.com/vincenthz/language-java/issues/10
79− add "language-java"
80−
81− add "threads"
82− add "crypto-conduit"
83− add "pandoc"
84− add "language-ecmascript"
85− add "hspec"
86− add "alex"
87−
88− -- https://github.com/basvandijk/concurrent-extra/issues/
89− add "concurrent-extra"
90−
91− -- https://github.com/skogsbaer/xmlgen/issues/2
92− add "xmlgen"
93−
94− -- Something very strange going on with the test suite, I can't figure
95− -- out how to fix it
96− add "bson"
97−
98− -- Requires a locally running PostgreSQL server with appropriate users
99− add "postgresql-simple"
100−
101− -- Missing files
102− add "websockets"
103−
104− -- Some kind of Cabal bug when trying to run tests
105− add "thyme"
106−
107− add "shake"
108−
109− -- https://github.com/jgm/pandoc-citeproc/issues/5
110− add "pandoc-citeproc"
111−
112− -- Problems with doctest and sandboxing
113− add "warp"
114− add "wai-logger"
115−
116− -- https://github.com/fpco/stackage/issues/163
117− add "hTalos"
118− add "seqloc"
119−
120− -- https://github.com/bos/math-functions/issues/25
121− add "math-functions"
122−
123− -- FIXME the test suite fails fairly regularly in builds, though I haven't
124− -- discovered why yet
125− add "crypto-numbers"
126−
127− -- Test suite is currently failing regularly, needs to be worked out still.
128− add "lens"
129−
130− -- Requires too old a version of test-framework
131− add "time"
132−
133− -- No code included any more, therefore Haddock fails
134− mapM_ add $ words =<<
135− [ "comonad-transformers comonads-fd groupoids"
136− , "profunctor-extras semigroupoid-extras"
137− , "hamlet shakespeare-css shakespeare-i18n"
138− , "shakespeare-js shakespeare-text"
139− , "attoparsec-conduit blaze-builder-conduit http-client-conduit"
140− , "network-conduit zlib-conduit http-client-multipart"
141− , "wai-eventsource wai-test"
142− , "hspec-discover"
143− ]
144−
145− -- Cloud Haskell tests seem to be unreliable
146− mapM_ add $ words =<<
147− [ "distributed-process lockfree-queue network-transport-tcp"
148− ]
149−
150− -- Pulls in monad-peel which does not compile
151− when (ghcVer >= GhcMajorVersion 7 8) $ add "monad-control"
152−
153− -- https://github.com/fpco/stackage/issues/226
154− add "options"
155−
156− -- https://github.com/gtk2hs/gtk2hs/issues/36
157− add "glib"
158− add "pango"
159−
160− -- https://github.com/acw/bytestring-progress/issues/3
161− add "bytestring-progress"
162−
163− -- Seems to require 32-bit functions
164− add "nettle"
165−
166− -- Depends on a missing graphviz executable
167− add "graphviz"
168−
169− -- https://github.com/silkapp/json-schema/issues/8
170− when (ghcVer <= GhcMajorVersion 7 6) $
171− add "json-schema"
172−
173− -- No AWS creds available
174− add "aws"
175−
176− -- Not sure why...
177− add "singletons"
178−
179− add "hspec2"
180− add "hspec-wai"
181−
182− -- Requires too new a version of time
183− when (ghcVer < GhcMajorVersion 7 8) $ add "cookie"
184−
185− -- https://github.com/fpco/stackage/issues/285
186− add "diagrams-haddock"
187− add "scientific"
188− add "json-schema"
189−
190− -- https://github.com/BioHaskell/octree/issues/4
191− add "Octree"
192−
193− -- No code until we upgrade to network 2.6
194− add "network-uri"
195−
196− -- https://github.com/goldfirere/th-desugar/issues/12
197− add "th-desugar"
198−
199− -- https://github.com/haskell/c2hs/issues/108
200− add "c2hs"
201−
202− -- https://github.com/jmillikin/haskell-filesystem/issues/3
203− add "system-filepath"
204−
205− -- For some unknown reason, doctest has trouble on GHC 7.6. This only
206− -- happens during a Stackage test.
207− --
208− -- See: http://www.reddit.com/r/haskell/comments/2go92u/beginner_error_messages_in_c_vs_haskell/cklaspk
209− when (ghcVer == GhcMajorVersion 7 6) $ add "http-types"
210−
211− -- Requires a running webdriver server
212− add "webdriver"
213− add "webdriver-snoy"
214−
215− -- Weird conflicts with sandboxing
216− add "ghc-mod"
217− add "ghcid"
218−
219− -- Requires locally running server
220− add "bloodhound"
221−
222− -- Too lazy to keep the test dependencies up to date
223− let names =
224− words "hasql hasql-postgres hasql-backend postgresql-binary" ++
225− words "stm-containers focus list-t slave-thread partial-handler" ++
226− words "neat-interpolation cases" ++
227− words "base-prelude mtl-prelude"
228− in mapM_ add names
229−
230− -- https://github.com/gtk2hs/gtk2hs/issues/79
231− add "gio"
232− add "gtk"
233−
234− -- Requires SAT solver and old QuickCheck
235− add "ersatz"
236−
237− -- https://github.com/ekmett/gl/issues/3
238− add "gl"
239−
240− -- Failing doctests
241− add "bits"
242−
243− -- No server running
244− add "amqp"
245−
246− when (ghcVer == GhcMajorVersion 7 8 && requireHP) $ do
247− -- https://github.com/vincenthz/hs-asn1/issues/11
248− add "asn1-encoding"
249−
250− -- https://github.com/vincenthz/hs-tls/issues/84
251− add "tls"
252−
253− add "x509"
254−
255− -- Often run out of inotify handles
256− add "fsnotify"
257−
258− -- Requires a correctly set up Postgres instance
259− add "opaleye"
260− where
261− add = tell . singleton . PackageName
262−
263−-- | List of packages for our stable Hackage. All dependencies will be
264−-- included as well. Please indicate who will be maintaining the package
265−-- via comments.
266−defaultStablePackages :: GhcMajorVersion
267− -> Bool -- ^ using haskell platform?
268− -> Map PackageName (VersionRange, Maintainer)
269−defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
270− when (ghcVer == GhcMajorVersion 7 8 && requireHP) haskellPlatform78
271− mapM_ (add "michael@snoyman.com") $ words =<<
272− [ "yesod yesod-newsfeed yesod-sitemap yesod-static yesod-test yesod-bin"
273− , "markdown mime-mail-ses"
274− , "persistent persistent-template persistent-sqlite persistent-postgresql persistent-mysql"
275− , "network-conduit-tls yackage warp-tls keter"
276− , "process-conduit stm-conduit"
277− , "classy-prelude-yesod yesod-fay yesod-eventsource wai-websockets"
278− , "random-shuffle hebrew-time"
279− , "bzlib-conduit case-insensitive"
280− , "conduit-extra conduit-combinators yesod-websockets"
281− , "cabal-src"
282− , "yesod-auth-deskcom monadcryptorandom sphinx"
283− , "yesod-gitrepo"
284− ]
285−
286− -- https://github.com/fpco/stackage/issues/261
287− addRange "Michael Snoyman" "cabal-install" $
288− case () of
289− ()
290− | ghcVer <= GhcMajorVersion 7 6 -> "< 1.17"
291− | ghcVer <= GhcMajorVersion 7 8 -> "< 1.19"
292− | otherwise -> "-any"
293− -- cabal-install is buggy still...
294− addRange "Michael Snoyman" "network" "< 2.6"
295− addRange "Michael Snoyman" "network-uri" "< 2.6"
296−
297− mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
298− [ "web-fpco th-expand-syns configurator smtLib"
299− , "fixed-list indents language-c pretty-class"
300− , "csv-conduit cassava"
301− , "async shelly thyme"
302− , "hxt hxt-relaxng dimensional"
303− , "cairo diagrams-cairo gtk2hs-buildtools"
304− , "base16-bytestring convertible"
305− , "compdata hybrid-vectors"
306− , "executable-path formatting quandl-api"
307− , "fgl hmatrix hmatrix-gsl"
308− , "alex happy c2hs"
309− , "fpco-api aws persistent-mongoDB"
310− , "random-fu lhs2tex"
311− , "Chart Chart-diagrams histogram-fill random-source"
312− , "webdriver"
313− , "foreign-store"
314− , "statistics-linreg"
315− -- https://github.com/Soostone/retry/issues/18
316− -- , "retry"
317− ]
318− when (ghcVer < GhcMajorVersion 7 8) $ do -- No GHC 7.8 support
319− mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
320− [ "" -- too unreliable for the moment "distributed-process distributed-process-simplelocalnet"
321− -- https://github.com/fpco/stackage/issues/295
322− --, "threepenny-gui unification-fd"
323− ]
324− addRange "FP Complete <michael@fpcomplete.com>" "compdata" "< 0.8"
325− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
326− mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
327− [ "criterion"
328− , "th-lift singletons th-desugar quickcheck-assertions"
329− , "distributed-process distributed-process-simplelocalnet" -- cloud-haskell"
330− ]
331−
332− addRange "FP Complete <michael@fpcomplete.com>" "kure" "<= 2.4.10"
333−
334− mapM_ (add "Omari Norman <omari@smileystation.com>") $ words
335− "barecheck rainbow rainbow-tests"
336− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
337− mapM_ (add "Omari Norman <omari@smileystation.com>") $ words
338− "quickpull"
339−
340− mapM_ (add "Neil Mitchell") $ words
341− "hlint hoogle shake derive tagsoup cmdargs safe uniplate nsis js-jquery js-flot extra bake ghcid"
342−
343− mapM_ (add "Alan Zimmerman") $ words
344− "hjsmin language-javascript"
345−
346− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
347− mapM_ (add "Alfredo Di Napoli <alfredo.dinapoli@gmail.com>") $ words
348− "mandrill"
349−
350− mapM_ (add "Jasper Van der Jeugt") $ words
351− "blaze-html blaze-markup stylish-haskell"
352−
353− mapM_ (add "Antoine Latter") $ words
354− "uuid byteorder"
355−
356− mapM_ (add "Philipp Middendorf <pmidden@secure.mailbox.org>") $ words
357− "clock"
358−
359− mapM_ (add "Stefan Wehr <wehr@factisresearch.com>") $ words
360− "HTF xmlgen stm-stats"
361− when (ghcVer < GhcMajorVersion 7 8) $ add "Stefan Wehr <wehr@factisresearch.com>" "hscurses"
362−
363− mapM_ (add "Bart Massey <bart.massey+stackage@gmail.com>") $ words
364− "parseargs"
365−
366− mapM_ (add "Vincent Hanquez") $ words =<<
367− [ "bytedump certificate cipher-aes cipher-rc4 connection"
368− , "cprng-aes cpu crypto-pubkey-types crypto-random-api cryptocipher"
369− , "cryptohash hit language-java libgit pem siphash socks tls"
370− , "tls-debug vhd language-java"
371− ]
372−
373− mapM_ (add "Chris Done") $ words =<<
374− [ "ace check-email freenect gd"
375− , "hostname-validate ini lucid osdkeys pdfinfo"
376− , "pure-io sourcemap frisby"
377− , "present"
378− ]
379−
380− -- Requires older haddock currently
381− when (ghcVer == GhcMajorVersion 7 8 && requireHP) $
382− mapM_ (add "Chris Done") $ words =<<
383− [ "haskell-docs"
384− ]
385−
386− -- https://github.com/jgoerzen/testpack/issues/10
387− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
388− mapM_ (add "Chris Done") $ words =<<
389− [ "scrobble"
390− ]
391−
392− -- Requires too new a process for GHC 7.6
393− when (ghcVer >= GhcMajorVersion 7 8) $
394− mapM_ (add "Chris Done") $ words =<<
395− [ "shell-conduit"
396− ]
397−
398− -- TODO: Add hindent and structured-haskell-mode once they've been ported to HSE 1.16.
399−
400−#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)
401− -- Does not compile on Windows
402− mapM_ (add "Vincent Hanquez") $ words "udbus xenstore"
403−#endif
404−
405− when (ghcVer < GhcMajorVersion 7 8) $
406− mapM_ (add "Alberto G. Corona <agocorona@gmail.com>") $ words
407− "RefSerialize TCache Workflow MFlow"
408−
409− mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
410− [ "ad adjunctions bifunctors bound charset comonad comonad-transformers"
411− , "comonads-fd compressed concurrent-supply constraints contravariant"
412− , "distributive either eq free groupoids heaps hyphenation"
413− , "integration intervals kan-extensions lca lens linear monadic-arrays machines"
414− , "mtl profunctors profunctor-extras reducers reflection"
415− , "semigroups semigroupoids semigroupoid-extras speculation tagged void"
416− , "graphs monad-products monad-st wl-pprint-extras wl-pprint-terminfo"
417− , "numeric-extras parsers pointed prelude-extras reducers"
418− , "streams vector-instances"
419− , "approximate bits bytes compensated exceptions"
420− , "linear-accelerate log-domain"
421− , "monad-products monad-st nats"
422− , "ersatz"
423− -- hyperloglog
424− ]
425− when (ghcVer < GhcMajorVersion 7 8) $ do
426− mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
427− [ "categories comonad-extras recursion-schemes syb-extras"
428− ]
429− addRange "Edward Kmett <ekmett@gmail.com>" "bits" "< 0.4"
430− when (ghcVer >= GhcMajorVersion 7 8) $
431− mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
432− -- https://github.com/ekmett/fixed/issues/1
433− [ "fixed"
434− -- https://github.com/ekmett/half/issues/1
435− , "half gl"
436− ]
437− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
438− mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
439− [ "lens-aeson quickpull zlib-lens"
440− ]
441− -- Temporary upper bound for some of the above packages
442− addRange "Edward Kmett <ekmett@gmail.com>" "generic-deriving" "< 1.7"
443−
444− mapM_ (add "Andrew Farmer <afarmer@ittc.ku.edu>") $ words
445− "scotty wai-middleware-static"
446−
447− mapM_ (add "Simon Hengel <sol@typeful.net>") $ words
448− "hspec hspec-wai hspec-wai-json aeson-qq interpolate doctest base-compat"
449−
450− mapM_ (add "Mario Blazevic <blamario@yahoo.com>") $ words
451− "monad-parallel monad-coroutine incremental-parser monoid-subclasses"
452−
453− mapM_ (add "Brent Yorgey <byorgey@gmail.com>") $ words =<<
454− [ "monoid-extras dual-tree vector-space-points active force-layout"
455− , "diagrams diagrams-contrib diagrams-core diagrams-lib diagrams-svg"
456− , "diagrams-postscript haxr"
457− , "BlogLiterately"
458− , "MonadRandom"
459− , "diagrams-builder diagrams-haddock BlogLiterately-diagrams"
460− ]
461− mapM_ (add "Vincent Berthoux <vincent.berthoux@gmail.com>") $ words
462− "JuicyPixels"
463−
464− mapM_ (add "Patrick Brisbin") $ words "gravatar"
465−
466− -- https://github.com/fpco/stackage/issues/299
467− -- mapM_ (add "Paul Harper <benekastah@gmail.com>") $ words "yesod-auth-oauth2"
468−
469− mapM_ (add "Felipe Lessa <felipe.lessa@gmail.com>") $ words
470− "esqueleto fb fb-persistent yesod-fb yesod-auth-fb"
471−
472− mapM_ (add "Alexander Altman <alexanderaltman@me.com>") $ words
473− "base-unicode-symbols containers-unicode-symbols"
474−
475− if ghcVer >= GhcMajorVersion 7 8
476− then add "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>" "accelerate"
477− else do
478− addRange "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>" "accelerate" "< 0.15"
479− addRange "Michael Snoyman" "linear-accelerate" "< 0.2"
480−
481− mapM_ (add "Dan Burton <danburton.email@gmail.com>") $ words =<<
482− [ "basic-prelude composition io-memoize numbers rev-state runmemo"
483− , "tardis lens-family-th"
484− ]
485−
486− mapM_ (add "Daniel Díaz <dhelta.diaz@gmail.com>") $ words
487− "HaTeX matrix"
488− when (ghcVer >= GhcMajorVersion 7 8) $
489− mapM_ (add "Daniel Díaz <dhelta.diaz@gmail.com>") $ words
490− "binary-list"
491−
492− mapM_ (add "Gabriel Gonzalez <Gabriel439@gmail.com>")
493− ["pipes", "pipes-parse", "pipes-concurrency"]
494−
495− when (ghcVer >= GhcMajorVersion 7 8) $
496− mapM_ (add "Chris Allen <cma@bitemyapp.com>")
497− ["bloodhound"]
498−
499− mapM_ (add "Adam Bergmark <adam@bergmark.nl>") $ words
500− "fay fay-base fay-dom fay-jquery fay-text fay-uri snaplet-fay"
501−
502− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
503− mapM_ (add "Rodrigo Setti <rodrigosetti@gmail.com>") $ words
504− "messagepack messagepack-rpc"
505−
506− mapM_ (add "Boris Lykah <lykahb@gmail.com>") $ words
507− "groundhog groundhog-th groundhog-sqlite groundhog-postgresql groundhog-mysql"
508−
509− mapM_ (add "Janne Hellsten <jjhellst@gmail.com>") $ words
510− "sqlite-simple"
511−
512− mapM_ (add "Michal J. Gajda") $ words
513− "iterable Octree FenwickTree"
514− -- https://github.com/BioHaskell/hPDB/issues/2
515− when (ghcVer >= GhcMajorVersion 7 8) $ do
516− mapM_ (add "Michal J. Gajda") $ words
517− "hPDB hPDB-examples"
518−
519− mapM_ (add "Roman Cheplyaka <roma@ro-che.info>") $ words =<<
520− [ "smallcheck tasty tasty-smallcheck tasty-quickcheck tasty-hunit tasty-golden"
521− , "traverse-with-class regex-applicative time-lens"
522− , "haskell-names haskell-packages hse-cpp"
523− , "action-permutations amqp curl generics-sop heredoc immortal timezone-olson timezone-series"
524− ]
525−
526− mapM_ (add "George Giorgidze <giorgidze@gmail.com>") $ words
527− "HCodecs YampaSynth"
528−
529− mapM_ (add "Phil Hargett <phil@haphazardhouse.net>") $ words
530− "courier"
531−
532−#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)
533− mapM_ (add "Aycan iRiCAN <iricanaycan@gmail.com>") $ words
534− "hdaemonize hsyslog hweblib"
535−#else
536− mapM_ (add "Aycan iRiCAN <iricanaycan@gmail.com>") $ words
537− "hweblib"
538−#endif
539−
540− mapM_ (add "Joachim Breitner <mail@joachim-breitner.de>") $ words
541− "circle-packing arbtt"
542− when (ghcVer >= GhcMajorVersion 7 8) $
543− mapM_ (add "Joachim Breitner <mail@joachim-breitner.de>") $ words
544− "ghc-heap-view"
545−
546− when (ghcVer < GhcMajorVersion 7 8) $
547− mapM_ (add "John Wiegley") $ words =<<
548− [ "bindings-DSL github monad-extras numbers"
549− ]
550−
551− mapM_ (add "Aditya Bhargava <adit@adit.io") $ words
552− "HandsomeSoup"
553−
554− mapM_ (add "Clint Adams <clint@debian.org>") $ words
555− "hOpenPGP openpgp-asciiarmor MusicBrainz DAV hopenpgp-tools"
556−
557− -- https://github.com/fpco/stackage/issues/160
558− mapM_ (add "Ketil Malde") $ words =<<
559− [ "biocore biofasta biofastq biosff"
560− , "blastxml bioace biophd"
561− , "biopsl" -- https://github.com/ingolia/SamTools/issues/3 samtools
562− , "seqloc bioalign BlastHTTP"
563− -- The following have out-of-date dependencies currently
564− -- biostockholm memexml RNAwolf
565− -- , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF"
566− -- , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna"
567− -- , "BiobaseTypes BiobaseFasta"
568− -- MC-Fold-DP
569− ]
570− -- https://github.com/fpco/stackage/issues/163
571− addRange "Michael Snoyman" "biophd" "< 0.0.6 || > 0.0.6"
572−
573− mapM_ (add "Silk <code@silk.co>") $ words =<<
574− [ "arrow-list attoparsec-expr bumper code-builder fay-builder"
575− , "hxt-pickle-utils multipart regular-xmlpickler"
576− , "tostring uri-encode imagesize-conduit"
577− ]
578− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $ do
579− mapM_ (add "Silk <code@silk.co>") $ words =<<
580− [ "aeson-utils generic-aeson json-schema"
581− , "rest-client rest-core rest-gen rest-happstack rest-snap rest-stringmap"
582− , "rest-types rest-wai tostring uri-encode imagesize-conduit"
583− ]
584−
585− mapM_ (add "Simon Michael <simon@joyful.com>") $ words
586− "hledger"
587−
588− mapM_ (add "Mihai Maruseac <mihai.maruseac@gmail.com>") $ words
589− "io-manager"
590−
591− mapM_ (add "Dimitri Sabadie <dimitri.sabadie@gmail.com") $ words
592− "monad-journal"
593−
594− mapM_ (add "Thomas Schilling <nominolo@googlemail.com>") $ words
595− "ghc-syb-utils"
596−
597− mapM_ (add "Boris Buliga <d12frosted@icloud.com>") $ words
598− "ghc-mod io-choice"
599− when (ghcVer >= GhcMajorVersion 7 8) $
600− mapM_ (add "Boris Buliga <d12frosted@icloud.com>") $ words
601− "system-canonicalpath"
602−
603− when (ghcVer >= GhcMajorVersion 7 8) $
604− mapM_ (add "Yann Esposito <yann.esposito@gmail.com>") $ words
605− "holy-project"
606− when requireHP $ addRange "Yann Esposito <yann.esposito@gmail.com>" "holy-project" "< 0.1.1.1"
607−
608− mapM_ (add "Paul Rouse <pgr@doynton.org>") $ words
609− "yesod-auth-hashdb"
610−
611− add "Toralf Wittner <tw@dtex.org>" "zeromq4-haskell"
612−
613− mapM_ (add "trupill@gmail.com") $ words
614− "djinn-lib djinn-ghc"
615−
616− mapM_ (add "Arash Rouhani <miffoljud@gmail.com>") $ words
617− "yesod-text-markdown"
618−
619− mapM_ (add "Matvey Aksenov <matvey.aksenov@gmail.com") $ words
620− "terminal-size"
621−
622− mapM_ (add "Luis G. Torres <lgtorres42@gmail.com") $ words
623− "kdt"
624− {- https://github.com/fpco/stackage/pull/331
625− mapM_ (add "Jyotirmoy Bhattacharya <jyotirmoy@jyotirmoy.net") $ words
626− "hakyll"
627− -}
628−
629− mapM_ (add "Emanuel Borsobom <manny@fpcomplete.com>") $ words =<<
630− ["text-binary BoundedChan bytestring-lexing bytestring-trie"
631− ,"data-accessor data-accessor-mtl file-location here"
632− ,"hlibgit2 hostname-validate interpolatedstring-perl6 iproute"
633− ,"missing-foreign multimap parallel-io"]
634− when (ghcVer >= GhcMajorVersion 7 8) $
635− mapM_ (add "Emanuel Borsobom <manny@fpcomplete.com>") $ words
636− "haddock-api git-embed"
637− when (not requireHP) $
638− mapM_ (add "Emanuel Borsobom <manny@fpcomplete.com>") $ words
639− "fuzzcheck MissingH"
640−
641− mapM_ (add "Michael Sloan <mgsloan@gmail.com") $ words
642− "th-orphans th-reify-many"
643−
644− when (ghcVer == GhcMajorVersion 7 8 && not requireHP) $
645− mapM_ (add "Michael Snoyman") $ words =<<
646− [ "repa repa-io repa-algorithms repa-devil JuicyPixels-repa"
647− ]
648−
649− when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $ do
650− mapM_ (add "Nikita Volkov <nikita.y.volkov@mail.ru>") $
651− words "hasql hasql-postgres hasql-backend postgresql-binary" ++
652− words "stm-containers focus list-t slave-thread partial-handler" ++
653− words "neat-interpolation cases" ++
654− words "base-prelude mtl-prelude"
655− addRange "Nikita Volkov <nikita.y.volkov@mail.ru>" "mtl-prelude" "< 2"
656−
657− mapM_ (add "Iustin Pop <iustin@k1024.org>") $ words
658− "prefix-units"
659−
660− mapM_ (add "Alexander Thiemann <mail@athiemann.net>") $ words
661− "graph-core reroute Spock"
662−
663− mapM_ (add "Joey Eremondi <joey@eremondi.com>") $ words =<<
664− [ "prettyclass language-glsl union-find aeson-pretty QuasiText"
665− , "digest zip-archive elm-compiler elm-core-sources elm-build-lib"
666− -- elm-package
667− ]
668−
669−
670− mapM_ (add "Arthur Fayzrakhmanov <heraldhoi@gmail.com>") $ words
671− "sodium hdevtools"
672−
673− -- https://github.com/fpco/stackage/issues/217
674− addRange "Michael Snoyman" "transformers" "< 0.4"
675− addRange "Michael Snoyman" "mtl" "< 2.2"
676− addRange "Michael Snoyman" "lifted-base" "< 0.2.2.2"
677−
678− -- https://github.com/fpco/stackage/issues/224
679− when (ghcVer <= GhcMajorVersion 7 6) $ do
680− addRange "Michael Snoyman" "zip-archive" "== 0.2.2.1"
681− addRange "Michael Snoyman" "pandoc" "== 1.12.4.2"
682− addRange "Michael Snoyman" "texmath" "<= 0.6.6.3"
683− addRange "Michael Snoyman" "attoparsec" "== 0.11.3.1"
684− addRange "Michael Snoyman" "parsers" "< 0.11"
685− addRange "Michael Snoyman" "scientific" "< 0.3"
686− addRange "Michael Snoyman" "aeson" "< 0.7.0.5"
687− addRange "Michael Snoyman" "aeson-utils" "< 0.2.2"
688− addRange "Michael Snoyman" "formatting" "< 5"
689− addRange "Michael Snoyman" "aws" "< 0.10"
690− addRange "Michael Snoyman" "network" "< 2.6"
691− addRange "Michael Snoyman" "network-uri" "< 2.6"
692−
693− -- 0.16.2 fixes dependency issues with different version of GHC
694− -- and Haskell Platform. Now builds on GHC 7.4-7.8. Version 1.0 is
695− -- guaranteed to break the API. See
696− -- https://travis-ci.org/jswebtools/language-ecmascript for
697− -- current build status.
698− addRange "Andrey Chudnov <oss@chudnov.com>" "language-ecmascript" ">= 0.16.2 && < 1.0"
699−
700− -- https://github.com/fpco/stackage/issues/271
701− when (ghcVer < GhcMajorVersion 7 8) $
702− addRange "Michael Snoyman" "aeson" "< 0.8"
703−
704− -- https://github.com/fpco/stackage/issues/288
705− addRange "Michael Snoyman" "text" "< 1.2"
706−
707− -- Force a specific version that's compatible with transformers 0.3
708− addRange "Michael Snoyman" "transformers-compat" "== 0.3.3.3"
709−
710− -- https://github.com/fpco/stackage/issues/291
711− addRange "Michael Snoyman" "random" "< 1.0.1.3"
712−
713− -- https://github.com/fpco/stackage/issues/314
714− addRange "Michael Snoyman" "hxt" "< 9.3.1.9"
715−
716− -- https://github.com/fpco/stackage/issues/318
717− addRange "Michael Snoyman" "HaXml" "< 1.25"
718−
719− -- https://github.com/fpco/stackage/issues/319
720− addRange "Michael Snoyman" "polyparse" "< 1.10"
721−
722− -- https://github.com/fpco/stackage/issues/341
723− addRange "Michael Snoyman" "haskell-names" "< 0.5"
724−
725− -- https://github.com/nikita-volkov/stm-containers/issues/3
726− addRange "Michael Snoyman" "free" "< 4.10"
727−
728− -- https://github.com/fpco/stackage/issues/354
729− addRange "Michael Snoyman" "JuicyPixels" "< 3.2"
730−
731− when (ghcVer == GhcMajorVersion 7 8 && requireHP) $ do
732− -- Yay workarounds for unnecessarily old versions
733− let peg x y = addRange "Haskell Platform" x y
734− peg "aeson" "== 0.7.0.4"
735− peg "scientific" "== 0.2.0.2"
736− peg "criterion" "<= 0.8.1.0"
737− peg "tasty-quickcheck" "< 0.8.0.3"
738− peg "formatting" "< 5.0"
739− peg "parsers" "< 0.11"
740− peg "lens" "< 4.2"
741− peg "contravariant" "< 1"
742− peg "adjunctions" "< 4.2"
743− peg "kan-extensions" "< 4.1"
744− peg "semigroupoids" "< 4.1"
745− peg "aws" "< 0.10"
746− peg "pandoc" "< 1.13"
747− peg "texmath" "<= 0.6.6.3"
748− peg "checkers" "== 0.3.2"
749− peg "HandsomeSoup" "< 0.3.3"
750− peg "network-uri" "< 2.6"
751−
752− mapM_ (add "Tom Ellis <tom-stackage@jaguarpaw.co.uk>") $ words
753− "opaleye product-profunctors"
754−
755−add :: String -> String -> Writer PackageMap ()
756−add maintainer package = addRange maintainer package "-any"
757−
758−addRange :: String -> String -> String -> Writer PackageMap ()
759−addRange maintainer package range =
760− case simpleParse range of
761− Nothing -> error $ "Invalid range " ++ show range ++ " for " ++ package
762− Just range' -> tell $ PackageMap $ Map.singleton (PackageName package) (range', Maintainer maintainer)
763−
764−-- | Hard coded Haskell Platform versions
765−haskellPlatform78 :: Writer PackageMap ()
766−haskellPlatform78 = do
767− addRange "Haskell Platform" "ghc" "== 7.8.3"
768− addRange "Haskell Platform" "haddock" "== 2.14.3"
769− addRange "Haskell Platform" "array" "== 0.5.0.0"
770− addRange "Haskell Platform" "base" "== 4.7.0.1"
771− addRange "Haskell Platform" "bytestring" "== 0.10.4.0"
772− addRange "Haskell Platform" "Cabal" "== 1.18.1.3"
773− addRange "Haskell Platform" "containers" "== 0.5.5.1"
774− addRange "Haskell Platform" "deepseq" "== 1.3.0.2"
775− addRange "Haskell Platform" "directory" "== 1.2.1.0"
776− addRange "Haskell Platform" "filepath" "== 1.3.0.2"
777− addRange "Haskell Platform" "haskell2010" "== 1.1.2.0"
778− addRange "Haskell Platform" "haskell98" "== 2.0.0.3"
779− addRange "Haskell Platform" "hpc" "== 0.6.0.1"
780− addRange "Haskell Platform" "old-locale" "== 1.0.0.6"
781− addRange "Haskell Platform" "old-time" "== 1.1.0.2"
782− addRange "Haskell Platform" "pretty" "== 1.1.1.1"
783− addRange "Haskell Platform" "process" "== 1.2.0.0"
784− addRange "Haskell Platform" "template-haskell" "== 2.9.0.0"
785− addRange "Haskell Platform" "time" "== 1.4.2"
786− addRange "Haskell Platform" "transformers" "== 0.3.0.0"
787− addRange "Haskell Platform" "unix" "== 2.7.0.1"
788− addRange "Haskell Platform" "xhtml" "== 3000.2.1"
789− addRange "Haskell Platform" "async" "== 2.0.1.5"
790− addRange "Haskell Platform" "attoparsec" "== 0.10.4.0"
791− addRange "Haskell Platform" "case-insensitive" "== 1.1.0.3"
792− addRange "Haskell Platform" "fgl" "== 5.5.0.1"
793− addRange "Haskell Platform" "GLURaw" "== 1.4.0.1"
794− addRange "Haskell Platform" "GLUT" "== 2.5.1.1"
795− addRange "Haskell Platform" "hashable" "== 1.2.2.0"
796− addRange "Haskell Platform" "haskell-src" "== 1.0.1.6"
797− addRange "Haskell Platform" "html" "== 1.0.1.2"
798− addRange "Haskell Platform" "HTTP" "== 4000.2.10"
799− addRange "Haskell Platform" "HUnit" "== 1.2.5.2"
800− addRange "Haskell Platform" "mtl" "== 2.1.3.1"
801− addRange "Haskell Platform" "network" "== 2.4.2.3"
802− addRange "Haskell Platform" "OpenGL" "== 2.9.2.0"
803− addRange "Haskell Platform" "OpenGLRaw" "== 1.5.0.0"
804− addRange "Haskell Platform" "parallel" "== 3.2.0.4"
805− addRange "Haskell Platform" "parsec" "== 3.1.5"
806− addRange "Haskell Platform" "primitive" "== 0.5.2.1"
807− addRange "Haskell Platform" "QuickCheck" "== 2.6"
808− addRange "Haskell Platform" "random" "== 1.0.1.1"
809− addRange "Haskell Platform" "regex-base" "== 0.93.2"
810− addRange "Haskell Platform" "regex-compat" "== 0.95.1"
811− addRange "Haskell Platform" "regex-posix" "== 0.95.2"
812− addRange "Haskell Platform" "split" "== 0.2.2"
813− addRange "Haskell Platform" "stm" "== 2.4.2"
814− addRange "Haskell Platform" "syb" "== 0.4.1"
815− addRange "Haskell Platform" "text" "== 1.1.0.0"
816− addRange "Haskell Platform" "transformers" "== 0.3.0.0"
817− addRange "Haskell Platform" "unordered-containers" "== 0.2.4.0"
818− addRange "Haskell Platform" "vector" "== 0.10.9.1"
819− addRange "Haskell Platform" "xhtml" "== 3000.2.1"
820− addRange "Haskell Platform" "zlib" "== 0.5.4.1"
821− addRange "Haskell Platform" "alex" "== 3.1.3"
822− addRange "Haskell Platform" "cabal-install" "== 1.18.0.5"
823− addRange "Haskell Platform" "happy" "== 1.19.4"
824− addRange "Haskell Platform" "hscolour" "== 1.20.3"
825−
826−-- | Replacement Github users. This is useful when a project is owned by an
827−-- organization. It also lets you ping multiple users.
828−--
829−-- Note that cross organization team mentions aren't allowed by Github.
830−convertGithubUser :: String -> [String]
831−convertGithubUser x =
832− fromMaybe [x] $ Map.lookup (map toLower x) pairs
833− where
834− pairs = Map.fromList
835− [ ("diagrams", ["byorgey", "fryguybob", "jeffreyrosenbluth", "bergey"])
836− , ("yesodweb", ["snoyberg"])
837− , ("fpco", ["snoyberg"])
838− , ("faylang", ["bergmark"])
839− , ("silkapp", ["bergmark", "hesselink"])
840− , ("snapframework",["mightybyte"])
841− , ("haskell-ro", ["mihaimaruseac"])
842− ]
8+-}