99d8d45b74
is copied to pandoc.cabal, and the old pandoc.cabal is copied to pandoc.cabal.orig. Otherwise, pandoc.cabal is copied to pandoc.cabal.orig but otherwise unmodified. This way, the Makefile will work properly with either GHC 6.6 or 6.8. + The changes in debian/rules from r1066 have been reverted, since they are no longer needed. Also, debian/rules has been converted to UTF-8. + INSTALL instructions have been updated accordingly. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1095 788f1e2b-df1e-0410-8736-df70ead52e1b
224 lines
7.1 KiB
Text
224 lines
7.1 KiB
Text
% Installing pandoc
|
|
|
|
Installing from Source
|
|
======================
|
|
|
|
This method will work on all architectures, but requires that you first
|
|
install the GHC compiler and some build tools: [GNU `make`], `sed`,
|
|
`bash`, and `perl`. These are standard on unix systems (including MacOS
|
|
X). If you're using Windows, you can install [Cygwin].
|
|
|
|
[Cygwin]: http://www.cygwin.com/
|
|
[GNU `make`]: http://www.gnu.org/software/make/
|
|
|
|
Installing GHC
|
|
--------------
|
|
|
|
To compile Pandoc, you'll need [GHC] version 6.6 or greater. If
|
|
you don't have GHC already, you can get it from the [GHC Download]
|
|
page. If you're running MacOS X, you can also install GHC using
|
|
[MacPorts] or [Fink].
|
|
|
|
[GHC]: http://www.haskell.org/ghc/
|
|
[GHC Download]: http://www.haskell.org/ghc/download.html
|
|
[MacPorts]: http://macports.org
|
|
[Fink]: http://finkproject.org
|
|
|
|
Getting the source
|
|
------------------
|
|
|
|
Download the source tarball from pandoc's [pandoc's google code site].
|
|
Extract the contents into a subdirectory:
|
|
|
|
tar xvzf pandoc-0.xy.tar.gz
|
|
|
|
[pandoc's google code site]: http://pandoc.googlecode.com
|
|
|
|
Installing Pandoc
|
|
-----------------
|
|
|
|
1. Change to the directory containing the Pandoc distribution.
|
|
|
|
2. Compile:
|
|
|
|
make
|
|
|
|
If you get "Unknown modifier" errors, it is probably because `make`
|
|
on your system is not [GNU `make`]. Try using `gmake` instead.
|
|
|
|
3. See if it worked (optional, but recommended):
|
|
|
|
make test
|
|
|
|
Note: if you see errors like the following, they're due to differences
|
|
between different versions of the xhtml library, and can safely be
|
|
disregarded:
|
|
|
|
2c2
|
|
< <html xmlns="http://www.w3.org/1999/xhtml"
|
|
---
|
|
> <html
|
|
|
|
4. Install:
|
|
|
|
sudo make install
|
|
|
|
Note: This installs `pandoc`, together with its wrappers and
|
|
documentation, into the `/usr/local` directory. If you'd rather
|
|
install `pandoc` somewhere else--say, in `/opt/local`--you can
|
|
set the `PREFIX` environment variable:
|
|
|
|
PREFIX=/opt/local sudo make install
|
|
|
|
If you don't have root privileges or would prefer to install
|
|
`pandoc` and the associated wrappers into your `~/bin` directory,
|
|
type this instead:
|
|
|
|
PREFIX=~ make install-exec
|
|
|
|
5. Build and install the Haskell libraries and library
|
|
documentation (optional--for Haskell programmers only):
|
|
|
|
make build-all
|
|
sudo make install-all
|
|
|
|
Note that building the library documentation requires [haddock].
|
|
|
|
[haddock]: http://www.haskell.org/haddock/
|
|
|
|
Removing Pandoc
|
|
---------------
|
|
|
|
Each of the installation steps described above can be reversed:
|
|
|
|
sudo make uninstall
|
|
|
|
PREFIX=~ make uninstall-exec
|
|
|
|
sudo make uninstall-all
|
|
|
|
Other targets
|
|
-------------
|
|
|
|
The following 'make' targets should not be needed by the average user,
|
|
but are documented here for packagers and developers:
|
|
|
|
### Building and installing
|
|
|
|
* `configure`: Performs the needed preprocessing to create a proper
|
|
Cabal package for Pandoc:
|
|
- Builds `ASCIIMathML.hs`, `DefaultHeaders.hs`, and `S5.hs`
|
|
from templates in `src/templates` and data in `src/ASCIIMathML.js`,
|
|
`src/ui`, and `src/headers`.
|
|
- Stores values of relevant environment variables in `vars` for
|
|
persistence.
|
|
- Runs Cabal's "configure" command.
|
|
* `build-exec`: Builds `pandoc` executable (using Cabal's "build"
|
|
command) and creates the wrappers `html2markdown` and `markdown2pdf`
|
|
from templates in `src/wrappers`.
|
|
* `build-doc`: Builds program documentation (e.g. `README.html`).
|
|
* `build-lib-doc`: Builds Haddock documentation for Pandoc libraries.
|
|
* `install-doc`, `uninstall-doc`: Installs/uninstalls user documentation
|
|
and man pages.
|
|
* `install-lib-doc`, `uninstall-lib-doc`: Installs/uninstalls library
|
|
documentation and man pages.
|
|
* `install-exec`, `uninstall-exec`: Installs/uninstalls programs
|
|
(`pandoc` and wrappers).
|
|
|
|
### Testing
|
|
|
|
* `test`: Runs Pandoc's test suite. (All tests should pass.)
|
|
* `test-markdown`: Runs the Markdown regression test suite, using
|
|
`pandoc --strict`. (Three of the tests will fail.)
|
|
|
|
### Cleaning
|
|
|
|
* `clean`: Restores directory to pre-build state, removing generated files.
|
|
* `distclean`: Like clean, but also cleans up files created by `make deb`.
|
|
|
|
### Packaging
|
|
|
|
* `tarball`: Creates a source tarball for distribution.
|
|
* `deb`: Creates debian packages in `..` directory.
|
|
* `macport`: Creates MacPorts Portfile in `macports` directory.
|
|
* `freebsd`: Creates freebsd Makefile and distinfo in `freebsd` directory.
|
|
* `win-pkg`: Creates a Windows binary package (presupposes `pandoc.exe`,
|
|
which must be created by building Pandoc on a Windows machine).
|
|
* `website`: Creates Pandoc's website in `web/pandoc` directory.
|
|
|
|
Installing pandoc using Cabal
|
|
=============================
|
|
|
|
Pandoc can also be installed using the standard Haskell packaging tool,
|
|
[Cabal](http://www.haskell.org/cabal/). You'll need GHC 6.6 or greater
|
|
(see [Installing GHC](#installing-ghc), above). Just download the source
|
|
tarball, unpack, and type:
|
|
|
|
runhaskell Setup.hs configure
|
|
runhaskell Setup.hs build
|
|
runhaskell Setup.hs install # this one as root
|
|
|
|
This will install the pandoc executable and the Haskell libraries,
|
|
but not the shell scripts, man pages, or other documentation.
|
|
|
|
Note: If you are using GHC 6.6.*, you will need to start by
|
|
replacing `pandoc.cabal` with a version suitable for GHC 6.6:
|
|
|
|
cp pandoc.cabal pandoc.cabal.orig
|
|
cp pandoc.cabal.ghc66 pandoc.cabal
|
|
|
|
Installing pandoc using MacPorts
|
|
================================
|
|
|
|
This is an alternative to compiling from source on MacOS X.
|
|
[MacPorts] is a system for building and maintaining \*nix software
|
|
on MacOS X computers. If you don't already have MacPorts, follow
|
|
[these instructions for installing
|
|
it](http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts).
|
|
|
|
Once you've installed MacPorts, you can install pandoc by typing:
|
|
|
|
sudo port sync # to get the most recent ports
|
|
sudo port install pandoc
|
|
|
|
Since pandoc depends on GHC, the process may take a long time.
|
|
|
|
Installing the Windows binary
|
|
=============================
|
|
|
|
Simply download the zip file from [pandoc's google code site].
|
|
Extract the files from the archive, and put `pandoc.exe` somewhere
|
|
in your PATH.
|
|
|
|
Note that the Windows binary distribution does not include the shell
|
|
scripts `markdown2pdf`, `html2markdown`, or `hsmarkdown`. If you need
|
|
these, compile from source.
|
|
|
|
Installing pandoc on Debian
|
|
===========================
|
|
|
|
Pandoc is now in the debian unstable archive, and can be installed
|
|
using `apt-get` (as root):
|
|
|
|
apt-get install pandoc # the program, shell scripts, and docs
|
|
apt-get install libghc6-pandoc-dev # the libraries
|
|
apt-get install pandoc-doc # library documentation
|
|
|
|
Thanks to Recai Oktaş for setting up the debian packages.
|
|
|
|
Installing pandoc on FreeBSD
|
|
============================
|
|
|
|
Pandoc is in the FreeBSD ports repository (`textproc/pandoc`) and can be
|
|
installed in the normal way:
|
|
|
|
cd /usr/ports/textproc/pandoc
|
|
make install clean # as root
|
|
|
|
Alternatively, you can use `pkg_add`:
|
|
|
|
pkg_add -r pandoc
|
|
|
|
Note that the version of pandoc in FreeBSD's official repository may be
|
|
somewhat older than the most recent version.
|
|
|