cpkg-0.1.0.0: dhall/cpkg-types.dhall
let OS = < FreeBSD : {}
| OpenBSD : {}
| NetBSD : {}
| Solaris : {}
| Dragonfly : {}
| Linux : {}
| Darwin : {}
| Windows : {}
| Redox : {}
| Haiku : {}
| IOS : {}
| AIX : {}
| Hurd : {}
| Android : {}
| NoOs : {}
>
in
let Arch = < X64 : {}
| AArch : {}
| Arm : {}
| RISCV64 : {}
| PowerPC : {}
| PowerPC64 : {}
| PowerPC64le : {}
| Sparc64 : {}
| S390x : {}
| Alpha : {}
| M68k : {}
| Mips : {}
| MipsEl : {}
| Mips64 : {}
| Mips64El : {}
| X86 : {}
| SH4 : {}
| HPPA : {}
| HPPA64 : {}
>
in
let Manufacturer = < Unknown : {}
| Apple : {}
| IBM : {}
| PC : {}
>
in
let ABI = < GNU : {}
| GNUabi64 : {}
| GNUeabi : {}
| GNUeabihf : {}
| GNUspe : {}
| MinGw : {}
>
in
let TargetTriple = { arch : Arch
, manufacturer : Optional Manufacturer
, os : OS
, abi : Optional ABI
}
in
let BuildVars = { installDir : Text
, currentDir : Text
, targetTriple : Optional TargetTriple
, isCross : Bool
, includeDirs : List Text
, preloadLibs : List Text
, shareDirs : List Text
, linkDirs : List Text
, binDirs : List Text
, buildOS : OS
, buildArch : Arch
, static : Bool
, cpus : Natural
}
in
let VersionBound = < Lower : { lower : List Natural }
| Upper : { upper : List Natural }
| LowerUpper : { lower : List Natural, upper : List Natural }
| NoBound : {} >
in
let Dep = { name : Text, bound : VersionBound }
in
let EnvVar = { var : Text, value : Text }
in
let Proc = { program : Text
, arguments : List Text
, environment : Optional (List EnvVar)
, procDir : Optional Text
}
in
let Command = < CreateDirectory : { dir : Text }
| MakeExecutable : { file : Text }
| Call : Proc
| SymlinkBinary : { file : Text }
| Symlink : { tgt : Text, linkName : Text }
| Write : { file : Text, contents : Text }
| CopyFile : { src : Text, dest : Text }
>
in
{ OS = OS
, BuildVars = BuildVars
, VersionBound = VersionBound
, Dep = Dep
, Arch = Arch
, Manufacturer = Manufacturer
, ABI = ABI
, TargetTriple = TargetTriple
, Command = Command
, EnvVar = EnvVar
, Proc = Proc
}