-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Cabal compatibility wrapper library
--   
--   Find and read .cabal files, and a Cabal dependency compatibility
--   layer.
@package simple-cabal
@version 0.2.1

module SimpleCabal

-- | Find the .cabal file in the current directory.
--   
--   Errors if more than one or no file found.
findCabalFile :: IO FilePath

-- | Find .cabal file in a directory
--   
--   Errors if more than one or no file found.
findCabalFile' :: FilePath -> IO FilePath

-- | get PackageDescription from a cabal file
--   
--   deprecates finalPackageDescription
readFinalPackageDescription :: [(FlagName, Bool)] -> FilePath -> IO PackageDescription

-- | like readFinalPackageDescription but with a verbose parameter
readFinalPackageDescription' :: [(FlagName, Bool)] -> Verbosity -> FilePath -> IO PackageDescription

-- | Generate PackageDescription from the specified .cabal file and flags.
--   
--   deprecated in favour of readFinalPackageDescription
finalPackageDescription :: [(FlagName, Bool)] -> FilePath -> IO PackageDescription

-- | only available with Cabal-2.2+
parseFinalPackageDescription :: [(FlagName, Bool)] -> ByteString -> IO (Maybe PackageDescription)

-- | convert a GenericPackageDescription to a final PackageDescription
makeFinalPackageDescription :: [(FlagName, Bool)] -> GenericPackageDescription -> IO PackageDescription

-- | Get the package name-version from the .cabal file in the current
--   directory.
getPackageId :: IO PackageIdentifier

-- | List build dependencies
buildDepends :: PackageDescription -> [Dependency]

-- | Return the list of build dependencies of a package, excluding itself
buildDependencies :: PackageDescription -> [PackageName]

-- | List of setup dependencies
setupDependencies :: PackageDescription -> [PackageName]

-- | Return the list of testsuite dependencies of a package, excluding
--   itself
testsuiteDependencies :: PackageDescription -> [PackageName]
allBuildInfo :: PackageDescription -> [BuildInfo]
allLibraries :: PackageDescription -> [Library]
data BuildInfo
BuildInfo :: Bool -> [LegacyExeDependency] -> [ExeDependency] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [PkgconfigDependency] -> [String] -> [String] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [ModuleName] -> [ModuleName] -> [ModuleName] -> Maybe Language -> [Language] -> [Extension] -> [Extension] -> [Extension] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> PerCompilerFlavor [String] -> PerCompilerFlavor [String] -> PerCompilerFlavor [String] -> PerCompilerFlavor [String] -> [(String, String)] -> [Dependency] -> [Mixin] -> BuildInfo
[buildable] :: BuildInfo -> Bool
[buildTools] :: BuildInfo -> [LegacyExeDependency]
[buildToolDepends] :: BuildInfo -> [ExeDependency]
[cppOptions] :: BuildInfo -> [String]
[asmOptions] :: BuildInfo -> [String]
[cmmOptions] :: BuildInfo -> [String]
[ccOptions] :: BuildInfo -> [String]
[cxxOptions] :: BuildInfo -> [String]
[ldOptions] :: BuildInfo -> [String]
[pkgconfigDepends] :: BuildInfo -> [PkgconfigDependency]
[frameworks] :: BuildInfo -> [String]
[extraFrameworkDirs] :: BuildInfo -> [String]
[asmSources] :: BuildInfo -> [FilePath]
[cmmSources] :: BuildInfo -> [FilePath]
[cSources] :: BuildInfo -> [FilePath]
[cxxSources] :: BuildInfo -> [FilePath]
[jsSources] :: BuildInfo -> [FilePath]
[hsSourceDirs] :: BuildInfo -> [FilePath]
[otherModules] :: BuildInfo -> [ModuleName]
[virtualModules] :: BuildInfo -> [ModuleName]
[autogenModules] :: BuildInfo -> [ModuleName]
[defaultLanguage] :: BuildInfo -> Maybe Language
[otherLanguages] :: BuildInfo -> [Language]
[defaultExtensions] :: BuildInfo -> [Extension]
[otherExtensions] :: BuildInfo -> [Extension]
[oldExtensions] :: BuildInfo -> [Extension]
[extraLibs] :: BuildInfo -> [String]
[extraGHCiLibs] :: BuildInfo -> [String]
[extraBundledLibs] :: BuildInfo -> [String]
[extraLibFlavours] :: BuildInfo -> [String]
[extraDynLibFlavours] :: BuildInfo -> [String]
[extraLibDirs] :: BuildInfo -> [String]
[includeDirs] :: BuildInfo -> [FilePath]
[includes] :: BuildInfo -> [FilePath]
[autogenIncludes] :: BuildInfo -> [FilePath]
[installIncludes] :: BuildInfo -> [FilePath]
[options] :: BuildInfo -> PerCompilerFlavor [String]
[profOptions] :: BuildInfo -> PerCompilerFlavor [String]
[sharedOptions] :: BuildInfo -> PerCompilerFlavor [String]
[staticOptions] :: BuildInfo -> PerCompilerFlavor [String]
[customFieldsBI] :: BuildInfo -> [(String, String)]
[targetBuildDepends] :: BuildInfo -> [Dependency]
[mixins] :: BuildInfo -> [Mixin]
data Library
Library :: LibraryName -> [ModuleName] -> [ModuleReexport] -> [ModuleName] -> Bool -> LibraryVisibility -> BuildInfo -> Library
[libName] :: Library -> LibraryName
[exposedModules] :: Library -> [ModuleName]
[reexportedModules] :: Library -> [ModuleReexport]
[signatures] :: Library -> [ModuleName]
[libExposed] :: Library -> Bool
[libVisibility] :: Library -> LibraryVisibility
[libBuildInfo] :: Library -> BuildInfo
depPkgName :: Dependency -> PackageName

