ghcup-hs/ghcup.cabal

508 lines
13 KiB
Plaintext
Raw Normal View History

cabal-version: 2.4
name: ghcup
2024-03-01 14:33:58 +00:00
version: 0.1.22.0
license: LGPL-3.0-only
license-file: LICENSE
2024-03-01 14:33:58 +00:00
copyright: Julian Ospald 2024
maintainer: hasufell@posteo.de
author: Julian Ospald
2022-11-22 11:06:12 +00:00
homepage: https://github.com/haskell/ghcup-hs
bug-reports: https://github.com/haskell/ghcup-hs/issues/
synopsis: ghc toolchain installer
2020-03-24 15:49:18 +00:00
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:
2021-10-17 18:39:49 +00:00
CHANGELOG.md
2021-09-04 13:07:22 +00:00
data/config.yaml
README.md
2020-01-11 20:15:05 +00:00
2021-09-04 13:27:57 +00:00
extra-source-files:
2022-08-06 11:08:34 +00:00
cbits/dirutils.c
cbits/dirutils.h
2021-09-04 13:27:57 +00:00
data/build_mk/cross
data/build_mk/default
2023-10-01 06:45:41 +00:00
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
2021-09-04 13:27:57 +00:00
2024-01-20 09:37:08 +00:00
tested-with: GHC==9.4.8
, GHC==9.2.8
, GHC==9.0.2
, GHC==8.10.7
2020-01-11 20:15:05 +00:00
source-repository head
2020-03-24 15:49:18 +00:00
type: git
2022-11-22 11:06:12 +00:00
location: https://github.com/haskell/ghcup-hs.git
2020-01-11 20:15:05 +00:00
2020-07-06 20:39:16 +00:00
flag tui
2021-05-14 21:09:45 +00:00
description:
2023-11-05 09:24:43 +00:00
Build the brick powered tui (ghcup tui).
2021-05-14 21:09:45 +00:00
2024-02-18 12:11:56 +00:00
default: True
2020-07-06 20:39:16 +00:00
manual: True
flag internal-downloader
2021-04-09 17:18:44 +00:00
description:
2021-05-14 21:09:45 +00:00
Compile the internal downloader, which links against OpenSSL. This is disabled on windows.
2021-04-09 17:18:44 +00:00
default: False
manual: True
flag no-exe
2022-05-21 20:54:18 +00:00
description: Don't build any executables
default: False
manual: True
2024-01-02 16:32:23 +00:00
flag tar
description: Use haskell tar instead of libarchive.
default: False
manual: True
2023-07-22 03:45:29 +00:00
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
2024-02-18 12:11:56 +00:00
, filepath >=1.4.101.0
2023-07-22 03:45:29 +00:00
, haskus-utils-types ^>=1.5
2024-01-20 09:37:08 +00:00
, haskus-utils-variant ^>=3.3
2023-07-22 03:45:29 +00:00
, 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
2024-01-20 09:37:08 +00:00
, template-haskell >=2.7 && <2.22
2023-07-22 03:45:29 +00:00
, temporary ^>=1.3
, text ^>=2.0
2023-09-02 08:20:54 +00:00
, time >=1.9.3 && <1.12
2023-07-22 03:45:29 +00:00
, unordered-containers ^>=0.2
, uri-bytestring ^>=0.3.2.2
, utf8-string ^>=1.0
2023-11-05 09:33:54 +00:00
, vector >=0.12 && <0.14
2024-02-18 12:11:56 +00:00
, versions >=6.0.5 && <6.1
2023-07-22 03:45:29 +00:00
, yaml-streamly ^>=0.12.0
2024-01-02 16:32:23 +00:00
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
2020-01-11 20:15:05 +00:00
library
2020-03-24 15:49:18 +00:00
exposed-modules:
GHCup
2022-05-21 20:54:18 +00:00
GHCup.Cabal
2020-03-24 15:49:18 +00:00
GHCup.Download
GHCup.Download.Utils
2020-03-24 15:49:18 +00:00
GHCup.Errors
2022-05-21 20:54:18 +00:00
GHCup.GHC
GHCup.HLS
GHCup.List
2020-03-24 15:49:18 +00:00
GHCup.Platform
2022-05-21 20:54:18 +00:00
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
2020-04-10 15:36:27 +00:00
GHCup.Requirements
2022-05-21 20:54:18 +00:00
GHCup.Stack
2020-03-24 15:49:18 +00:00
GHCup.Types
GHCup.Types.JSON
GHCup.Types.JSON.Utils
GHCup.Types.JSON.Versions
2020-03-24 15:49:18 +00:00
GHCup.Types.Optics
GHCup.Types.Stack
2020-03-24 15:49:18 +00:00
GHCup.Utils
GHCup.Utils.Dirs
2024-01-07 14:03:06 +00:00
GHCup.Utils.Tar
GHCup.Utils.Tar.Types
GHCup.Utils.URI
2020-03-24 15:49:18 +00:00
GHCup.Version
2021-04-09 17:18:44 +00:00
hs-source-dirs: lib
other-modules: Paths_ghcup
autogen-modules: Paths_ghcup
default-language: Haskell2010
2020-09-13 18:46:34 +00:00
default-extensions:
2021-05-14 21:09:45 +00:00
DeriveGeneric
2021-04-09 17:18:44 +00:00
LambdaCase
MultiWayIf
2021-05-14 21:09:45 +00:00
NamedFieldPuns
2021-04-09 17:18:44 +00:00
PackageImports
2021-05-14 21:09:45 +00:00
QuasiQuotes
2021-04-09 17:18:44 +00:00
RecordWildCards
ScopedTypeVariables
2020-09-13 18:46:34 +00:00
StrictData
2021-04-09 17:18:44 +00:00
TupleSections
2021-05-14 21:09:45 +00:00
TypeApplications
TypeFamilies
ViewPatterns
2021-04-09 17:18:44 +00:00
ghc-options:
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates
2020-09-13 18:46:34 +00:00
2021-04-09 17:18:44 +00:00
build-depends:
2021-10-13 17:47:14 +00:00
, aeson >=1.4
2021-04-09 17:18:44 +00:00
, async >=0.8 && <2.3
2021-11-02 18:53:22 +00:00
, base >=4.12 && <5
2021-04-09 17:18:44 +00:00
, base16-bytestring >=0.1.1.6 && <1.1
, binary ^>=0.8.6.0
2022-06-05 14:55:08 +00:00
, bytestring >=0.10 && <0.12
2024-03-08 13:46:13 +00:00
, bz2 ^>=1.0.1.1
2024-02-18 12:11:56 +00:00
, 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
2021-04-09 17:18:44 +00:00
, case-insensitive ^>=1.2.1.0
, casing ^>=0.1.4.1
, containers ^>=0.6
, cryptohash-sha256 ^>=0.11.101.0
2021-05-14 21:09:45 +00:00
, deepseq ^>=1.4.4.0
, directory ^>=1.3.6.0
, disk-free-space ^>=0.1.0.1
2022-05-19 22:15:35 +00:00
, exceptions ^>=0.10
2024-02-18 12:11:56 +00:00
, filepath >=1.4.101.0
, file-uri ^>=0.1.0.0
2021-04-09 17:18:44 +00:00
, haskus-utils-types ^>=1.5
2024-01-20 09:37:08 +00:00
, haskus-utils-variant ^>=3.3
2021-06-10 13:10:53 +00:00
, lzma-static ^>=5.2.5.3
2022-03-09 18:52:16 +00:00
, megaparsec >=8.0.0 && <9.3
2021-04-09 17:18:44 +00:00
, mtl ^>=2.2
2021-07-18 21:29:09 +00:00
, optics ^>=0.4
2021-04-09 17:18:44 +00:00
, os-release ^>=1.0.0
, pretty ^>=1.1.3.1
, pretty-terminal ^>=0.1.0.0
, regex-posix ^>=0.96
, resourcet ^>=1.2.2
2023-09-02 08:20:54 +00:00
, retry >=0.8.1.2 && <0.10
2021-04-09 17:18:44 +00:00
, safe ^>=0.3.18
, safe-exceptions ^>=0.1
, split ^>=0.2.3.4
, streamly ^>=0.8.2
2022-05-14 15:58:11 +00:00
, strict-base ^>=0.4
2024-01-20 09:37:08 +00:00
, template-haskell >=2.7 && <2.22
2021-05-14 21:09:45 +00:00
, temporary ^>=1.3
, text ^>=2.0
2023-09-02 08:20:54 +00:00
, time >=1.9.3 && <1.12
2021-04-09 17:18:44 +00:00
, transformers ^>=0.5
, unliftio-core ^>=0.2.0.1
2021-04-09 17:18:44 +00:00
, unordered-containers ^>=0.2.10.0
, uri-bytestring ^>=0.3.2.2
2023-11-05 09:33:54 +00:00
, vector >=0.12 && <0.14
2024-02-18 12:11:56 +00:00
, versions >=6.0.5 && <6.1
2021-04-09 17:18:44 +00:00
, word8 ^>=0.1.3
2021-10-21 21:17:26 +00:00
, yaml-streamly ^>=0.12.0
2021-04-09 17:18:44 +00:00
, zlib ^>=0.6.2.2
2020-01-11 20:15:05 +00:00
2024-01-02 16:32:23 +00:00
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
2021-05-14 21:09:45 +00:00
if (flag(internal-downloader) && !os(windows))
exposed-modules: GHCup.Download.IOStreams
cpp-options: -DINTERNAL_DOWNLOADER
2021-04-09 17:18:44 +00:00
build-depends:
, HsOpenSSL >=0.11.7.2
2021-04-09 17:18:44 +00:00
, http-io-streams >=0.1.2.0
2021-05-14 21:09:45 +00:00
, io-streams >=1.5.2.1
2021-04-09 17:18:44 +00:00
, terminal-progress-bar >=0.4.1
2021-05-14 21:09:45 +00:00
if os(windows)
2022-08-06 11:08:34 +00:00
cpp-options: -DIS_WINDOWS
2021-10-17 18:39:49 +00:00
other-modules:
2022-05-21 20:54:18 +00:00
GHCup.Prelude.File.Windows
GHCup.Prelude.Windows
2021-10-17 18:39:49 +00:00
2022-08-06 11:08:34 +00:00
-- GHCup.OptParse.Run uses this
exposed-modules: GHCup.Prelude.Process.Windows
2021-05-14 21:09:45 +00:00
build-depends:
, process ^>=1.6.11.0
2022-10-20 12:37:50 +00:00
, Win32 >=2.10
2021-05-14 21:09:45 +00:00
else
other-modules:
2022-05-21 20:54:18 +00:00
GHCup.Prelude.File.Posix
GHCup.Prelude.File.Posix.Foreign
GHCup.Prelude.Posix
GHCup.Prelude.Process.Posix
2022-08-06 11:08:34 +00:00
2023-01-13 02:13:51 +00:00
exposed-modules: GHCup.Prelude.File.Posix.Traversals
2022-08-06 11:08:34 +00:00
include-dirs: cbits
includes: dirutils.h
2022-07-30 16:41:16 +00:00
install-includes: dirutils.h
2022-08-06 11:08:34 +00:00
c-sources: cbits/dirutils.c
2021-05-14 21:09:45 +00:00
build-depends:
2023-01-12 05:01:12 +00:00
, terminal-size ^>=0.3.3
2024-01-20 09:37:08 +00:00
, unix ^>=2.7 || ^>=2.8
2021-05-14 21:09:45 +00:00
, unix-bytestring ^>=0.3.7.3
2023-11-05 09:24:43 +00:00
if flag(tui)
2021-05-14 21:09:45 +00:00
cpp-options: -DBRICK
2024-02-18 12:11:56 +00:00
build-depends: vty ^>=6.0 || ^>=6.1 || ^>=6.2
2021-05-14 21:09:45 +00:00
2023-07-22 03:45:29 +00:00
library ghcup-optparse
2023-09-02 08:20:54 +00:00
import: app-common-depends
2023-07-22 03:45:29 +00:00
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
2023-10-01 09:08:31 +00:00
hs-source-dirs: lib-opt
2023-09-02 08:20:54 +00:00
default-language: Haskell2010
2023-07-22 03:45:29 +00:00
default-extensions:
LambdaCase
MultiWayIf
NamedFieldPuns
PackageImports
RecordWildCards
ScopedTypeVariables
StrictData
TupleSections
ghc-options:
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates
2023-09-02 08:20:54 +00:00
build-depends: ghcup
2023-07-22 03:45:29 +00:00
if flag(internal-downloader)
cpp-options: -DINTERNAL_DOWNLOADER
2023-11-05 09:24:43 +00:00
if flag(tui)
2023-07-22 03:45:29 +00:00
cpp-options: -DBRICK
if os(windows)
cpp-options: -DIS_WINDOWS
else
2024-01-20 09:37:08 +00:00
build-depends: unix ^>=2.7 || ^>=2.8
2023-07-22 03:45:29 +00:00
2024-01-10 06:14:59 +00:00
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
2024-02-28 08:37:17 +00:00
GHCup.Brick.Widgets.Menus.Context
2024-01-10 06:14:59 +00:00
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
2020-01-11 20:15:05 +00:00
executable ghcup
2023-09-02 08:20:54 +00:00
import: app-common-depends
2021-04-09 17:18:44 +00:00
main-is: Main.hs
2023-09-02 08:20:54 +00:00
2021-04-09 17:18:44 +00:00
hs-source-dirs: app/ghcup
default-language: Haskell2010
2020-09-13 18:46:34 +00:00
default-extensions:
2021-04-09 17:18:44 +00:00
LambdaCase
MultiWayIf
2021-05-14 21:09:45 +00:00
NamedFieldPuns
2021-04-09 17:18:44 +00:00
PackageImports
RecordWildCards
ScopedTypeVariables
2020-09-13 18:46:34 +00:00
StrictData
2021-04-09 17:18:44 +00:00
TupleSections
ghc-options:
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates -threaded
2021-04-09 17:18:44 +00:00
build-depends:
, ghcup
2023-09-02 08:20:54 +00:00
, ghcup-optparse
2024-01-10 06:14:59 +00:00
, ghcup-tui
2020-09-13 18:46:34 +00:00
2020-04-29 17:12:58 +00:00
if flag(internal-downloader)
2021-04-09 17:18:44 +00:00
cpp-options: -DINTERNAL_DOWNLOADER
2020-04-29 17:12:58 +00:00
2023-11-05 09:24:43 +00:00
if flag(tui)
2021-04-09 17:18:44 +00:00
cpp-options: -DBRICK
2020-07-06 20:39:16 +00:00
other-modules: BrickMain
2021-04-09 17:18:44 +00:00
build-depends:
2023-11-05 09:20:29 +00:00
, brick ^>=2.1
2021-05-14 21:09:45 +00:00
, transformers ^>=0.5
2024-02-18 12:11:56 +00:00
, vty ^>=6.0 || ^>=6.1 || ^>=6.2
, optics ^>=0.4
2020-04-29 17:12:58 +00:00
2021-05-14 21:09:45 +00:00
if os(windows)
cpp-options: -DIS_WINDOWS
2022-02-10 17:35:25 +00:00
else
2024-01-20 09:37:08 +00:00
build-depends: unix ^>=2.7 || ^>=2.8
if flag(no-exe)
buildable: False
2021-04-09 17:13:36 +00:00
2021-04-09 17:18:44 +00:00
test-suite ghcup-test
type: exitcode-stdio-1.0
main-is: Main.hs
2021-07-15 11:32:48 +00:00
build-tool-depends: hspec-discover:hspec-discover -any
hs-source-dirs: test/ghcup-test
2020-04-10 15:36:27 +00:00
other-modules:
2021-04-09 17:18:44 +00:00
GHCup.ArbitraryTypes
2023-01-13 02:13:51 +00:00
GHCup.Prelude.File.Posix.TraversalsSpec
2021-04-09 17:18:44 +00:00
GHCup.Types.JSONSpec
2022-05-14 15:58:11 +00:00
GHCup.Utils.FileSpec
2021-04-09 17:18:44 +00:00
Spec
2020-03-24 15:49:18 +00:00
2021-04-09 17:18:44 +00:00
default-language: Haskell2010
default-extensions:
LambdaCase
2023-10-08 15:11:32 +00:00
MultiWayIf
2021-04-09 17:18:44 +00:00
PackageImports
RecordWildCards
ScopedTypeVariables
TupleSections
2021-04-02 14:54:27 +00:00
2021-04-09 17:13:36 +00:00
ghc-options:
2021-04-09 17:18:44 +00:00
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates
2021-04-09 17:13:36 +00:00
2021-04-09 17:18:44 +00:00
build-depends:
2021-11-02 18:53:22 +00:00
, base >=4.12 && <5
2022-08-06 11:08:34 +00:00
, bytestring >=0.10 && <0.12
2021-04-09 17:18:44 +00:00
, containers ^>=0.6
2022-05-14 15:58:11 +00:00
, directory ^>=1.3.6.0
2024-02-18 12:11:56 +00:00
, filepath >=1.4.101.0
2022-08-06 11:08:34 +00:00
, generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3
2021-04-09 17:18:44 +00:00
, ghcup
2022-11-22 11:41:44 +00:00
, hspec >=2.7.10 && <2.11
2021-05-14 21:09:45 +00:00
, hspec-golden-aeson ^>=0.9
2021-04-09 17:18:44 +00:00
, QuickCheck ^>=2.14.1
, quickcheck-arbitrary-adt ^>=0.3.1.0
2022-05-14 15:58:11 +00:00
, streamly ^>=0.8.2
, text ^>=2.0
2023-09-02 08:20:54 +00:00
, time >=1.9.3 && <1.12
2021-04-09 17:18:44 +00:00
, uri-bytestring ^>=0.3.2.2
2024-02-18 12:11:56 +00:00
, versions >=6.0.5 && <6.1
2022-11-22 11:41:44 +00:00
if os(windows)
cpp-options: -DIS_WINDOWS
2023-01-13 02:13:51 +00:00
2022-11-22 11:41:44 +00:00
else
2024-01-20 09:37:08 +00:00
build-depends: unix ^>=2.7 || ^>=2.8
2023-07-22 03:45:29 +00:00
test-suite ghcup-optparse-test
2023-09-02 08:20:54 +00:00
type: exitcode-stdio-1.0
hs-source-dirs: test/optparse-test
main-is: Main.hs
2023-07-22 07:31:37 +00:00
other-modules:
2023-07-22 09:14:49 +00:00
ChangeLogTest
2023-07-28 15:48:03 +00:00
CompileTest
2023-07-22 09:46:23 +00:00
ConfigTest
2023-07-28 15:48:03 +00:00
GCTest
2023-07-22 15:10:27 +00:00
InstallTest
2023-07-23 15:51:03 +00:00
ListTest
2023-07-28 15:48:03 +00:00
OtherCommandTest
RmTest
RunTest
SetTest
UnsetTest
2023-07-24 14:26:33 +00:00
UpgradeTest
2023-07-28 15:48:03 +00:00
Utils
2023-07-28 15:00:15 +00:00
WhereisTest
2023-09-02 08:20:54 +00:00
2023-09-02 10:47:42 +00:00
if os(windows)
cpp-options: -DIS_WINDOWS
2023-07-22 03:45:29 +00:00
default-language: Haskell2010
2023-09-02 08:20:54 +00:00
ghc-options: -Wall
2023-07-28 15:48:03 +00:00
build-depends:
, base
, ghcup
, ghcup-optparse
, optparse-applicative
, tasty
, tasty-hunit
, template-haskell
2023-07-28 15:48:03 +00:00
, text
, uri-bytestring
, versions