cabal-version: 2.4 name: ghcup version: 0.1.40.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 scoop-better-shimexe/shim.c scripts/bootstrap/bootstrap-haskell scripts/bootstrap/bootstrap-haskell.ps1 scripts/hooks/stack/ghc-install.sh scripts/shell-completions/bash scripts/shell-completions/fish scripts/shell-completions/zsh test/ghcup-test/data/dir/.keep test/ghcup-test/data/file test/ghcup-test/golden/unix/GHCupInfo.json tested-with: GHC==9.6.6 , 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 strict-metadata-parsing description: Don't ignore unknown keys in metadata. Useful for metadata testing. 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 , attoparsec ^>= 0.14 , base >=4.12 && <5 , bytestring >=0.10 && <0.13 , containers ^>=0.6 , deepseq ^>=1.4 || ^>=1.5 , directory ^>=1.3.6.0 , filepath >=1.4.101.0 , variant ^>=1.0 , megaparsec >=8.0.0 && <9.8 , mtl ^>=2.2 || ^>=2.3 , optics ^>=0.4 , optparse-applicative >=0.15.1.0 && <0.19 , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , process ^>=1.6.11.0 , resourcet ^>=1.2.2 || ^>=1.3 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , tagsoup ^>=0.14 , transformers ^>=0.5 || ^>=0.6 , template-haskell >=2.7 && <2.23 , temporary ^>=1.3 , text ^>=2.0 || ^>=2.1 , time >=1.9.3 && <1.13 , 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 ^>=0.11.0 if flag(tar) cpp-options: -DTAR build-depends: tar ^>=0.6.0.0 , zip ^>=2.0.0 || ^>=2.1.0 else build-depends: libarchive ^>=3.0.3.0 library import: app-common-depends exposed-modules: GHCup GHCup.Cabal GHCup.CabalConfig GHCup.Download GHCup.Download.Utils GHCup.Errors GHCup.GHC GHCup.HLS GHCup.List GHCup.Platform GHCup.PlanJson GHCup.Prelude GHCup.Prelude.Attoparsec 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.MapIgnoreUnknownKeys 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.Utils.Output GHCup.Utils.Pager GHCup.Utils.Parsers 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 , attoparsec ^>= 0.14 , base >=4.12 && <5 , base16-bytestring >=0.1.1.6 && <1.1 , binary ^>=0.8.6.0 , bytestring >=0.10 && <0.13 , 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 , Cabal-syntax ^>=3.6.0.0 || ^>=3.8.0.0 || ^>= 3.10.0.0 || ^>= 3.12.0.0 , case-insensitive ^>=1.2.1.0 , casing ^>=0.1.4.1 , containers ^>=0.6 , conduit ^>=1.3 , conduit-extra ^>=1.3 , cryptohash-sha256 ^>=0.11.101.0 , deepseq ^>=1.4.4.0 || ^>=1.5 , 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 , variant ^>=1.0 , xz ^>=5.6.3 , megaparsec >=8.0.0 && <9.8 , mtl ^>=2.2 || ^>=2.3 , optics ^>=0.4 , os-release ^>=1.0.0 , parsec , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , regex-posix ^>=0.96 , resourcet ^>=1.2.2 || ^>=1.3 , retry >=0.8.1.2 && <0.10 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , split ^>=0.2.3.4 , strict-base ^>=0.4 , template-haskell >=2.7 && <2.23 , temporary ^>=1.3 , terminal-size ^>=0.3.3 , text ^>=2.0 || ^>=2.1 , time >=1.9.3 && <1.13 , transformers ^>=0.5 || ^>=0.6 , unliftio-core ^>=0.2.0.1 , unordered-containers ^>=0.2.10.0 , uri-bytestring ^>=0.3.2.2 , utf8-string ^>=1.0 , vector >=0.12 && <0.14 , versions >=6.0.5 && <6.1 , word8 ^>=0.1.3 , yaml ^>=0.11.0 , zlib ^>=0.6.2.2 if flag(tar) cpp-options: -DTAR build-depends: tar ^>=0.6.0.0 , zip ^>=2.0.0 || ^>=2.1.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 install-includes: dirutils.h c-sources: cbits/dirutils.c build-depends: , unix ^>=2.7 || ^>=2.8 , unix-bytestring ^>=0.4 if flag(tui) cpp-options: -DBRICK build-depends: vty ^>=6.0 || ^>=6.1 || ^>=6.2 if (flag(strict-metadata-parsing)) cpp-options: -DSTRICT_METADATA_PARSING 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 Options.Applicative.Pretty.Shim 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.Widgets.Menus.Context GHCup.Brick.Widgets.Menus.AdvanceInstall GHCup.Brick.Widgets.Menus.CompileGHC GHCup.Brick.Widgets.Menus.CompileHLS 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 , brick ^>=2.1 , vty ^>=6.0 || ^>=6.1 || ^>=6.2 if !flag(tui) buildable: False if os(windows) cpp-options: -DIS_WINDOWS else build-depends: unix ^>=2.7 || ^>=2.8 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 if flag(internal-downloader) cpp-options: -DINTERNAL_DOWNLOADER if flag(tui) cpp-options: -DBRICK build-depends: , ghcup-tui , transformers ^>=0.5 || ^>=0.6 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.13 , containers ^>=0.6 , conduit ^>=1.3 , directory ^>=1.3.6.0 , filepath >=1.4.101.0 , generic-arbitrary ^>=0.1.0 || ^>=0.2.2 , ghcup , hspec >=2.7.10 && <2.12 , hspec-golden-aeson ^>=0.9 , QuickCheck ^>=2.14.1 , quickcheck-arbitrary-adt ^>=0.3.1.0 , text ^>=2.0 || ^>=2.1 , time >=1.9.3 && <1.13 , 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