From 1b3c04e3484a87871b426ad30408a840d276508c Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sun, 2 Apr 2017 11:10:58 -0700 Subject: [PATCH] site: download: latest refinements, cleanups [ci skip] --- site/download.md | 124 +++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 69 deletions(-) diff --git a/site/download.md b/site/download.md index 48a712eed..b07cfe937 100644 --- a/site/download.md +++ b/site/download.md @@ -25,14 +25,14 @@ Packaged versions are the quickest to install, but they sometimes lag behind the latest release, or provide only some of the hledger tools. (Packagers welcome!) | -|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -| **Windows:** | Download and run the [latest development builds](developer-guide.html) (-> Appveyor CI) -| **Mac:** | `brew install hledger` -| **Debian, Ubuntu:** | `sudo apt install hledger hledger-ui hledger-web` -| **Fedora, RHEL:** | `sudo dnf install hledger` -| **Gentoo:** | `sudo layman -a haskell && sudo emerge hledger hledger-ui hledger-web` -| **NixOS:** | `nix-env -iA nixpkgs.haskellPackages.hledger \`
  `nixpkgs.haskellPackages.hledger-ui \`
  `nixpkgs.haskellPackages.hledger-web` -| **Sandstorm:** | [hledger-web Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90) -> demo
(your own fully-functional private/public hledger-web instance in 3 clicks) +|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +| Windows: | see B below +| Mac: | **`brew install hledger`** +| Debian, Ubuntu: | **`sudo apt install hledger hledger-ui hledger-web`** +| Fedora, RHEL: | **`sudo dnf install hledger`** +| Gentoo: | **`sudo layman -a haskell && sudo emerge hledger hledger-ui hledger-web`** +| NixOS: | **`nix-env -iA nixpkgs.haskellPackages.hledger \`
  `nixpkgs.haskellPackages.hledger-ui \`
  `nixpkgs.haskellPackages.hledger-web`** +| Sandstorm: | **[hledger-web Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90) -> demo**
(get your own private or public hledger-web instance in 3 clicks) @@ -40,31 +40,43 @@ latest release, or provide only some of the hledger tools. (Packagers welcome!) ## B. I want to build the latest release The latest release (see [release notes](release-notes.html)) is a good choice. -You have to build it, but that's pretty easy. +You have to build it, but normally that should be quite easy: -1. Install [`stack`](http://haskell-lang.org/get-started). - On Windows, the 64-bit version is [recommended](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252). +1. **Install [`stack`](http://haskell-lang.org/get-started)**\ + Note some packaged versions of stack are too old and will give ["Invalid package ID"](https://github.com/simonmichael/hledger/issues/513) in step 2 + (and their builtin "upgrade" command will be slow); in this case consider downloading the binary instead.\ + On Windows, the 64-bit version is [recommended](https://github.com/simonmichael/hledger/issues/275#issuecomment-123834252).\ On Arch, you [may need to also install GHC manually](https://github.com/simonmichael/hledger/issues/434).\ - (If you're a [`cabal`](https://www.haskell.org/cabal/) expert, feel free to use that instead, adapting these instructions appropriately.) + You should also add [~/.local/bin (or Windows equivalent)](https://docs.haskellstack.org/en/stable/install_and_upgrade/#path) + to your \$PATH so that you can easily run stack-installed tools. + Eg if you're a bash user:\ + `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc` - -2. `stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]`\ - Note you don't type the square brackets; they mean "this bit is optional". - So eg if you don't care about the web tools, you would type `stack install --resolver=nightly hledger hledger-ui`\ - On Windows, hledger-ui is [not yet available](https://github.com/coreyoconnor/vty/pull/1).\ +2. **`stack install hledger-lib-1.2 hledger-1.2 [hledger-ui-1.2] [hledger-web-1.2] [hledger-api-1.2]`**\ + Note specifying the version as above forces stack to select exactly this version, + which is sometimes necessary just after a release; + at other times the following command may be preferable + [to](https://www.stackage.org/package/hledger-lib) + [get](https://www.stackage.org/package/hledger) + [any](https://www.stackage.org/package/hledger-ui) + [newer](https://www.stackage.org/package/hledger-web) + [versions](https://www.stackage.org/package/hledger-api):\ + `stack install --resolver=nightly hledger [hledger-ui] [hledger-web] [hledger-api]`\ If stack says you need to run `stack setup`, do that first.\ - Warnings about "No packages found in snapshot which provide a "hsc2hs" executable" can be ignored.\ - If required C libraries (like curses) are not installed, you might need to install those manually and try again, eg: + Don't type the square brackets; they mean that hledger-ui etc. are optional.\ + On Windows, hledger-ui is [not yet available](https://github.com/coreyoconnor/vty/pull/1).\ + If required C libraries (like curses or terminfo) are not installed, you might need to install those manually and try again. + Eg: | - |--------------------|----------------------------------- - | **Debian, Ubuntu:** | `sudo apt install libncurses5-dev` - | **Fedora, RHEL:** | `sudo dnf install ncurses-devel` + |-----------------|----------------------------------- + | Debian, Ubuntu: | `sudo apt install libncurses5-dev` + | Fedora, RHEL: | `sudo dnf install ncurses-devel` + +If you're a [`cabal`](https://www.haskell.org/cabal/) expert, feel free to use that instead of stack, adapting these instructions appropriately. + +Now you should be able to run `hledger --version`, `hledger-ui --version` etc. -3. If stack warns that `~/.local/bin` (or the Windows equivalent) is not in `$PATH`, fix that. - Eg if you're a bash user:\ - `echo "export PATH=$PATH:~/.local/bin" >> ~/.bashrc && source ~/.bashrc`\ - Now you can run `hledger --version`, `hledger-ui --version` etc.