Go to file
2020-03-17 22:43:00 +01:00
app Move platform faking option into install subcommand 2020-03-17 22:43:00 +01:00
lib Make sure directories exist 2020-03-17 19:16:21 +01:00
test Initial commit 2020-03-09 00:44:11 +01:00
.gitignore Add stack support (building) 2020-03-09 20:49:56 +01:00
cabal.project Don't build with brotli 2020-03-16 10:47:55 +01:00
cabal.project.freeze Don't build with brotli 2020-03-16 10:47:55 +01:00
CHANGELOG.md Initial commit 2020-03-09 00:44:11 +01:00
ghcup.cabal [WIP] OS fake option 2020-03-17 02:00:28 +01:00
LICENSE Initial commit 2020-03-09 00:44:11 +01:00
README.md Initial commit 2020-03-09 00:44:11 +01:00
Setup.hs Initial commit 2020-03-09 00:44:11 +01:00
stack.yaml Add stack support (building) 2020-03-09 20:49:56 +01:00
update-index-state.sh Initial commit 2020-03-09 00:44:11 +01:00

ghcup

A rewrite of ghcup in haskell.

TODO

  • create static ghcup binaries
    • adjust url in GHCupDownloads
  • add print-system-reqs command

Motivation

Maintenance problems:

Benefits of a rewrite:

  • Features such as installing release candidates or HEAD builds can be more conveniently implemented in a rewrite
  • Refactoring will be easier
  • Better tool support (such as linting the downloads file)
  • saner downloads file format (such as JSON)

Downsides:

  • building static binaries for all platforms (and possibly causing SSL/DNS problems)
  • still bootstrapping those binaries via a POSIX sh script

Goals

  • Correct low-level code
  • Good exception handling
  • Cleaner user interface