WindowsのStrawberry Perlで最新のSQLiteを使う

SQLiteで新しいバージョンを使いたくなった。CPANで入れてみても9か月前のバージョンしか入らない。

cpanm -n DBD::SQLite
perl -MDBD::SQLite -e "print $DBD::SQLite::sqlite_version"
# 3.10.2

インターフェイスをどうこうする必要はないのでSQLiteのソースだけ入れ替えればいいはずと思ってやってみた。
先ほどインストールしたDBD::SQLiteのソースをローカルから拾ってきて展開。
またSQLiteのダウンロードページでamalgamationソースを持ってきて、sqlite3.c, sqlite3.h, sqlite3ext.hを置き換える。
あとはcpanmのローカルディレクトリインストール機能を使う。

bash
tar xf /C/path/to/strawberry/data/.cpanm/work/*/DBD-SQLite-1.50.tar.gz
cd DBD-SQLite-1.50
wget https://www.sqlite.org/2016/sqlite-amalgamation-3150000.zip
unzip sqlite-amalgamation-3150000.zip
mv sqlite-amalgamation-3150000/sqlite3* .
exit
cpanm -n .

バージョンアップできた。

perl -MDBD::SQLite -e "print $DBD::SQLite::sqlite_version"
# 3.15.0