-- | name of legacy exe dep
exeDepName :: LegacyExeDependency -> String

-- | pkgconfig dep name
pkgcfgDepName :: PkgconfigDependency -> String
data UnqualComponentName
mkUnqualComponentName :: String -> UnqualComponentName
unUnqualComponentName :: UnqualComponentName -> String
data FlagName
mkFlagName :: String -> FlagName
hasExes :: PackageDescription -> Bool
hasLibs :: PackageDescription -> Bool
data PackageDescription
PackageDescription :: Either Version VersionRange -> PackageIdentifier -> Either License License -> [FilePath] -> !ShortText -> !ShortText -> !ShortText -> !ShortText -> [(CompilerFlavor, VersionRange)] -> !ShortText -> !ShortText -> !ShortText -> [SourceRepo] -> !ShortText -> !ShortText -> !ShortText -> [(String, String)] -> Maybe BuildType -> Maybe SetupBuildInfo -> Maybe Library -> [Library] -> [Executable] -> [ForeignLib] -> [TestSuite] -> [Benchmark] -> [FilePath] -> FilePath -> [FilePath] -> [FilePath] -> [FilePath] -> PackageDescription
[specVersionRaw] :: PackageDescription -> Either Version VersionRange
[package] :: PackageDescription -> PackageIdentifier
[licenseRaw] :: PackageDescription -> Either License License
[licenseFiles] :: PackageDescription -> [FilePath]
[copyright] :: PackageDescription -> !ShortText
[maintainer] :: PackageDescription -> !ShortText
[author] :: PackageDescription -> !ShortText
[stability] :: PackageDescription -> !ShortText
[testedWith] :: PackageDescription -> [(CompilerFlavor, VersionRange)]
[homepage] :: PackageDescription -> !ShortText
[pkgUrl] :: PackageDescription -> !ShortText
[bugReports] :: PackageDescription -> !ShortText
[sourceRepos] :: PackageDescription -> [SourceRepo]
[synopsis] :: PackageDescription -> !ShortText
[description] :: PackageDescription -> !ShortText
[category] :: PackageDescription -> !ShortText
[customFieldsPD] :: PackageDescription -> [(String, String)]
[buildTypeRaw] :: PackageDescription -> Maybe BuildType
[setupBuildInfo] :: PackageDescription -> Maybe SetupBuildInfo
[library] :: PackageDescription -> Maybe Library
[subLibraries] :: PackageDescription -> [Library]
[executables] :: PackageDescription -> [Executable]
[foreignLibs] :: PackageDescription -> [ForeignLib]
[testSuites] :: PackageDescription -> [TestSuite]
[benchmarks] :: PackageDescription -> [Benchmark]
[dataFiles] :: PackageDescription -> [FilePath]
[dataDir] :: PackageDescription -> FilePath
[extraSrcFiles] :: PackageDescription -> [FilePath]
[extraTmpFiles] :: PackageDescription -> [FilePath]
[extraDocFiles] :: PackageDescription -> [FilePath]
data PackageIdentifier
PackageIdentifier :: PackageName -> Version -> PackageIdentifier
[pkgName] :: PackageIdentifier -> PackageName
[pkgVersion] :: PackageIdentifier -> Version
data PackageName
mkPackageName :: String -> PackageName
unPackageName :: PackageName -> String
packageName :: Package pkg => pkg -> PackageName

-- | version string from PackageIdentifier
packageVersion :: PackageIdentifier -> String

-- | Legacy version of readGenericPackageDescription which doesn't use
--   SymbolicPath (or workdir)
--   
--   since 0.2.0
readGenericPackageDescription' :: Verbosity -> FilePath -> IO GenericPackageDescription

-- | convert PackageIdentifier to a displayable string
showPkgId :: PackageIdentifier -> String

-- | render a Version
showVersion :: Version -> String
simpleParse :: Parsec a => String -> Maybe a
simpleParsec :: Parsec a => String -> Maybe a

-- | Find cabal file in directory
--   
--   reintroduced in 0.2.1
tryFindPackageDesc :: FilePath -> IO FilePath

-- | Find cabal file in current directory
tryFindPackageDesc' :: IO FilePath
