clear documentation

This commit is contained in:
Sam Halliday 2018-10-19 14:36:55 +01:00
parent 5a18896d7a
commit 130525cb9f
1 changed files with 20 additions and 23 deletions

View File

@ -2,43 +2,25 @@
[![Build Status](https://travis-ci.org/haskell/ghcup.svg?branch=master)](https://travis-ci.org/haskell/ghcup)
[![license](https://img.shields.io/github/license/haskell/ghcup.svg)](COPYING)
# GHC up
[`cabal-install`](https://hackage.haskell.org/package/cabal-install) manages Haskell library dependencies and can select a specific version of `ghc` (see [`with-compiler`](https://cabal.readthedocs.io/en/latest/nix-local-build.html#cfg-flag---with-compiler)). However, `cabal` will fail if the required version is not available and many operating systems do not offer a way to install specific versions of `ghc`.
Installs a specified GHC version into `~/.ghcup/ghc/<ver>`,
and places `ghc-<ver>` etc. symlinks in `~/.ghcup/bin/`.
Additionally allows to manage currently selected ghc
via unversioned symlinks.
`ghcup` makes it easy to install specific versions of `ghc` on GNU/Linux, and can also bootstrap a fresh Haskell developer environment from scratch.
This uses precompiled GHC binaries that have been
compiled on fedora/debian by
[upstream GHC](https://www.haskell.org/ghc/download_ghc_8_6_1.html#binaries).
Inspired by [rustup](https://github.com/rust-lang-nursery/rustup.rs), [pyenv](https://github.com/pyenv/pyenv) and [jenv](http://www.jenv.be).
Alternatively, you can also tell it to compile from source (note that this might
fail due to missing requirements).
In addition this script can also install `cabal-install`.
*OS X users may prefer [futurice](https://haskell.futurice.com/) and Ubuntu users may prefer [hvr's ppa](https://launchpad.net/~hvr/+archive/ubuntu/ghc).*
**Note: this project is in early stage and may not work on all distributions yet!**
## Table of Contents
* [Why](#why)
* [Installation](#installation)
* [How](#how)
* [Usage](#usage)
* [Contributing](#contributing)
* [TODO](#todo)
* [Known problems](#known-problems)
## Why
`cabal new-*` manages your haskell packages, but not GHC versions, since
it follows the unix philosophy. Unfortunately system GHC versions
are often either outdated or cannot be installed in parallel
with proper symlink management on many distros. This tool
tries to fill that gap and be fairly distro-agnostic.
Inspired by [rustup](https://github.com/rust-lang-nursery/rustup.rs).
## Installation
Just place the `ghcup` shell script into your `PATH` anywhere.
@ -57,6 +39,21 @@ Then adjust your `PATH` in `~/.bashrc` (or similar, depending on your shell) lik
export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$HOME/.local/bin:$PATH"
```
## How
Installs a specified GHC version into `~/.ghcup/ghc/<ver>`,
and places `ghc-<ver>` etc. symlinks in `~/.ghcup/bin/`.
Additionally allows to manage currently selected ghc
via unversioned symlinks.
This uses precompiled GHC binaries that have been
compiled on fedora/debian by
[upstream GHC](https://www.haskell.org/ghc/download_ghc_8_6_1.html#binaries).
Alternatively, you can also tell it to compile from source (note that this might
fail due to missing requirements).
In addition this script can also install `cabal-install`.
## Usage