At a minimum, you need make and xml2rfc.
Mac users might need to install Homebrew to get a version of
make that works properly (the version
shipped in XCode is subtly broken).
brew install makeNote that this installs as gmake. Follow the instructions to add this as
make to your path.
Windows users will need to use Cygwin or the Windows
Subsystem for Linux
to get make.
All systems require xml2rfc. This
requires Python 3. Be sure not to get Python 2,
which is no longer supported. The easiest way to get xml2rfc is with
pip, which is either installed with
python, or part of the python-pip or python3-pip package on most
distributions.
On Cygwin, you'll need to install pip directly:
$ curl https://bootstrap.pypa.io/get-pip.py | pythonOnce pip is installed, you can install xml2rfc.
Using a virtualenv:
$ virtualenv venv
# remember also to activate the virtualenv before any 'make' run
$ source venv/bin/activate
$ pip3 install xml2rfcTo your local user account:
$ pip3 install --user xml2rfcOr globally (not advisable):
$ sudo pip3 install xml2rfcxml2rfc might need development versions of libxml2 and
libxslt1. These packages are named libxml2-dev and
libxslt1-dev (Debian, Ubuntu); libxml2-devel and libxslt1-devel (RedHat,
Fedora); or libxml2-devel and libxslt-devel (Cygwin).
If you use markdown, you will also need to install kramdown-rfc2629 or mmark.
The template stuff tries to work out which of these you are working with based on the first line of the file:
-
kramdown-rfc2629files must start with '---' -
mmarkfiles must start with '%%%'
kramdown-rfc2629 requires
Ruby and can be installed using the Ruby package
manager, gem:
$ gem install kramdown-rfc2629mmark requires go, and that comes with its
own complications.
cd ~/bin
go get github.com/miekg/mmark/mmark
go build github.com/miekg/mmark/mmarkYou might want to set aside a directory for your go code other than the default,
and find a directory that is on the path where you can install mmark. For
these, I set GOPATH=~/gocode.
Some other helpful tools are listed in config.mk.