osx: install bash and zsh completions by default
The zsh location appears to be on the default $fpath for zsh. bash, on
the other hand, appears to have no default location for completion
scripts, so we follow the lead of Apple's Git distribution and select
a semi-arbitrary place in /usr/local for the file.
--- a/Makefile Thu Mar 02 10:12:40 2017 -0800
+++ b/Makefile Mon Feb 06 15:19:32 2017 -0500
@@ -163,6 +163,16 @@
--root=build/mercurial/ --prefix=/usr/local/ \
--install-lib=/Library/Python/2.7/site-packages/
make -C doc all install DESTDIR="$(PWD)/build/mercurial/"
+ # install zsh completions - this location appears to be
+ # searched by default as of macOS Sierra.
+ mkdir -p build/mercurial/usr/local/share/zsh/site-functions
+ cp contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/hg
+ # install bash completions - there doesn't appear to be a
+ # place that's searched by default for bash, so we'll follow
+ # the lead of Apple's git install and just put it in a
+ # location of our own.
+ mkdir -p build/mercurial/usr/local/hg/contrib
+ cp contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash
mkdir -p $${OUTPUTDIR:-dist}
HGVER=$$((cat build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py; echo 'print(version)') | python) && \
OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \
--- a/tests/test-mac-packages.t Thu Mar 02 10:12:40 2017 -0800
+++ b/tests/test-mac-packages.t Mon Feb 06 15:19:32 2017 -0500
@@ -25,6 +25,10 @@
./Library/Python/2.7/site-packages/mercurial/pure/bdiff.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyo 100644 0/0
+ $ grep zsh/site-functions/hg boms.txt | cut -d ' ' -f 1,2,3
+ ./usr/local/share/zsh/site-functions/hg 100640 0/0
+ $ grep hg-completion.bash boms.txt | cut -d ' ' -f 1,2,3
+ ./usr/local/hg/contrib/hg-completion.bash 100640 0/0
$ egrep 'man[15]' boms.txt | cut -d ' ' -f 1,2,3
./usr/local/share/man/man1 40755 0/0
./usr/local/share/man/man1/hg.1 100644 0/0
@@ -40,7 +44,7 @@
./Library/Python/2.7/site-packages/mercurial/localrepo.py 100644 0/0
./Library/Python/2.7/site-packages/mercurial/localrepo.pyc 100644 0/0
./Library/Python/2.7/site-packages/mercurial/localrepo.pyo 100644 0/0
- $ grep '/hg ' boms.txt | cut -d ' ' -f 1,2,3
+ $ grep 'bin/hg ' boms.txt | cut -d ' ' -f 1,2,3
./usr/local/bin/hg 100755 0/0
Make sure the built binary uses the system Python interpreter