2module Stackage.Config where
4import Control.Monad (when, unless)
5import Control.Monad.Trans.Writer (Writer, execWriter, tell)
6import Data.Char (toLower)
7import qualified Data.Map as Map
8import Data.Maybe (fromMaybe)
9import Data.Set (fromList, singleton)
10import Distribution.Text (simpleParse)
13-- | Packages which are shipped with GHC but are not included in the
14-- Haskell Platform list of core packages.
15defaultExtraCore :: GhcMajorVersion -> Set PackageName
16defaultExtraCore _ = fromList $ map PackageName $ words
17 "binary Win32 ghc-prim integer-gmp"
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.
22defaultExpectedFailures :: GhcMajorVersion
24defaultExpectedFailures ghcVer = execWriter $ do
25 -- Requires an old version of WAI and Warp for tests
28 -- text and setenv have recursive dependencies in their tests, which
29 -- cabal can't (yet) handle
33 -- The version of GLUT included with the HP does not generate
34 -- documentation correctly.
37 -- https://github.com/bos/statistics/issues/42
40 -- https://github.com/kazu-yamamoto/simple-sendfile/pull/10
43 -- http://hackage.haskell.org/trac/hackage/ticket/954
46 -- https://github.com/fpco/stackage/issues/24
49 -- With transformers 0.3, it doesn't provide any modules
50 add "transformers-compat"
52 -- Tests require shell script and are incompatible with sandboxed package
56 -- https://github.com/simonmar/monad-par/issues/28
59 -- Unfortunately network failures seem to happen haphazardly
62 -- https://github.com/ekmett/hyphenation/issues/1
65 -- Test suite takes too long to run on some systems
68 -- http://hub.darcs.net/stepcut/happstack/issue/1
69 add "happstack-server"
71 -- Requires a Facebook app.
74 -- https://github.com/tibbe/hashable/issues/64
77 -- https://github.com/vincenthz/language-java/issues/10
83 add "language-ecmascript"
87 -- https://github.com/basvandijk/concurrent-extra/issues/
88 add "concurrent-extra"
90 -- https://github.com/skogsbaer/xmlgen/issues/2
93 -- Something very strange going on with the test suite, I can't figure
97 -- Requires a locally running PostgreSQL server with appropriate users
98 add "postgresql-simple"
103 -- Some kind of Cabal bug when trying to run tests
108 -- https://github.com/jgm/pandoc-citeproc/issues/5
109 add "pandoc-citeproc"
111 -- Problems with doctest and sandboxing
115 -- https://github.com/fpco/stackage/issues/163
119 -- https://github.com/bos/math-functions/issues/25
122 -- FIXME the test suite fails fairly regularly in builds, though I haven't
123 -- discovered why yet
126 -- Test suite is currently failing regularly, needs to be worked out still.
129 -- Requires too old a version of test-framework
132 -- No code included any more, therefore Haddock fails
133 mapM_ add $ words =<<
134 [ "comonad-transformers comonads-fd groupoids"
135 , "profunctor-extras semigroupoid-extras"
136 , "hamlet shakespeare-css shakespeare-i18n"
137 , "shakespeare-js shakespeare-text"
138 , "attoparsec-conduit blaze-builder-conduit http-client-conduit"
139 , "network-conduit zlib-conduit http-client-multipart"
140 , "wai-eventsource wai-test"
143 -- Cloud Haskell tests seem to be unreliable
144 mapM_ add $ words =<<
145 [ "distributed-process lockfree-queue network-transport-tcp"
148 -- Pulls in monad-peel which does not compile
149 when (ghcVer >= GhcMajorVersion 7 8) $ add "monad-control"
151 -- issues with pthread
152 mapM_ add $ words "hlibgit2 gitlib-s3 gitlib-libgit2"
154 -- https://github.com/fpco/stackage/issues/226
157 -- https://github.com/gtk2hs/gtk2hs/issues/36
161 -- https://github.com/acw/bytestring-progress/issues/3
162 add "bytestring-progress"
164 -- Seems to require 32-bit functions
167 -- Depends on a missing graphviz executable
170 -- https://github.com/silkapp/json-schema/issues/8
171 when (ghcVer <= GhcMajorVersion 7 6) $
174 -- No AWS creds available
183 -- Requires too new a version of time
184 when (ghcVer < GhcMajorVersion 7 8) $ add "cookie"
186 -- https://github.com/fpco/stackage/issues/285
187 add "diagrams-haddock"
191 -- https://github.com/BioHaskell/octree/issues/4
194 -- No code until we upgrade to network 2.6
197 -- https://github.com/goldfirere/th-desugar/issues/12
200 -- https://github.com/haskell/c2hs/issues/108
203 -- https://github.com/jmillikin/haskell-filesystem/issues/3
204 add "system-filepath"
206 -- For some unknown reason, doctest has trouble on GHC 7.6. This only
207 -- happens during a Stackage test.
209 -- See: http://www.reddit.com/r/haskell/comments/2go92u/beginner_error_messages_in_c_vs_haskell/cklaspk
210 when (ghcVer == GhcMajorVersion 7 6) $ add "http-types"
212 -- Requires a running webdriver server
216 -- Weird conflicts with sandboxing
219 add = tell . singleton . PackageName
221-- | List of packages for our stable Hackage. All dependencies will be
222-- included as well. Please indicate who will be maintaining the package
224defaultStablePackages :: GhcMajorVersion
225 -> Bool -- ^ using haskell platform?
226 -> Map PackageName (VersionRange, Maintainer)
227defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
228 when (ghcVer == GhcMajorVersion 7 8 && requireHP) haskellPlatform78
229 mapM_ (add "michael@snoyman.com") $ words =<<
230 [ "yesod yesod-newsfeed yesod-sitemap yesod-static yesod-test yesod-bin"
231 , "markdown mime-mail-ses"
232 , "persistent persistent-template persistent-sqlite persistent-postgresql persistent-mysql"
233 , "network-conduit-tls yackage warp-tls keter"
234 , "process-conduit stm-conduit"
235 , "classy-prelude-yesod yesod-fay yesod-eventsource wai-websockets"
236 , "random-shuffle hebrew-time"
237 , "bzlib-conduit case-insensitive"
238 , "conduit-extra conduit-combinators yesod-websockets"
240 , "yesod-auth-deskcom monadcryptorandom"
243 -- https://github.com/fpco/stackage/issues/261
244 addRange "Michael Snoyman" "cabal-install" $
247 | ghcVer <= GhcMajorVersion 7 6 -> "< 1.17"
248 | ghcVer <= GhcMajorVersion 7 8 -> "< 1.19"
249 | otherwise -> "-any"
251 mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
252 [ "web-fpco th-expand-syns configurator smtLib"
253 , "fixed-list indents language-c pretty-class"
254 , "csv-conduit cassava"
255 , "async shelly thyme"
256 , "hxt hxt-relaxng dimensional"
257 , "cairo diagrams-cairo gtk2hs-buildtools"
258 , "base16-bytestring convertible"
259 , "compdata hybrid-vectors"
260 , "executable-path formatting quandl-api"
261 , "fgl hmatrix hmatrix-gsl"
263 , "fpco-api aws persistent-mongoDB"
264 , "random-fu lhs2tex"
265 , "Chart Chart-diagrams histogram-fill random-source"
266 , "webdriver-snoy" -- Replace with webdriver after: https://github.com/kallisti-dev/hs-webdriver/issues/53
267 -- https://github.com/Soostone/retry/pull/15
270 when (ghcVer < GhcMajorVersion 7 8) $ do -- No GHC 7.8 support
271 mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
272 [ "" -- too unreliable for the moment "distributed-process distributed-process-simplelocalnet"
273 -- https://github.com/fpco/stackage/issues/295
274 --, "threepenny-gui unification-fd"
276 addRange "FP Complete <michael@fpcomplete.com>" "compdata" "< 0.8"
277 when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $
278 mapM_ (add "FP Complete <michael@fpcomplete.com>") $ words =<<
280 , "th-lift singletons th-desugar quickcheck-assertions"
283 addRange "FP Complete <michael@fpcomplete.com>" "kure" "<= 2.4.10"
285 mapM_ (add "Neil Mitchell") $ words
286 "hlint hoogle shake derive tagsoup cmdargs safe uniplate nsis js-jquery extra bake ghcid"
288 mapM_ (add "Alan Zimmerman") $ words
289 "hjsmin language-javascript"
291 mapM_ (add "Jasper Van der Jeugt") $ words
292 "blaze-html blaze-markup stylish-haskell"
294 mapM_ (add "Antoine Latter") $ words
297 mapM_ (add "Stefan Wehr <wehr@factisresearch.com>") $ words
298 "HTF xmlgen stm-stats"
299 when (ghcVer < GhcMajorVersion 7 8) $ add "Stefan Wehr <wehr@factisresearch.com>" "hscurses"
301 mapM_ (add "Bart Massey <bart.massey+stackage@gmail.com>") $ words
304 mapM_ (add "Vincent Hanquez") $ words =<<
305 [ "bytedump certificate cipher-aes cipher-rc4 connection"
306 , "cprng-aes cpu crypto-pubkey-types crypto-random-api cryptocipher"
307 , "cryptohash hit language-java libgit pem siphash socks tls"
308 , "tls-debug vhd language-java"
311 mapM_ (add "Chris Done") $ words
313 -- https://github.com/isomorphism/these/issues/11
314 -- when (ghcVer >= GhcMajorVersion 7 8) $ add "Chris Done" "shell-conduit"
316#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)
317 -- Does not compile on Windows
318 mapM_ (add "Vincent Hanquez") $ words "udbus xenstore"
321 when (ghcVer < GhcMajorVersion 7 8) $
322 mapM_ (add "Alberto G. Corona <agocorona@gmail.com>") $ words
323 "RefSerialize TCache Workflow MFlow"
325 mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
326 [ "ad adjunctions bifunctors bound charset comonad comonad-transformers"
327 , "comonads-fd compressed concurrent-supply constraints contravariant"
328 , "distributive either eq free groupoids heaps hyphenation"
329 , "integration intervals kan-extensions lca lens linear monadic-arrays machines"
330 , "mtl profunctors profunctor-extras reducers reflection"
331 , "semigroups semigroupoids semigroupoid-extras speculation tagged void"
332 , "graphs monad-products monad-st wl-pprint-extras wl-pprint-terminfo"
333 , "numeric-extras parsers pointed prelude-extras reducers"
334 , "streams vector-instances"
336 when (ghcVer < GhcMajorVersion 7 8) $
337 mapM_ (add "Edward Kmett <ekmett@gmail.com>") $ words =<<
338 [ "categories comonad-extras recursion-schemes syb-extras"
341 mapM_ (add "Andrew Farmer <afarmer@ittc.ku.edu>") $ words
342 "scotty wai-middleware-static"
344 mapM_ (add "Simon Hengel <sol@typeful.net>") $ words
345 "hspec doctest base-compat"
347 mapM_ (add "Mario Blazevic <blamario@yahoo.com>") $ words
348 "monad-parallel monad-coroutine incremental-parser monoid-subclasses"
350 mapM_ (add "Brent Yorgey <byorgey@gmail.com>") $ words =<<
351 [ "monoid-extras dual-tree vector-space-points active force-layout"
352 , "diagrams diagrams-contrib diagrams-core diagrams-lib diagrams-svg"
353 , "diagrams-postscript diagrams-builder diagrams-haddock haxr"
354 , "BlogLiterately BlogLiterately-diagrams"
357 mapM_ (add "Vincent Berthoux <vincent.berthoux@gmail.com>") $ words
360 mapM_ (add "Patrick Brisbin") $ words "gravatar"
362 -- https://github.com/fpco/stackage/issues/299
363 -- mapM_ (add "Paul Harper <benekastah@gmail.com>") $ words "yesod-auth-oauth2"
365 mapM_ (add "Felipe Lessa <felipe.lessa@gmail.com>") $ words
366 "esqueleto fb fb-persistent yesod-fb yesod-auth-fb"
368 mapM_ (add "Alexander Altman <alexanderaltman@me.com>") $ words
369 "base-unicode-symbols containers-unicode-symbols"
371 if ghcVer >= GhcMajorVersion 7 8
372 then add "Ryan Newton <ryan.newton@alum.mit.edu>" "accelerate"
373 else addRange "Ryan Newton <ryan.newton@alum.mit.edu>" "accelerate" "< 0.15"
375 mapM_ (add "Dan Burton <danburton.email@gmail.com>") $ words =<<
376 [ "basic-prelude composition io-memoize numbers rev-state runmemo"
377 , "tardis lens-family-th"
380 mapM_ (add "Daniel Díaz <dhelta.diaz@gmail.com>") $ words
382 when (ghcVer >= GhcMajorVersion 7 8) $
383 mapM_ (add "Daniel Díaz <dhelta.diaz@gmail.com>") $ words
386 mapM_ (add "Gabriel Gonzalez <Gabriel439@gmail.com>")
387 ["pipes", "pipes-parse", "pipes-concurrency"]
389 mapM_ (add "Chris Allen <cma@bitemyapp.com>")
392 mapM_ (add "Adam Bergmark <adam@bergmark.nl>") $ words
393 "fay fay-base fay-dom fay-jquery fay-text fay-uri snaplet-fay"
395 mapM_ (add "Boris Lykah <lykahb@gmail.com>") $ words
396 "groundhog groundhog-th groundhog-sqlite groundhog-postgresql groundhog-mysql"
398 mapM_ (add "Janne Hellsten <jjhellst@gmail.com>") $ words
401 mapM_ (add "Michal J. Gajda") $ words
402 "iterable Octree FenwickTree"
403 -- https://github.com/BioHaskell/hPDB/issues/2
404 when (ghcVer >= GhcMajorVersion 7 8) $ do
405 mapM_ (add "Michal J. Gajda") $ words
408 mapM_ (add "Roman Cheplyaka <roma@ro-che.info>") $ words =<<
409 [ "smallcheck tasty tasty-smallcheck tasty-quickcheck tasty-hunit tasty-golden"
410 , "traverse-with-class regex-applicative time-lens"
411 , "haskell-names haskell-packages hse-cpp"
414 mapM_ (add "George Giorgidze <giorgidze@gmail.com>") $ words
417 mapM_ (add "Phil Hargett <phil@haphazardhouse.net>") $ words
420#if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)
421 mapM_ (add "Aycan iRiCAN <iricanaycan@gmail.com>") $ words
422 "hdaemonize hsyslog hweblib"
424 mapM_ (add "Aycan iRiCAN <iricanaycan@gmail.com>") $ words
428 mapM_ (add "Joachim Breitner <mail@joachim-breitner.de>") $ words
429 "circle-packing arbtt"
430 when (ghcVer >= GhcMajorVersion 7 8) $
431 mapM_ (add "Joachim Breitner <mail@joachim-breitner.de>") $ words
434 when (ghcVer < GhcMajorVersion 7 8) $
435 mapM_ (add "John Wiegley") $ words =<<
436 -- Removed these: bad semigroups upper bound
437 [ "bindings-DSL github monad-extras numbers hlibgit2"
438 , "gitlib gitlib-cmdline gitlib-test"
440 -- https://github.com/jwiegley/gitlib/issues/31
444 mapM_ (add "Ben Ford <ben@dlstartup.com") $ words
447 mapM_ (add "Clint Adams <clint@debian.org>") $ words
448 "hOpenPGP openpgp-asciiarmor MusicBrainz DAV hopenpgp-tools"
450 -- https://github.com/fpco/stackage/issues/160
451 mapM_ (add "Ketil Malde") $ words =<<
452 [ "biocore biofasta biofastq biosff"
453 , "blastxml bioace biophd"
454 , "biopsl" -- https://github.com/ingolia/SamTools/issues/3 samtools
455 , "seqloc bioalign BlastHTTP"
456 -- The following have out-of-date dependencies currently
457 -- biostockholm memexml RNAwolf
458 -- , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF"
459 -- , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna"
460 -- , "BiobaseTypes BiobaseFasta"
463 -- https://github.com/fpco/stackage/issues/163
464 addRange "Michael Snoyman" "biophd" "< 0.0.6 || > 0.0.6"
466 mapM_ (add "Silk <code@silk.co>") $ words =<<
467 [ "arrow-list attoparsec-expr bumper code-builder fay-builder"
468 , "hxt-pickle-utils multipart regular-xmlpickler"
469 , "tostring uri-encode imagesize-conduit"
471 when (ghcVer >= GhcMajorVersion 7 8 && not requireHP) $ do
472 mapM_ (add "Silk <code@silk.co>") $ words =<<
473 [ "aeson-utils generic-aeson json-schema"
474 , "rest-client rest-core rest-gen rest-happstack rest-snap rest-stringmap"
475 , "rest-types rest-wai tostring uri-encode imagesize-conduit"
478 mapM_ (add "Simon Michael <simon@joyful.com>") $ words
481 mapM_ (add "Mihai Maruseac <mihai.maruseac@gmail.com>") $ words
484 mapM_ (add "Dimitri Sabadie <dimitri.sabadie@gmail.com") $ words
487 mapM_ (add "Thomas Schilling <nominolo@googlemail.com>") $ words
490 mapM_ (add "Boris Buliga <d12frosted@icloud.com>") $ words
491 "djinn-lib djinn-ghc ghc-mod io-choice"
493 when (ghcVer >= GhcMajorVersion 7 8) $
494 mapM_ (add "Yann Esposito <yann.esposito@gmail.com>") $ words
496 when requireHP $ addRange "Yann Esposito <yann.esposito@gmail.com>" "holy-project" "< 0.1.1.1"
498 mapM_ (add "Paul Rouse <pgr@doynton.org>") $ words
501 add "Toralf Wittner <tw@dtex.org>" "zeromq4-haskell"
503 -- https://github.com/fpco/stackage/issues/216
504 -- QuickCheck constraint
505 -- when (ghcVer == GhcMajorVersion 7 6) $
506 -- addRange "Michael Snoyman" "repa" "< 3.2.5.1"
508 -- https://github.com/fpco/stackage/issues/217
509 addRange "Michael Snoyman" "transformers" "< 0.4"
510 addRange "Michael Snoyman" "mtl" "< 2.2"
511 addRange "Michael Snoyman" "lifted-base" "< 0.2.2.2"
513 -- https://github.com/fpco/stackage/issues/224
514 when (ghcVer <= GhcMajorVersion 7 6) $ do
515 addRange "Michael Snoyman" "zip-archive" "== 0.2.2.1"
516 addRange "Michael Snoyman" "pandoc" "== 1.12.4.2"
517 addRange "Michael Snoyman" "texmath" "<= 0.6.6.3"
518 addRange "Michael Snoyman" "attoparsec" "== 0.11.3.1"
519 addRange "Michael Snoyman" "parsers" "< 0.11"
520 addRange "Michael Snoyman" "scientific" "< 0.3"
521 addRange "Michael Snoyman" "aeson" "< 0.7.0.5"
522 addRange "Michael Snoyman" "aeson-utils" "< 0.2.2"
523 addRange "Michael Snoyman" "formatting" "< 5"
524 addRange "Michael Snoyman" "aws" "< 0.10"
526 -- 0.16.2 fixes dependency issues with different version of GHC
527 -- and Haskell Platform. Now builds on GHC 7.4-7.8. Version 1.0 is
528 -- guaranteed to break the API. See
529 -- https://travis-ci.org/jswebtools/language-ecmascript for
530 -- current build status.
531 addRange "Andrey Chudnov <oss@chudnov.com>" "language-ecmascript" ">= 0.16.2 && < 1.0"
533 -- https://github.com/fpco/stackage/issues/271
534 when (ghcVer < GhcMajorVersion 7 8) $
535 addRange "Michael Snoyman" "aeson" "< 0.8"
537 -- https://github.com/fpco/stackage/issues/274
538 addRange "Michael Snoyman" "pandoc-citeproc" "< 0.4"
540 -- https://github.com/fpco/stackage/issues/276
541 addRange "Michael Snoyman" "network" "< 2.6"
542 addRange "Michael Snoyman" "network-uri" "< 2.6"
544 -- https://github.com/fpco/stackage/issues/279
545 addRange "Michael Snoyman" "MonadRandom" "< 0.2"
547 -- https://github.com/fpco/stackage/issues/288
548 addRange "Michael Snoyman" "text" "< 1.2"
550 -- Pandoc upper bound https://github.com/jgm/pandoc/issues/1681
551 addRange "Michael Snoyman" "http-client" "< 0.4"
553 -- https://github.com/fpco/stackage/issues/289
554 addRange "Michael Snoyman" "haskell-src-exts" "< 1.16"
555 addRange "Michael Snoyman" "haskell-names" "< 0.4.1"
556 addRange "Michael Snoyman" "hlint" "< 1.9.5"
557 addRange "Michael Snoyman" "stylish-haskell" "< 0.5.11"
558 addRange "Michael Snoyman" "derive" "< 2.5.17"
559 addRange "Michael Snoyman" "hoogle" "< 4.2.35"
561 -- Force a specific version that's compatible with transformers 0.3
562 addRange "Michael Snoyman" "transformers-compat" "== 0.3.3.3"
564 -- https://github.com/fpco/stackage/issues/291
565 addRange "Michael Snoyman" "random" "< 1.0.1.3"
567 -- https://github.com/fpco/stackage/issues/302
568 addRange "Michael Snoyman" "optparse-applicative" "< 0.11"
569 when (ghcVer >= GhcMajorVersion 7 8) $
570 addRange "Michael Snoyman" "criterion" "< 1.0.2"
571 addRange "Michael Snoyman" "tasty" "< 0.10.0.1"
572 addRange "Michael Snoyman" "haskell-packages" "< 0.2.4.3"
573 addRange "Michael Snoyman" "diagrams-lib" "< 1.2.0.4"
575 when (ghcVer == GhcMajorVersion 7 8 && requireHP) $ do
576 -- Yay workarounds for unnecessarily old versions
577 let peg x y = addRange "Haskell Platform" x y
578 peg "aeson" "== 0.7.0.4"
579 peg "scientific" "== 0.2.0.2"
580 peg "criterion" "<= 0.8.1.0"
581 peg "tasty-quickcheck" "< 0.8.0.3"
582 peg "formatting" "< 5.0"
583 peg "parsers" "< 0.11"
585 peg "contravariant" "< 1"
586 peg "adjunctions" "< 4.2"
587 peg "kan-extensions" "< 4.1"
588 peg "semigroupoids" "< 4.1"
590 peg "pandoc" "< 1.13"
591 peg "texmath" "<= 0.6.6.3"
592 peg "checkers" "== 0.3.2"
594add :: String -> String -> Writer PackageMap ()
595add maintainer package = addRange maintainer package "-any"
597addRange :: String -> String -> String -> Writer PackageMap ()
598addRange maintainer package range =
599 case simpleParse range of
600 Nothing -> error $ "Invalid range " ++ show range ++ " for " ++ package
601 Just range' -> tell $ PackageMap $ Map.singleton (PackageName package) (range', Maintainer maintainer)
603-- | Hard coded Haskell Platform versions
604haskellPlatform78 :: Writer PackageMap ()
605haskellPlatform78 = do
606 addRange "Haskell Platform" "ghc" "== 7.8.3"
607 addRange "Haskell Platform" "haddock" "== 2.14.3"
608 addRange "Haskell Platform" "array" "== 0.5.0.0"
609 addRange "Haskell Platform" "base" "== 4.7.0.1"
610 addRange "Haskell Platform" "bytestring" "== 0.10.4.0"
611 addRange "Haskell Platform" "Cabal" "== 1.18.1.3"
612 addRange "Haskell Platform" "containers" "== 0.5.5.1"
613 addRange "Haskell Platform" "deepseq" "== 1.3.0.2"
614 addRange "Haskell Platform" "directory" "== 1.2.1.0"
615 addRange "Haskell Platform" "filepath" "== 1.3.0.2"
616 addRange "Haskell Platform" "haskell2010" "== 1.1.2.0"
617 addRange "Haskell Platform" "haskell98" "== 2.0.0.3"
618 addRange "Haskell Platform" "hpc" "== 0.6.0.1"
619 addRange "Haskell Platform" "old-locale" "== 1.0.0.6"
620 addRange "Haskell Platform" "old-time" "== 1.1.0.2"
621 addRange "Haskell Platform" "pretty" "== 1.1.1.1"
622 addRange "Haskell Platform" "process" "== 1.2.0.0"
623 addRange "Haskell Platform" "template-haskell" "== 2.9.0.0"
624 addRange "Haskell Platform" "time" "== 1.4.2"
625 addRange "Haskell Platform" "transformers" "== 0.3.0.0"
626 addRange "Haskell Platform" "unix" "== 2.7.0.1"
627 addRange "Haskell Platform" "xhtml" "== 3000.2.1"
628 addRange "Haskell Platform" "async" "== 2.0.1.5"
629 addRange "Haskell Platform" "attoparsec" "== 0.10.4.0"
630 addRange "Haskell Platform" "case-insensitive" "== 1.1.0.3"
631 addRange "Haskell Platform" "fgl" "== 5.5.0.1"
632 addRange "Haskell Platform" "GLURaw" "== 1.4.0.1"
633 addRange "Haskell Platform" "GLUT" "== 2.5.1.1"
634 addRange "Haskell Platform" "hashable" "== 1.2.2.0"
635 addRange "Haskell Platform" "haskell-src" "== 1.0.1.6"
636 addRange "Haskell Platform" "html" "== 1.0.1.2"
637 addRange "Haskell Platform" "HTTP" "== 4000.2.10"
638 addRange "Haskell Platform" "HUnit" "== 1.2.5.2"
639 addRange "Haskell Platform" "mtl" "== 2.1.3.1"
640 addRange "Haskell Platform" "network" "== 2.4.2.3"
641 addRange "Haskell Platform" "OpenGL" "== 2.9.2.0"
642 addRange "Haskell Platform" "OpenGLRaw" "== 1.5.0.0"
643 addRange "Haskell Platform" "parallel" "== 3.2.0.4"
644 addRange "Haskell Platform" "parsec" "== 3.1.5"
645 addRange "Haskell Platform" "primitive" "== 0.5.2.1"
646 addRange "Haskell Platform" "QuickCheck" "== 2.6"
647 addRange "Haskell Platform" "random" "== 1.0.1.1"
648 addRange "Haskell Platform" "regex-base" "== 0.93.2"
649 addRange "Haskell Platform" "regex-compat" "== 0.95.1"
650 addRange "Haskell Platform" "regex-posix" "== 0.95.2"
651 addRange "Haskell Platform" "split" "== 0.2.2"
652 addRange "Haskell Platform" "stm" "== 2.4.2"
653 addRange "Haskell Platform" "syb" "== 0.4.1"
654 addRange "Haskell Platform" "text" "== 1.1.0.0"
655 addRange "Haskell Platform" "transformers" "== 0.3.0.0"
656 addRange "Haskell Platform" "unordered-containers" "== 0.2.4.0"
657 addRange "Haskell Platform" "vector" "== 0.10.9.1"
658 addRange "Haskell Platform" "xhtml" "== 3000.2.1"
659 addRange "Haskell Platform" "zlib" "== 0.5.4.1"
660 addRange "Haskell Platform" "alex" "== 3.1.3"
661 addRange "Haskell Platform" "cabal-install" "== 1.18.0.5"
662 addRange "Haskell Platform" "happy" "== 1.19.4"
663 addRange "Haskell Platform" "hscolour" "== 1.20.3"
665-- | Replacement Github users. This is useful when a project is owned by an
666-- organization. It also lets you ping multiple users.
668-- Note that cross organization team mentions aren't allowed by Github.
669convertGithubUser :: String -> [String]
671 fromMaybe [x] $ Map.lookup (map toLower x) pairs
674 [ ("diagrams", ["byorgey", "fryguybob", "jeffreyrosenbluth", "bergey"])
675 , ("yesodweb", ["snoyberg"])
676 , ("fpco", ["snoyberg"])
677 , ("faylang", ["bergmark"])
678 , ("silkapp", ["bergmark", "hesselink"])
679 , ("snapframework",["mightybyte"])
680 , ("haskell-ro", ["mihaimaruseac"])
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list