389 lines
7.3 KiB
Plaintext
389 lines
7.3 KiB
Plaintext
cabal-version: 3.0
|
|
name: ghcup
|
|
version: 0.1.1
|
|
synopsis: ghc toolchain installer as an exe/library
|
|
description:
|
|
A rewrite of the shell script ghcup, for providing
|
|
a more stable user experience and exposing an API.
|
|
|
|
homepage: https://gitlab.haskell.org/haskell/ghcup-hs
|
|
bug-reports: https://gitlab.haskell.org/haskell/ghcup-hs/issues
|
|
license: LGPL-3.0-only
|
|
license-file: LICENSE
|
|
author: Julian Ospald
|
|
maintainer: hasufell@posteo.de
|
|
copyright: Julian Ospald 2020
|
|
category: System
|
|
build-type: Simple
|
|
extra-source-files: CHANGELOG.md
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://gitlab.haskell.org/haskell/ghcup-hs.git
|
|
|
|
flag Curl
|
|
description: Use curl instead of http-io-streams for download
|
|
default: False
|
|
manual: True
|
|
|
|
common HsOpenSSL
|
|
build-depends: HsOpenSSL >=0.11.4.18
|
|
|
|
common aeson
|
|
build-depends: aeson >=1.4
|
|
|
|
common aeson-pretty
|
|
build-depends: aeson-pretty >=0.8.8
|
|
|
|
common ascii-string
|
|
build-depends: ascii-string >=1.0
|
|
|
|
common async
|
|
build-depends: async >=0.8
|
|
|
|
common attoparsec
|
|
build-depends: attoparsec >=0.13
|
|
|
|
common base
|
|
build-depends: base >=4.12 && <5
|
|
|
|
common base16-bytestring
|
|
build-depends: base16-bytestring >= 0.1.1.6
|
|
|
|
common binary
|
|
build-depends: binary >=0.8.6.0
|
|
|
|
common bytestring
|
|
build-depends: bytestring >=0.10
|
|
|
|
common bz2
|
|
build-depends: bz2 >=0.5.0.5
|
|
|
|
common case-insensitive
|
|
build-depends: case-insensitive >=1.2.1.0
|
|
|
|
common concurrent-output
|
|
build-depends: concurrent-output >=1.10.11
|
|
|
|
common containers
|
|
build-depends: containers >=0.6
|
|
|
|
common cryptohash-sha256
|
|
build-depends: cryptohash-sha256 >= 0.11.101.0
|
|
|
|
common generics-sop
|
|
build-depends: generics-sop >=0.5
|
|
|
|
common haskus-utils-types
|
|
build-depends: haskus-utils-types >=1.5
|
|
|
|
common haskus-utils-variant
|
|
build-depends: haskus-utils-variant >=3.0
|
|
|
|
common hpath
|
|
build-depends: hpath >=0.11
|
|
|
|
common hpath-directory
|
|
build-depends: hpath-directory >=0.13.3
|
|
|
|
common hpath-filepath
|
|
build-depends: hpath-filepath >=0.10.3
|
|
|
|
common hpath-io
|
|
build-depends: hpath-io >=0.13.1
|
|
|
|
common hpath-posix
|
|
build-depends: hpath-posix >=0.13.2
|
|
|
|
common http-io-streams
|
|
build-depends: http-io-streams >=0.1.2.0
|
|
|
|
common io-streams
|
|
build-depends: io-streams >=1.5
|
|
|
|
common language-bash
|
|
build-depends: language-bash >=0.9
|
|
|
|
common lzma
|
|
build-depends: lzma >=0.0.0.3
|
|
|
|
common megaparsec
|
|
build-depends: megaparsec >=8.0.0
|
|
|
|
common monad-logger
|
|
build-depends: monad-logger >=0.3.31
|
|
|
|
common mtl
|
|
build-depends: mtl >=2.2
|
|
|
|
common optics
|
|
build-depends: optics >=0.2
|
|
|
|
common optics-vl
|
|
build-depends: optics-vl >=0.2
|
|
|
|
common optparse-applicative
|
|
build-depends: optparse-applicative >=0.15.1.0
|
|
|
|
common parsec
|
|
build-depends: parsec >=3.1
|
|
|
|
common pretty-terminal
|
|
build-depends: pretty-terminal >=0.1.0.0
|
|
|
|
common regex-posix
|
|
build-depends: regex-posix >=0.96
|
|
|
|
common resourcet
|
|
build-depends: resourcet >=1.2.2
|
|
|
|
common safe
|
|
build-depends: safe >=0.3.18
|
|
|
|
common safe-exceptions
|
|
build-depends: safe-exceptions >=0.1
|
|
|
|
common streamly
|
|
build-depends: streamly >=0.7.1
|
|
|
|
common streamly-posix
|
|
build-depends: streamly-posix >=0.1.0.0
|
|
|
|
common streamly-bytestring
|
|
build-depends: streamly-bytestring >=0.1.2
|
|
|
|
common strict-base
|
|
build-depends: strict-base >=0.4
|
|
|
|
common string-interpolate
|
|
build-depends: string-interpolate >=0.2.0.0
|
|
|
|
common table-layout
|
|
build-depends: table-layout >=0.8
|
|
|
|
common tar-bytestring
|
|
build-depends: tar-bytestring >=0.6.3.1
|
|
|
|
common template-haskell
|
|
build-depends: template-haskell >=2.7
|
|
|
|
common terminal-progress-bar
|
|
build-depends: terminal-progress-bar >=0.4.1
|
|
|
|
common text
|
|
build-depends: text >=1.2
|
|
|
|
common time
|
|
build-depends: time >=1.9.3
|
|
|
|
common transformers
|
|
build-depends: transformers >=0.5
|
|
|
|
common unix
|
|
build-depends: unix >=2.7
|
|
|
|
common unix-bytestring
|
|
build-depends: unix-bytestring >=0.3
|
|
|
|
common uri-bytestring
|
|
build-depends: uri-bytestring >=0.3.2.2
|
|
|
|
common utf8-string
|
|
build-depends: utf8-string >=1.0
|
|
|
|
common vector
|
|
build-depends: vector >=0.12
|
|
|
|
common versions
|
|
build-depends: versions >=3.5
|
|
|
|
common waargonaut
|
|
build-depends: waargonaut >=0.8
|
|
|
|
common word8
|
|
build-depends: word8 >=0.1.3
|
|
|
|
common zlib
|
|
build-depends: zlib >=0.6.2.1
|
|
|
|
common config
|
|
default-language: Haskell2010
|
|
ghc-options:
|
|
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
|
|
-fwarn-incomplete-record-updates -threaded
|
|
|
|
default-extensions:
|
|
LambdaCase
|
|
MultiWayIf
|
|
PackageImports
|
|
RecordWildCards
|
|
ScopedTypeVariables
|
|
Strict
|
|
StrictData
|
|
TupleSections
|
|
|
|
library
|
|
import:
|
|
config
|
|
, base
|
|
, base16-bytestring
|
|
, aeson
|
|
, ascii-string
|
|
, async
|
|
, attoparsec
|
|
, binary
|
|
, bytestring
|
|
, bz2
|
|
, case-insensitive
|
|
, concurrent-output
|
|
, containers
|
|
, cryptohash-sha256
|
|
, generics-sop
|
|
, haskus-utils-types
|
|
, haskus-utils-variant
|
|
, hpath
|
|
, hpath-directory
|
|
, hpath-filepath
|
|
, hpath-io
|
|
, hpath-posix
|
|
, language-bash
|
|
, lzma
|
|
, monad-logger
|
|
, mtl
|
|
, optics
|
|
, optics-vl
|
|
, parsec
|
|
, pretty-terminal
|
|
, regex-posix
|
|
, resourcet
|
|
, safe
|
|
, safe-exceptions
|
|
, streamly
|
|
, streamly-posix
|
|
, streamly-bytestring
|
|
, strict-base
|
|
, string-interpolate
|
|
, tar-bytestring
|
|
, template-haskell
|
|
, text
|
|
, time
|
|
, transformers
|
|
, unix
|
|
, unix-bytestring
|
|
, uri-bytestring
|
|
, utf8-string
|
|
, vector
|
|
, versions
|
|
, word8
|
|
, zlib
|
|
|
|
exposed-modules:
|
|
GHCup
|
|
GHCup.Download
|
|
GHCup.Download.Utils
|
|
GHCup.Errors
|
|
GHCup.Platform
|
|
GHCup.Requirements
|
|
GHCup.Types
|
|
GHCup.Types.JSON
|
|
GHCup.Types.Optics
|
|
GHCup.Utils
|
|
GHCup.Utils.Bash
|
|
GHCup.Utils.Dirs
|
|
GHCup.Utils.File
|
|
GHCup.Utils.Logger
|
|
GHCup.Utils.Prelude
|
|
GHCup.Utils.String.QQ
|
|
GHCup.Utils.Version.QQ
|
|
GHCup.Version
|
|
|
|
-- other-modules:
|
|
-- other-extensions:
|
|
hs-source-dirs: lib
|
|
|
|
if !flag(curl)
|
|
import:
|
|
, HsOpenSSL
|
|
, http-io-streams
|
|
, io-streams
|
|
, terminal-progress-bar
|
|
exposed-modules: GHCup.Download.IOStreams
|
|
else
|
|
cpp-options: -DCURL
|
|
|
|
executable ghcup
|
|
import:
|
|
config
|
|
, base
|
|
, bytestring
|
|
, containers
|
|
, haskus-utils-variant
|
|
, hpath
|
|
, hpath-io
|
|
, megaparsec
|
|
, monad-logger
|
|
, mtl
|
|
, optparse-applicative
|
|
, pretty-terminal
|
|
, resourcet
|
|
, string-interpolate
|
|
, table-layout
|
|
, text
|
|
, uri-bytestring
|
|
, utf8-string
|
|
, versions
|
|
|
|
--
|
|
main-is: Main.hs
|
|
|
|
-- other-modules:
|
|
-- other-extensions:
|
|
build-depends: ghcup
|
|
hs-source-dirs: app/ghcup
|
|
default-language: Haskell2010
|
|
|
|
executable ghcup-gen
|
|
import:
|
|
config
|
|
, base
|
|
, aeson
|
|
, aeson-pretty
|
|
, bytestring
|
|
, containers
|
|
, haskus-utils-variant
|
|
, hpath
|
|
, monad-logger
|
|
, mtl
|
|
, optics
|
|
, optparse-applicative
|
|
, pretty-terminal
|
|
, resourcet
|
|
, safe-exceptions
|
|
, string-interpolate
|
|
, table-layout
|
|
, text
|
|
, transformers
|
|
, uri-bytestring
|
|
, utf8-string
|
|
, versions
|
|
|
|
--
|
|
main-is: Main.hs
|
|
other-modules:
|
|
GHCupDownloads
|
|
GHCupInfo
|
|
ToolRequirements
|
|
Validate
|
|
|
|
-- other-extensions:
|
|
build-depends: ghcup
|
|
hs-source-dirs: app/ghcup-gen
|
|
default-language: Haskell2010
|
|
|
|
test-suite ghcup-test
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
hs-source-dirs: test
|
|
main-is: MyLibTest.hs
|
|
build-depends: base >=4.12.0.0
|