makeMistakesToLearnHaskell icon indicating copy to clipboard operation
makeMistakesToLearnHaskell copied to clipboard

インストールにかかる時間を短くする・簡単にする

Open igrep opened this issue 7 years ago • 8 comments
trafficstars

現状はソースからビルドしなければならないので、基本的に遅い。 特に https://github.com/haskell-jp/makeMistakesToLearnHaskell/issues/9 への対応でpandocを依存関係に加えることを検討している現在、よりビルド時間が長くなることが懸念される。

なので、 https://github.com/haskell-jp/makeMistakesToLearnHaskell/pull/29 や https://github.com/haskell-jp/makeMistakesToLearnHaskell/pull/30 などの対策を通して、実行ファイル(と同時にassetsも)まとめてインストールできる状態にしたい。

igrep avatar Oct 28 '18 09:10 igrep

Haskell Dayに関しては、ビルド待ち時間中に読む代わりのコンテンツを検討しているため、優先度を敢えてmediumにしています。

igrep avatar Oct 28 '18 09:10 igrep

background で runhaskell を呼んでるようなので、静的バイナリでの配布は後にして Docker image を作ることにします。

image は https://github.com/phadej/docker-ghc のものを使おうと思うのですが、そのまま利用すると mmlh: <stdout>: commitAndReleaseBuffer: invalid argument (invalid character) というエラーがでるので、ちょっとカスタマイズする予定です。

こっちだとそのエラー出ないんだけどなぁ・・・。(しかし runhaskell が入っていない)

  • https://github.com/haskell-works/stack-build/blob/master/minimal/Dockerfile

waddlaw avatar Oct 28 '18 13:10 waddlaw

ん?さすがに stack setup は別途やっていただくつもりでしたので、Dockerにするのはちょっとやり過ぎなのではないかと(あっちゃいけないものではないですけども) 基本的にはHaskellをはじめる人をターゲットにするので、stackを入れてstack setupまではどうせやることになるでしょうから。

igrep avatar Oct 28 '18 22:10 igrep

基本的にはHaskellをはじめる人をターゲットにするので、stackを入れてstack setupまではどうせやることになるでしょうから。

なるほど。stack setup するのであれば、どちらのケースでも利用可能なので気にしなくて大丈夫ですね。

waddlaw avatar Oct 29 '18 00:10 waddlaw

とりあえず緊急回避として、pandocで変換済みのHTMLをリポジトリに突っ込んでおくという手も…

as-capabl avatar Oct 29 '18 03:10 as-capabl

捕捉: dockerを使ってちょっと試そう、みたいなユースケースを除いて、原則としてstackのインストールとstack setupはユーザーに別途やっていただく、という方針でインストーラーを作っていただきたいです。 そこまでインストーラーがやってしまうと、mmlhが独自のHaskellの始め方を伝えることになってしまい、ほかで紹介している方法と異なってしまうためです。

igrep avatar Nov 03 '18 08:11 igrep

とりあえず Mac のパッケージの作り方について、autopkg というツールを使ってみようと思います。使ったことないので使えなかったら pkgbuild で作ります。

参考

waddlaw avatar Nov 04 '18 05:11 waddlaw

メモ: Linuxでやる場合はSnapsで作るのがよさそう? https://gihyo.jp/admin/serial/01/ubuntu-recipe/0513

igrep avatar Mar 19 '19 00:03 igrep