Ubuntuでrgdalパッケージを使うには、libgdal-devというパッケージが必要なんですが、Travis CIでこれをインストールしようとすると以下のようなエラーがでます。
https://travis-ci.org/yutannihilation/kokudosuuchi/jobs/172862797
The following packages have unmet dependencies: libgdal-dev : Depends: libhdf5-serial-dev E: Unable to correct problems, you have held broken packages.
どうもTravis CIが使っているイメージ(Ubuntu 12.04)ではこの依存関係が壊れているらしく、インストールできません。
Ubuntu 14.04なら大丈夫なので、そっちを使うことにします。が、そうすると今度はlanguage: r
を指定することができません。Rのセットアップから依存パッケージのインストールまで、全部自力でやらないといけません。
ということで、旧r-travisを眺めつつ作ったのが、
# R for travis: see documentation at https://docs.travis-ci.com/user/languages/r language: c matrix: include: - os: linux dist: trusty sudo: required before_install: - sudo add-apt-repository "deb https://cran.rstudio.com/bin/linux/ubuntu trusty/" - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9 - sudo add-apt-repository -y "ppa:marutter/rrutter" - sudo add-apt-repository -y "ppa:marutter/c2d4u" - sudo apt-get update -qq - sudo apt-get install -y --no-install-recommends r-base-dev - sudo apt-get install r-cran-httr r-cran-xml2 r-cran-purrr r-cran-dplyr r-cran-shiny r-cran-rgdal r-cran-digest r-cran-testthat script: - R CMD build ${R_BUILD_ARGS} . - FILE=$(ls -1t *.tar.gz | head -n 1) - _R_CHECK_CRAN_INCOMING_=FALSE R CMD check "${FILE}" --no-build-vignettes --no-manual --as-cran
before_script
の一番最後は、依存パッケージを書きます。marutter/c2d4u
というPPAがCRAN上のパッケージのdebパッケージ版を提供してくれているらしく、r-cran-
をパッケージ名の前につければだいたいのパッケージはあるはずです。
matrix
にしてるのは、今だと安定バージョンのRだけしかテストできてないんですが、開発版もビルドマトリクスしたいという気持ちからです。が、やり方がよくわからず...。どっかにバイナリ転がってないのかな。