diff --git a/README.md b/README.md index cc6145e..b9b6a84 100644 --- a/README.md +++ b/README.md @@ -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/`, -and places `ghc-` 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/`, +and places `ghc-` 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