Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data CPkg = CPkg {
- pkgName :: String
- pkgVersion :: Version
- pkgUrl :: String
- pkgSubdir :: String
- pkgStream :: Bool
- pkgBuildDeps :: [Dep]
- pkgDeps :: [Dep]
- configureCommand :: BuildVars -> [Command]
- buildCommand :: BuildVars -> [Command]
- installCommand :: BuildVars -> [Command]
- data BuildVars = BuildVars {
- installDir :: FilePath
- currentDir :: FilePath
- targetTriple :: Maybe TargetTriple
- isCross :: Bool
- includeDirs :: [FilePath]
- preloadLibs :: [FilePath]
- shareDirs :: [FilePath]
- linkDirs :: [FilePath]
- binDirs :: [FilePath]
- buildOS :: OS
- buildArch :: Arch
- static :: Bool
- cpus :: Int
- newtype Version = Version [Natural]
- data Verbosity
- = Silent
- | Normal
- | Verbose
- | Loud
- | Diagnostic
- data TargetTriple = TargetTriple {
- arch :: Arch
- manufacturer :: Maybe Manufacturer
- os :: OS
- abi :: Maybe ABI
- data Command
- = CreateDirectory { }
- | MakeExecutable { }
- | Call { }
- | SymlinkBinary { }
- | Symlink { }
- | Write { }
- | CopyFile { }
- | Patch { }
- data OS
- data Arch
- = X64
- | AArch
- | Arm
- | RISCV64
- | PowerPC
- | PowerPC64
- | PowerPC64le
- | Sparc64
- | S390x
- | Alpha
- | M68k
- | Mips
- | MipsEl
- | Mips64
- | Mips64El
- | X86
- | SH4
- | HPPA
- | HPPA64
- | MipsIsa32r6El
- | MipsIsa32r6
- | MipsIsa64r6El
- | MipsIsa64r6
- data Manufacturer
- data ABI
- newtype InstallDb = InstallDb {}
- data BuildCfg = BuildCfg {
- buildName :: String
- buildVersion :: Version
- pinnedBuildDeps :: [(Text, Version)]
- pinnedDeps :: [(Text, Version)]
- targetArch :: Maybe TargetTriple
- global :: Bool
- configureCmds :: [Command]
- buildCmds :: [Command]
- installCmds :: [Command]
- data EnvVar = EnvVar {}
- type MonadDb = MonadState InstallDb
- type PkgM = StateT InstallDb (ReaderT Verbosity IO)
- type Platform = String
- data Dep = Dep {}
- buildCPkg :: CPkg -> Maybe TargetTriple -> Bool -> Bool -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> PkgM ()
- runPkgM :: Verbosity -> PkgM a -> IO a
- globalPkgDir :: MonadIO m => m FilePath
- printLinkerFlags :: (MonadIO m, MonadDb m) => String -> Maybe Platform -> m ()
- printCompilerFlags :: (MonadIO m, MonadDb m) => String -> Maybe Platform -> m ()
- printPkgConfigPath :: (MonadIO m, MonadDb m) => String -> Maybe Platform -> m ()
- printIncludePath :: (MonadIO m, MonadDb m) => String -> Maybe Platform -> m ()
- printLibPath :: (MonadIO m, MonadDb m) => String -> Maybe Platform -> m ()
- printCabalFlags :: (MonadIO m, MonadDb m) => [String] -> Maybe Platform -> m ()
- buildByName :: PackId -> Maybe TargetTriple -> Maybe String -> Bool -> Bool -> PkgM ()
- cPkgDhallToCPkg :: CPkg -> CPkg
- getCPkg :: Verbosity -> FilePath -> IO CPkg
- getPkgs :: Verbosity -> FilePath -> IO [CPkg]
- displayPackageSet :: Maybe String -> IO ()
- allPackages :: IO [String]
- parseTriple :: Parser TargetTriple
- parseTripleIO :: MonadIO m => String -> m TargetTriple
- parseHostIO :: MonadIO m => Maybe Platform -> m (Maybe TargetTriple)
Types
CPkg | |
|
BuildVars | |
|
Silent | Display nothing |
Normal | Display progress information |
Verbose | Display stderr from builds |
Loud | Display stdout and stderr from builds |
Diagnostic | Display stdout and stderr from builds, and display debug information |
data TargetTriple Source #
TargetTriple | |
|
Instances
Instances
Instances
X64 | |
AArch | |
Arm | |
RISCV64 | |
PowerPC | |
PowerPC64 | |
PowerPC64le | |
Sparc64 | |
S390x | |
Alpha | |
M68k | |
Mips | |
MipsEl | |
Mips64 | |
Mips64El | |
X86 | |
SH4 | |
HPPA | |
HPPA64 | |
MipsIsa32r6El | |
MipsIsa32r6 | |
MipsIsa64r6El | |
MipsIsa64r6 |
Instances
data Manufacturer Source #
Instances
Instances
Eq ABI Source # | |
Ord ABI Source # | |
Generic ABI Source # | |
Binary ABI Source # | |
Hashable ABI Source # | |
Defined in Package.C.Triple.Type | |
Pretty ABI Source # | |
Defined in Package.C.Triple.Type prettyList :: [ABI] -> Doc ann | |
Inject ABI Source # | |
Defined in Package.C.Triple.Type injectWith :: InterpretOptions -> InputType ABI | |
type Rep ABI Source # | |
Defined in Package.C.Triple.Type type Rep ABI = D1 (MetaData "ABI" "Package.C.Triple.Type" "cpkg-0.2.0.0-inplace" False) ((C1 (MetaCons "GNU" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "GNUabi64" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "GNUeabi" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "GNUeabihf" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "GNUspe" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MinGw" PrefixI False) (U1 :: Type -> Type)))) |
BuildCfg | |
|
Instances
Instances
Eq EnvVar Source # | |
Ord EnvVar Source # | |
Generic EnvVar Source # | |
Binary EnvVar Source # | |
Hashable EnvVar Source # | |
Defined in Package.C.Type | |
type Rep EnvVar Source # | |
Defined in Package.C.Type type Rep EnvVar = D1 (MetaData "EnvVar" "Package.C.Type" "cpkg-0.2.0.0-inplace" False) (C1 (MetaCons "EnvVar" PrefixI True) (S1 (MetaSel (Just "var") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String) :*: S1 (MetaSel (Just "value") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) |
type MonadDb = MonadState InstallDb Source #
Functions
globalPkgDir :: MonadIO m => m FilePath Source #
buildByName :: PackId -> Maybe TargetTriple -> Maybe String -> Bool -> Bool -> PkgM () Source #
Dhall functionality
cPkgDhallToCPkg :: CPkg -> CPkg Source #
Packaging
allPackages :: IO [String] Source #
Parsers
parseTriple :: Parser TargetTriple Source #
parseTripleIO :: MonadIO m => String -> m TargetTriple Source #
parseHostIO :: MonadIO m => Maybe Platform -> m (Maybe TargetTriple) Source #