Raspberry Pi Zero W上にNimをインストールしようとしたら, まずchoosenimは使えない, GitHubのNimリポジトリのビルドも失敗する, apt install nimで入るNimはなんと v0.19.4 ! nim-lang/csources (前リポジトリをコンパイルするための, C言語で書かれたNim) の v0.20.0 にすら及ばない.

ここ数年で急成長しているから仕方がないのもあるが, 最新付近のNimを使えないと困ることもあるので, どうにかインストールする.

方法

なんのことはない. testingリリースにnim v1.2.0 (2020年5月時点) があるので それを使う.

sudo echo 'APT::Default-Release "buster";' >> /etc/apt/apt.conf.d/99target
sudo echo "deb http://archive.raspbian.org/raspbian testing main contrib non-free rpi firmware" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y build-essential/testing nim/testing

build-essentialtestingリリースにしないと 依存しているパッケージが上手く噛み合わない. だから, 実際には下のDockerでどうにかした方がいい.

Docker

本題はこっち. こちらの方が自分的には需要がある. Dockerのインストールは前回の記事を見てほしい.

使い方としては, docker-compose.ymlでビルド用のコンテナを分ける感じだろうか.

FROM balenalib/rpi-raspbian:buster

RUN echo "deb http://archive.raspbian.org/raspbian testing main" \
    > /etc/apt/sources.list \
  && apt-get update && apt-get install -y \
  build-essential/testing \
  nim/testing \
  && apt-get -y clean \
  && rm -rf /var/lib/apt/lists/*