Scoop で Windows 開発ツールをインストール
WebKit の Windows 開発ツールを Scoop でインストールしようしたが、 WebKit 開発用途にはハマりどころが多い。 結局 Chocolatey に落ち着いた。 またいつか Scoop を試すときのために、記録を残しておく。
Chocolatey と比較すると
- Scoop は管理者権限を必要としない
- Chocolatey はインストールされる場所がまちまちだったりするが、Scoop は各種アプリのポータブル版を展開するだけのためシンプル
Scoop のインストール
PowerShell にて
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
各種プログラムをインストール
scoop install git
scoop bucket add versions
scoop install cmake perl python27 ruby
# run-webkit-tests, webkit-patch, svn-apply が必要とするもの
scoop install diffutils patch sliksvn
# clang-cl でコンパイルする場合に必要なもの
scoop install llvm ninja
pip install pywin32
perl
をインストールとすると、gcc
とか pkg-config
などに PATH が通ってしまい CMake でエラーになる。
手動で PATH を削除したほうがトラブルが少ない。
コマンドで System Properties を開くには sysdm.cpl
。
無料版 Chocolatey も同様だが、公式サイトからダウンロードするため遅い、場合によってはダウンロードが失敗する。 その点、 Cygwin や Ubuntu on WSL は日本にもミラーサーバがあって速い。
gperf
あいにく gperf はパッケージがない。 gperf だけ Chocolatey で入れた。 素直に Chocolatey 使ったほうがよかった気がしてきた。
msys2 の gpref 入れて shim を作成する方法を試しが、生成される .gperf ファイルの改行コードの違いでビルドエラーとなった。
scoop install msys2
msys2
# msys2 terminal の中で
pacman -S gperf
exit
# PowerShell に戻って
powershell -command { . "$(scoop prefix scoop)\lib\core.ps1" ; shim "$(scoop prefix msys2)\usr\bin\gperf.exe" $false gperf }
openssl
wpt が openssl を必要とする。
perl
に openssl.exe
が含まれるが PATH を削除したので、shim を作成する。
powershell -command { . "$(scoop prefix scoop)\lib\core.ps1" ; shim "$(scoop prefix perl)\c\bin\openssl.exe" $false openssl }
scoop install openssl
だと CMake がライブラリを誤検出するトラブルがあった気がする。
更新
scoop update *
ですべての app を更新する。
更新すると追加でインストールした pywin32 が消えてしまうので、再度インストールする必要がある。
scoop cleanup *
で古いバージョンを削除する。