- Imager
- imager は install する時に gif, png, jpeg のライブラリがあれば一緒に入れる。なかったら入れない。
- Imager::File::PNG みたいな別 dist も一応ある
cpanfile を
requires 'Imager';
requires 'Imager::File::PNG';
とする。
- libpng がない状態で
cpanm . --installdeps
した場合は Imager は error にならずに、Imager::File::PNG はエラーになる - libpng がある状態だと、 Imager で ::PNG も一緒に入り、
requires 'Imager::File::PNG';
の箇所は up to date となる。
結果として libpng があれば大丈夫
- libpng がない状態で
carton install
した場合は Imager は error にならずに、Imager::File::PNG はエラーになる - ある状態で、Imager がまだ入ってない状態だと Imager を install したタイミングで ::PNG も一緒に入り
requires 'Imager::File::PNG';
は up to date となる。- この状態だと Imager::File::PNG の install.json は作られないので cpanfile.snapshot には記録されない
- carton check を行うと cpanfile と cpanfile.snapshot に差異が出るので通らない
- libpng がない状態だと Imager::File::PNG が存在しない。 carton check に問題は起きないが png file を扱おうとすると死ぬ
- libpng がある状態なら問題なし
- あるなしに関わらず Imager の install は上手く行き、carton check は通るが、png file が扱えるかどうかが扱うまで分からない。
- Imager::File::PNG が carton に正しく入っていて、それを carton check で確認出来る。