Git for Windows で pacman を使う

背景

Git for Windows には MSYS2bash が同梱されています。

Windows での開発に必要なソフトウェアはほとんど scoop で導入できるのであまり困ることはありません。 しかし、tree のように MSYS2 なら提供されてる けど Git for Windows には同梱されていないちょっとしたツールもあります。 重ねて、MSYS2 の提供するパッケージを導入するための pacman も Git for Windows では省略されています。

ソリューション

  1. Git for Windows の開発環境 Git for Windows SDK を導入する
  2. Git for Windows SDK から pacman に関連するファイルだけを取り出す

1. Git for Windows の開発環境 Git for Windows SDK を導入する

リポジトリを取得してあれこれすれば使えそうな雰囲気です。

2. Git for Windows SDK から pacman に関連するファイルだけを取り出す

わりと無理矢理感はありますが、こんな感じで今のところ使えています。

git clone --depth=1 https://github.com/git-for-windows/git-sdk-64 gfw-sdk

cp gfw-sdk/usr/bin/pacman* /usr/bin/
cp -a gfw-sdk/etc/pacman.* /etc/
mkdir -p /var/lib/
cp -a gfw-sdk/var/lib/pacman /var/lib/
cp -a gfw-sdk/usr/share/makepkg/util* /usr/share/makepkg/

pacman --database --check

curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg \
| pacman-key --add - \
&& pacman-key --lsign-key 1A9F3986

pacman -S tree