haskell-ja > Archives > 2011/03/01

2011/03/01 03:11:00 UTCcutsea110
#
cabalについておすえてエロい人
#
cabalizeしようとしてて
#
http://d.hatena.ne.jp/propella/20101211/p1
#
これ見てる
#
cabal init
#
して
#
build-dependsとかその他もろもろ追加して
#
runhaskell Setup configure --ghc
#
すると
#
Configureing app-0.1...
#
Setup: At least the following depenedencies are missing ...
#
からずらずらとbuild-dependsに書いたhackageのリストが表示されちゃうんだけど
#
どういうこと?
#
build-dependsを書くことでインストールしたい人がcabal installしたときに
#
必要なライブラリとして芋づる式にインストールするための情報だと思ってたんだけど
#
それを教えてやってるのにmissingとはこれいかに?
#
つーかkonoどうしろと?いってるのだ?
#
つーかこのメッセージはどうしろと?言っているのだ?
#
またmissingって言ってるけど俺の環境には入ってるぞ。当然今動かしてるんだから。
2011/03/01 03:20:18 UTCmr_konn@twitter
#
~/.cabal に入るのでよければ --ghc を --user にすれば入るとは思いますが、ghcのほうにいれるのにはどうすればいいんでしょうね……
2011/03/01 03:23:47 UTCcutsea110
#
あー--ghcってそういうことですか
#
いや、じゃあいいです。--userで試します。
2011/03/01 03:29:19 UTCshelarcy@twitter
#
Cabal を使ったビルドにどの処理系を使うかを指定するのが、--ghc オプションや --hugs オプションです。 http://bit.ly/ghIBmF#setup-configure-programs
#
ただ、--ghc オプションだけでは複数 GHC をインストールしてある場合にどの GHC を使うかは指定されませんし、global なデータベースを使うか user のデータベースを使うか指定されません。そこで問題が生じているんでしょうね。
2011/03/01 03:33:49 UTCkazu
#
cabalize したら、cabal configure, cabal build, cabal install で試して下さい。それで、エラーが出るなら、教えて下さい。cabal install では、~/.cabal に入ります。
2011/03/01 03:34:22 UTCshelarcy@twitter
#
@mr_konn GHC の方に入れるというのが GHC の global なパッケージ・データベースのことであれば、--global 指定すればできますよ。 http://j.mp/icdZ6x
#
@mr_konn まあ、今回は関係なかったみたいですが。
2011/03/01 03:35:35 UTCkazu
#
ghc --make と打つのが面倒になって、Makefile 書くかって気になったら、まよわず cabalize しちゃいましょう。そちらの方が、生産的です。
2011/03/01 03:36:00 UTCcutsea110
#
buildはでけたっぽい
#
みんなありがとう
2011/03/01 03:43:56 UTCkazu
#
ちなみに、Hackage に上げる際には、まず cabal sdist とタイプして下さい。dist/ の下に tar.gz ができます。念のため、これを untar してから、cabal configure, cabal install してみて、足りないファイルがないようなら、Hackage に登録です。登録前に、test するフォームがあるので、それで一回試しましょう。
2011/03/01 03:44:01 UTCcutsea110
#
うーん。実行可能ファイルとそれが実行時に参照しているテンプレートファイル群がある場合、こういうのを自動でインストール先に配置したかったらどうすればよさげ?手コピーしてねでもいいけど、やってくれた方がうれしいかも。
#
thanx > kazu
#
まだそこまで行く感触ではなさげー
#
でも.cabal/binの下に勝手に特定アプリが参照しているディレクトリがごそごそ作られるのもいやだしなー
2011/03/01 03:45:39 UTCkazu
#
Data-Files: に記述しておけば、cabal install の際に .cabal に下にコピーしてくれます。
2011/03/01 03:46:18 UTCcutsea110
#
それは実行可能ファイルがインストールされるbinの配下でしょうか?
2011/03/01 03:46:54 UTCkazu
#
.cabal/share/package-version の下だった気がします。
2011/03/01 03:47:23 UTCcutsea110
#
ふーむ。yesodってその辺どう考えてるんじゃろう。。。
2011/03/01 03:48:24 UTCkazu
#
README に、.cabal/share にあるから、それを使ってね と書くだけじゃないですか?
2011/03/01 03:48:33 UTCcutsea110
#
うーん。Settings.hsで指定しているはずだからここを.cabalに入ることを想定してやっておくのかしら。
#
ああ、つまり手コピーしてーってことですよね?
#
ちょっとメシ買ってくるっす
2011/03/01 03:49:19 UTCkazu
#
そうです。
#
ここはあまり凝ったことをしない方がいいです。OS のパッケージを管理している人が、やりやすいように低レベルな作業だけすべきだと思います。
2011/03/01 03:58:52 UTCcutsea110
#
ふむ。なるほど。じゃあその方向でちょっとやってみよう。
#
出遅れててサービスの味噌汁がない。という悲しさ。
#
確かにいずれにせよバインディング使ってると*-devがいるとかデータベースを作って、接続文字列を設定してとか手作業あるしねぇ。
2011/03/01 09:56:28 UTCcutsea110
#
あら?
#
今気づいたけどData-Filesってフィールドは知らないよって言われてる
#
Warningだから大丈夫なのか?
#
Unknown fields: data-files (line 17)
#
みたく書かれてる
2011/03/01 10:08:24 UTCcutsea110
#
うーむwarning黙らせてぇ
#
ぬう。
#
使ってない変数だよって言われる奴はつぶしてもいいけど、
#
型宣言ないよってのは、実は型を書くためにインポートするのもなんだよなぁって思ってあえて書いてないわけだが、どうしようぞ
2011/03/01 14:10:18 UTCkazu
#
Data-Files は、ありますよ。 http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#general-fields
#
使ってない変数は、"_" で受けましょう。
#
「型を書くためにインポート」の意味が分かりません。