packages feed

rainbow-tests-0.14.0.2: genCabal.hs

-- Generates a Cabal file for rainbow-tests using the Cartel package.
--
-- Written for Cartel version 0.10.0.2.

import qualified Cartel as A
import CabalCommon

rainbow :: A.Package
rainbow = A.exactly "rainbow" versionInts

quickcheck :: A.Package
quickcheck = A.closedOpen "QuickCheck" [2,7,5] [2,8]

properties :: A.Properties
properties = sharedProperties
  { A.prName = "rainbow-tests"
  , A.prSynopsis = "Tests and QuickCheck generators to accompany rainbow."
  , A.prDescription =
    [ "These are packaged separately so other packages may depend"
    , "on them."
    ]

  , A.prExtraSourceFiles =
    [ "README.md"
    , "changelog"
    , "current-versions.txt"
    , "minimum-versions.txt"
    , "genCabal.hs"
    , "sunlight-test.hs"
    ]
  }

library
  :: [String]
  -- ^ Library modules
  -> A.Library
library ms = A.Library
  [ A.LibExposedModules ms
  , A.defaultLanguage A.Haskell2010
  , A.ghcOptions ["-Wall"]
  , A.hsSourceDirs ["lib"]
  , A.buildDepends
    [ base
    , terminfo
    , text
    , rainbow
    , quickcheck
    ]
  ]

cabal
  :: [String]
  -- ^ Library modules
  -> A.Cabal
cabal ms = A.empty
  { A.cProperties = properties
  , A.cRepositories = [repo]
  , A.cLibrary = Just $ library ms
  }

main :: IO ()
main = do
  ms <- A.modules "lib"
  A.render "genCabal.hs" $ cabal ms