Update INSTALL.md installation from source instructions.

This commit is contained in:
John MacFarlane 2022-08-16 09:31:10 -07:00
parent 97288cea56
commit 3202a288ac

View file

@ -215,31 +215,31 @@ The easiest way to build pandoc from source is to use [stack][stack]:
`pandoc` executable into `~/.local/bin`, which you should `pandoc` executable into `~/.local/bin`, which you should
add to your `PATH`. This process will take a while, and add to your `PATH`. This process will take a while, and
will consume a considerable amount of disk space. will consume a considerable amount of disk space.
If you also want the `pandoc-server` executable, add
`--flag pandoc:server` to the above command.
### Quick cabal method ### Quick cabal method
1. Install the [Haskell platform]. This will give you [GHC] and 1. Install [ghcup](https://www.haskell.org/ghcup/install/).
the [cabal-install] build tool. Note that pandoc requires This will give you `ghc` and `cabal`.
GHC >= 7.10 and cabal >= 2.0.
2. Update your package database: 2. Update your package database:
cabal update cabal update
3. Check your cabal version with 3. Use `cabal` to install pandoc and its dependencies:
cabal --version
If you have a version less than 2.0, install the latest with:
cabal install cabal-install
4. Use `cabal` to install pandoc and its dependencies:
cabal install pandoc cabal install pandoc
This procedure will install the released version of pandoc, This procedure will install the released version of pandoc,
which will be downloaded automatically from HackageDB. which will be downloaded automatically from HackageDB.
The `pandoc` executable will be placed in `$HOME/.cabal/bin`
on linux/unix/macOS and in `%APPDATA%\cabal\bin` on Windows.
Make sure this directory is in your path.
If you also want the `pandoc-server` executable, add
`-fserver` to the above command.
If you want to install a modified or development version If you want to install a modified or development version
of pandoc instead, switch to the source directory and do of pandoc instead, switch to the source directory and do
@ -247,34 +247,14 @@ The easiest way to build pandoc from source is to use [stack][stack]:
cabal install cabal install
5. Make sure the `$CABALDIR/bin` directory is in your path. You should 4. You should now be able to run `pandoc`:
now be able to run `pandoc`:
pandoc --help pandoc --help
[Not sure where `$CABALDIR` is?](https://wiki.haskell.org/Cabal-Install#The_cabal-install_configuration_file) 5. Cabal does not install the `pandoc.1` man page, but you can
copy it from the `man/` directory of the source code to
5. By default `pandoc` uses the "i;unicode-casemap" method `/usr/local/share/man/man1/` or wherever man pages go on
to sort bibliography entries (RFC 5051). If you would like to your system.
use the locale-sensitive unicode collation algorithm instead,
specify the `icu` flag (which affects the dependency `citeproc`):
cabal install pandoc -ficu
Note that this requires the `text-icu` library, which in turn
depends on the C library `icu4c`. Installation directions
vary by platform. Here is how it might work on macOS with Homebrew:
brew install icu4c
stack install pandoc \
--flag "citeproc:icu" \
--extra-lib-dirs=/usr/local/opt/icu4c/lib \
--extra-include-dirs=/usr/local/opt/icu4c/include
6. The `pandoc.1` man page will be installed automatically. cabal shows
you where it is installed: you may need to set your `MANPATH`
accordingly. If `MANUAL.txt` has been modified, the man page can be
rebuilt: `make man/pandoc.1`.
### Custom cabal method ### Custom cabal method
@ -312,6 +292,8 @@ You will need cabal version 2.0 or higher.
- `lua53`: embed support for Lua 5.3 instead of 5.4. - `lua53`: embed support for Lua 5.3 instead of 5.4.
- `server`: build the `pandoc-server` executable.
3. Build: 3. Build:
cabal build cabal build
@ -321,19 +303,6 @@ You will need cabal version 2.0 or higher.
cabal haddock --html-location=URL --hyperlink-source cabal haddock --html-location=URL --hyperlink-source
5. Copy the files:
cabal copy --destdir=PATH
The default destdir is `/`.
6. Register pandoc as a GHC package:
cabal register
Package managers may want to use the `--gen-script` option to
generate a script that can be run to register the package at
install time.
### Creating a relocatable binary ### Creating a relocatable binary