cabal-version: 2.4 name: ghcup version: 0.1.22.0 license: LGPL-3.0-only license-file: LICENSE copyright: Julian Ospald 2024 maintainer: hasufell@posteo.de author: Julian Ospald homepage: https://github.com/haskell/ghcup-hs bug-reports: https://github.com/haskell/ghcup-hs/issues/ synopsis: ghc toolchain installer description: A rewrite of the shell script ghcup, for providing a more stable user experience and exposing an API. category: System build-type: Simple extra-doc-files: CHANGELOG.md data/config.yaml README.md extra-source-files: cbits/dirutils.c cbits/dirutils.h data/build_mk/cross data/build_mk/default test/ghcup-test/data/dir/.keep test/ghcup-test/data/file test/ghcup-test/golden/unix/GHCupInfo.json test/ghcup-test/golden/windows/GHCupInfo.json tested-with: GHC==9.4.8 , GHC==9.2.8 , GHC==9.0.2 , GHC==8.10.7 source-repository head type: git location: https://github.com/haskell/ghcup-hs.git flag tui description: Build the brick powered tui (ghcup tui). default: True manual: True flag internal-downloader description: Compile the internal downloader, which links against OpenSSL. This is disabled on windows. default: False manual: True flag no-exe description: Don't build any executables default: False manual: True flag tar description: Use haskell tar instead of libarchive. default: False manual: True common app-common-depends build-depends: , aeson >=1.4 , aeson-pretty ^>=0.8.8 , async ^>=2.2.3 , base >=4.12 && <5 , bytestring >=0.10 && <0.12 , cabal-install-parsers >=0.4.5 , cabal-plan ^>=0.7.2 , containers ^>=0.6 , deepseq ^>=1.4 , directory ^>=1.3.6.0 , filepath >=1.4.101.0 , haskus-utils-types ^>=1.5 , haskus-utils-variant ^>=3.3 , megaparsec >=8.0.0 && <9.3 , mtl ^>=2.2 , optparse-applicative >=0.15.1.0 && <0.18 , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , process ^>=1.6.11.0 , resourcet ^>=1.2.2 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , tagsoup ^>=0.14 , template-haskell >=2.7 && <2.22 , temporary ^>=1.3 , text ^>=2.0 , time >=1.9.3 && <1.12 , unordered-containers ^>=0.2 , uri-bytestring ^>=0.3.2.2 , utf8-string ^>=1.0 , vector >=0.12 && <0.14 , versions >=6.0.5 && <6.1 , yaml-streamly ^>=0.12.0 if flag(tar) cpp-options: -DTAR build-depends: tar ^>=0.6.0.0 , zip ^>=2.0.0 else build-depends: libarchive ^>=3.0.3.0 library exposed-modules: GHCup GHCup.Cabal GHCup.Download GHCup.Download.Utils GHCup.Errors GHCup.GHC GHCup.HLS GHCup.List GHCup.Platform GHCup.Prelude GHCup.Prelude.File GHCup.Prelude.File.Search GHCup.Prelude.Internal GHCup.Prelude.Logger GHCup.Prelude.Logger.Internal GHCup.Prelude.MegaParsec GHCup.Prelude.Process GHCup.Prelude.String.QQ GHCup.Prelude.Version.QQ GHCup.Prompts GHCup.Requirements GHCup.Stack GHCup.Types GHCup.Types.JSON GHCup.Types.JSON.Utils GHCup.Types.JSON.Versions GHCup.Types.Optics GHCup.Types.Stack GHCup.Utils GHCup.Utils.Dirs GHCup.Utils.Tar GHCup.Utils.Tar.Types GHCup.Utils.URI GHCup.Version hs-source-dirs: lib other-modules: Paths_ghcup autogen-modules: Paths_ghcup default-language: Haskell2010 default-extensions: DeriveGeneric LambdaCase MultiWayIf NamedFieldPuns PackageImports QuasiQuotes RecordWildCards ScopedTypeVariables StrictData TupleSections TypeApplications TypeFamilies ViewPatterns ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates build-depends: , aeson >=1.4 , async >=0.8 && <2.3 , base >=4.12 && <5 , base16-bytestring >=0.1.1.6 && <1.1 , binary ^>=0.8.6.0 , bytestring >=0.10 && <0.12 , bz2 ^>=1.0.1.1 , Cabal ^>=3.0.0.0 || ^>=3.2.0.0 || ^>=3.4.0.0 || ^>=3.6.0.0 || ^>=3.8.0.0 || ^>= 3.10.0.0 , case-insensitive ^>=1.2.1.0 , casing ^>=0.1.4.1 , containers ^>=0.6 , cryptohash-sha256 ^>=0.11.101.0 , deepseq ^>=1.4.4.0 , directory ^>=1.3.6.0 , disk-free-space ^>=0.1.0.1 , exceptions ^>=0.10 , filepath >=1.4.101.0 , file-uri ^>=0.1.0.0 , haskus-utils-types ^>=1.5 , haskus-utils-variant ^>=3.3 , lzma-static ^>=5.2.5.3 , megaparsec >=8.0.0 && <9.3 , mtl ^>=2.2 , optics ^>=0.4 , os-release ^>=1.0.0 , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , regex-posix ^>=0.96 , resourcet ^>=1.2.2 , retry >=0.8.1.2 && <0.10 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , split ^>=0.2.3.4 , streamly ^>=0.8.2 , strict-base ^>=0.4 , template-haskell >=2.7 && <2.22 , temporary ^>=1.3 , text ^>=2.0 , time >=1.9.3 && <1.12 , transformers ^>=0.5 , unliftio-core ^>=0.2.0.1 , unordered-containers ^>=0.2.10.0 , uri-bytestring ^>=0.3.2.2 , vector >=0.12 && <0.14 , versions >=6.0.5 && <6.1 , word8 ^>=0.1.3 , yaml-streamly ^>=0.12.0 , zlib ^>=0.6.2.2 if flag(tar) cpp-options: -DTAR build-depends: tar ^>=0.6.0.0 , zip ^>=2.0.0 else build-depends: libarchive ^>=3.0.3.0 if (flag(internal-downloader) && !os(windows)) exposed-modules: GHCup.Download.IOStreams cpp-options: -DINTERNAL_DOWNLOADER build-depends: , HsOpenSSL >=0.11.7.2 , http-io-streams >=0.1.2.0 , io-streams >=1.5.2.1 , terminal-progress-bar >=0.4.1 if os(windows) cpp-options: -DIS_WINDOWS other-modules: GHCup.Prelude.File.Windows GHCup.Prelude.Windows -- GHCup.OptParse.Run uses this exposed-modules: GHCup.Prelude.Process.Windows build-depends: , process ^>=1.6.11.0 , Win32 >=2.10 else other-modules: GHCup.Prelude.File.Posix GHCup.Prelude.File.Posix.Foreign GHCup.Prelude.Posix GHCup.Prelude.Process.Posix exposed-modules: GHCup.Prelude.File.Posix.Traversals include-dirs: cbits includes: dirutils.h install-includes: dirutils.h c-sources: cbits/dirutils.c build-depends: , terminal-size ^>=0.3.3 , unix ^>=2.7 || ^>=2.8 , unix-bytestring ^>=0.3.7.3 if flag(tui) cpp-options: -DBRICK build-depends: vty ^>=6.0 || ^>=6.1 || ^>=6.2 library ghcup-optparse import: app-common-depends exposed-modules: GHCup.OptParse GHCup.OptParse.ChangeLog GHCup.OptParse.Common GHCup.OptParse.Compile GHCup.OptParse.Config GHCup.OptParse.DInfo GHCup.OptParse.GC GHCup.OptParse.Install GHCup.OptParse.List GHCup.OptParse.Nuke GHCup.OptParse.Prefetch GHCup.OptParse.Rm GHCup.OptParse.Run GHCup.OptParse.Set GHCup.OptParse.Test GHCup.OptParse.ToolRequirements GHCup.OptParse.UnSet GHCup.OptParse.Upgrade GHCup.OptParse.Whereis hs-source-dirs: lib-opt default-language: Haskell2010 default-extensions: LambdaCase MultiWayIf NamedFieldPuns PackageImports RecordWildCards ScopedTypeVariables StrictData TupleSections ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates build-depends: ghcup if flag(internal-downloader) cpp-options: -DINTERNAL_DOWNLOADER if flag(tui) cpp-options: -DBRICK if os(windows) cpp-options: -DIS_WINDOWS else build-depends: unix ^>=2.7 || ^>=2.8 library ghcup-tui import: app-common-depends exposed-modules: GHCup.BrickMain GHCup.Brick.Widgets.Navigation GHCup.Brick.Widgets.Tutorial GHCup.Brick.Widgets.KeyInfo GHCup.Brick.Widgets.SectionList GHCup.Brick.Widgets.Menu GHCup.Brick.Actions GHCup.Brick.App GHCup.Brick.BrickState GHCup.Brick.Attributes GHCup.Brick.Common hs-source-dirs: lib-tui default-language: Haskell2010 default-extensions: LambdaCase MultiWayIf NamedFieldPuns PackageImports RecordWildCards ScopedTypeVariables StrictData TupleSections ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates build-depends: , ghcup , ghcup-optparse , optics ^>=0.4 , brick ^>=2.1 , transformers ^>=0.5 , vty ^>=6.0 , optics ^>=0.4 if flag(internal-downloader) cpp-options: -DINTERNAL_DOWNLOADER if flag(tui) cpp-options: -DBRICK if os(windows) cpp-options: -DIS_WINDOWS else build-depends: unix ^>=2.7 executable ghcup import: app-common-depends main-is: Main.hs hs-source-dirs: app/ghcup default-language: Haskell2010 default-extensions: LambdaCase MultiWayIf NamedFieldPuns PackageImports RecordWildCards ScopedTypeVariables StrictData TupleSections ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -threaded build-depends: , ghcup , ghcup-optparse , ghcup-tui if flag(internal-downloader) cpp-options: -DINTERNAL_DOWNLOADER if flag(tui) cpp-options: -DBRICK other-modules: BrickMain build-depends: , brick ^>=2.1 , transformers ^>=0.5 , vty ^>=6.0 || ^>=6.1 || ^>=6.2 , optics ^>=0.4 if os(windows) cpp-options: -DIS_WINDOWS else build-depends: unix ^>=2.7 || ^>=2.8 if flag(no-exe) buildable: False test-suite ghcup-test type: exitcode-stdio-1.0 main-is: Main.hs build-tool-depends: hspec-discover:hspec-discover -any hs-source-dirs: test/ghcup-test other-modules: GHCup.ArbitraryTypes GHCup.Prelude.File.Posix.TraversalsSpec GHCup.Types.JSONSpec GHCup.Utils.FileSpec Spec default-language: Haskell2010 default-extensions: LambdaCase MultiWayIf PackageImports RecordWildCards ScopedTypeVariables TupleSections ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates build-depends: , base >=4.12 && <5 , bytestring >=0.10 && <0.12 , containers ^>=0.6 , directory ^>=1.3.6.0 , filepath >=1.4.101.0 , generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3 , ghcup , hspec >=2.7.10 && <2.11 , hspec-golden-aeson ^>=0.9 , QuickCheck ^>=2.14.1 , quickcheck-arbitrary-adt ^>=0.3.1.0 , streamly ^>=0.8.2 , text ^>=2.0 , time >=1.9.3 && <1.12 , uri-bytestring ^>=0.3.2.2 , versions >=6.0.5 && <6.1 if os(windows) cpp-options: -DIS_WINDOWS else build-depends: unix ^>=2.7 || ^>=2.8 test-suite ghcup-optparse-test type: exitcode-stdio-1.0 hs-source-dirs: test/optparse-test main-is: Main.hs other-modules: ChangeLogTest CompileTest ConfigTest GCTest InstallTest ListTest OtherCommandTest RmTest RunTest SetTest UnsetTest UpgradeTest Utils WhereisTest if os(windows) cpp-options: -DIS_WINDOWS default-language: Haskell2010 ghc-options: -Wall build-depends: , base , ghcup , ghcup-optparse , optparse-applicative , tasty , tasty-hunit , template-haskell , text , uri-bytestring , versions