The DESTDIR variable used to tell 'make install' an alternate system root
to install the software to. Since setup.py supports the same via its --root
parameter, it's easy to make life easier for many packagers.
By default, xgettext will wrap strings at 79 characters. This width
includes the two double-quotes and the '\n' added. Our strings are now
wrapped at 78 characters and a line can therefore be up to 82
characters wide in the .po file.
Setting the width to 82 characters ensures that xgettext does no silly
wrapping on our already-wrapped strings while still wrapping long
one-liners at 82 characters.
The xgettext program knows about Python string formatting and will
mark messages with a special "#, python-format" comment in the hg.pot
file. When msgfmt compiles the file, it can check these messages to
ensure that the translated string uses the same conversion specifiers
as the original string.
The pygettext program is still used to extract the docstrings.
The target update-pot extracts strings using pygettext and updates the
i18n/hg.pot file. The translators can then use msgmerge to merge the
new strings in hg.pot with their xx.po file when they want to.
The setup.py file now includes files under both templates/ and i18n/
as data files.
local: build extensions inplace (the former "all" target")
all: "local" (for people who expect this) and build everything else
install: install pre-built things (so root doesn't have to write to $HOME)
install-home: use setup.py's --home option instead of --prefix