ごらくらいふ

プログラミングしたりゲームしたり

vimをビルドするスクリプト書いたらただそれだけでも捗りがあった

自分好みの./configureオプションをどこかに残しておきたかっただけなんだけど、そのままmakeしてしまえと思ったのです。

makeがだばだばと状況を吐き出す姿は頼もしい…

dotfiles/build-latest-vim at master · yajamon/dotfiles · GitHub

一応 2017-12-01現在のコードを転記しておくと以下のとおり。

#!/bin/bash

readonly VIMREPO=$GHQ_ROOT/github.com/vim/vim

cd $VIMREPO
git fetch --all --prune
if [ $(git rev-parse master) = $(git rev-parse origin/master) ]; then
    param=""
    while [ -z $param ]; do
        echo -n "Already up-to-date. continue?(yN): " >&2
        read -r param _trush
    done
    if [ $param != "y" ]; then
        exit 0
    fi
fi

git checkout master && git merge --ff origin/master

make distclean
./configure --with-features=huge \
    --enable-perlinterp \
    --enable-rubyinterp \
    --enable-luainterp \
    --enable-fail-if-missing \
    --prefix=/usr/local
make
sudo make uninstall
sudo make install

更新が無い場合にはワンクッション置くところが工夫したところで、捗りポイントかな。

コミットハッシュを見て差分の有無を確認したり、readできちっと値を取り出したり、知見が生きている。

yajamon.hatenablog.com

qiita.com