sbt と Debian

途中、ちょっと違う方向に話がいってたりもしますが
4
日比野 啓 (Kei Hibino) @khibino

Scala はビルド環境を整えるだけで面倒なんだが、もうちょっとなんとかならんのか。当方 Debian 使いですが ...

2014-06-28 23:14:50
日比野 啓 (Kei Hibino) @khibino

Haskell だと haskell-platform パッケージをインストールするだけで cabal が使えるようになるので簡単。

2014-06-28 23:17:22
Kenji Yoshida @xuwei_k

@khibino どの言語でも誰でも、普段使ってない慣れてない言語の環境整えるのは面倒に感じる気がします・・・。ビルドツールの具体的な機能の優劣とかなら議論の余地ありそうだけれども・・・

2014-06-28 23:18:58
Kenji Yoshida @xuwei_k

@khibino それをいうと、ScalaならJVMとsbt入れるだけで、大体はこと足りますね

2014-06-28 23:19:46
日比野 啓 (Kei Hibino) @khibino

@xuwei_k sbt はレポジトリから拾ってくる感じなんですかね。今でも maven に依存していますか?

2014-06-28 23:29:01
日比野 啓 (Kei Hibino) @khibino

@xuwei_k どうも maven も面倒に感じてしまって ...

2014-06-28 23:29:41
日比野 啓 (Kei Hibino) @khibino

@xuwei_k まあ、Debian からだと面倒だという話なのかもしれないです。他の言語だとかなりパッケージが揃っているので。

2014-06-28 23:31:22
Kenji Yoshida @xuwei_k

@khibino ビルドファイルに少し記述すれば、勝手に取得してきますね。mavenと似たような、ivyというのに依存してます。色々複雑(?)なんですが、mavenの機能も利用できるというか、リポジトリの互換性があるというか

2014-06-28 23:32:51
Kenji Yoshida @xuwei_k

@khibino Debianだと、とある言語の、個別のライブラリのパッケージが揃ってるということでしたっけ?

2014-06-28 23:34:39
日比野 啓 (Kei Hibino) @khibino

@xuwei_k むしろ Debian 使いから見ると、勝手に取得する機能があれば良いというもんでもないというか。

2014-06-28 23:38:34
日比野 啓 (Kei Hibino) @khibino

@xuwei_k cabal の場合だと、定義から Debian package を作るプログラムが Debian package にもなっていて、ライブラリ環境を維持するためのパッケージを揃えるのにも便利です。あと、Haskell の Debian パッケージが多い。

2014-06-28 23:40:04
日比野 啓 (Kei Hibino) @khibino

@xuwei_k はい。そんな感じだと認識しています。使いこめていない言語については認識が甘いのかもしれませんが。

2014-06-28 23:41:14
Kenji Yoshida @xuwei_k

@khibino Scalaというかsbtが、Debianのパッケージマネージャと同じくらい賢いか、Debianのパッケージがそれぞれあったらよかったという感じですかね?Debianのパッケージマネージャがどのくらい賢いのかよくわかってないですが(続く

2014-06-28 23:42:12
Kenji Yoshida @xuwei_k

@khibino 「とある言語をやるには、特定のOSだと便利」という状況だと、そのOS使ってる人にとってはいいけれど、逆にそのOS使っていない人にとってはマイナスでしかないし、それは良いような悪いような・・・

2014-06-28 23:42:30
日比野 啓 (Kei Hibino) @khibino

@xuwei_k sbt がいまだに Debian package 化されていないんですよね。あと、ivy や maven の依存関係定義から Debian パッケージへの半自動変換のツールが発達していけばよいのかもしれません。

2014-06-28 23:43:44
日比野 啓 (Kei Hibino) @khibino

@xuwei_k 言語に特有のパッケージマネージャーのみだと、(cabal も含めてですが、) その言語のライブラリ内の依存関係しか管理できないという問題があります。

2014-06-28 23:46:12
日比野 啓 (Kei Hibino) @khibino

@xuwei_k 言語のライブラリの枠を超えた依存関係管理をしたければ、たとえば Debian package に変換するのはなかなか良い手段です。

2014-06-28 23:47:15
Kenji Yoshida @xuwei_k

@khibino あーなるほど。「言語のライブラリの枠を超えた依存関係管理」をしたい場面て、そんなに多いですか?

2014-06-28 23:50:22
日比野 啓 (Kei Hibino) @khibino

@xuwei_k たとえば、Haskell 用の開発ツールである ghc-mod はビルド時には haskell の各種ライブラリに依存しますが、実行時にはオリジナルの haskell-mode (emacs-lisp) や libc, libffc に依存しています。

2014-06-28 23:53:27
日比野 啓 (Kei Hibino) @khibino

@xuwei_k libffc ではなく libffi のまちがいです

2014-06-28 23:53:59
Kenji Yoshida @xuwei_k

@khibino たぶんScalaというかJVM言語だと、そうやって直接ネイティブライブラリに依存せず、pure javaで実装したもの使うかJNI経由(結局それも単なるjar)で使うことが多いから、そういう「言語を超えた依存」を管理したい要求が他に比べてあまり発生しないのかも?

2014-06-28 23:58:52
Kenji Yoshida @xuwei_k

@khibino もちろん、そういう場面がゼロではないので、そういう依存を管理する方法が欲しいときもあるとは思いますけど

2014-06-28 23:59:49
日比野 啓 (Kei Hibino) @khibino

@xuwei_k コンパイル後のほぼ全てのライブラリは libc をリンクしているはずですし、ffi しているようなものはやはりその ffi 先をリンクしているはずですね。JVM 系なら native メソッド使ってなければあまり無いのかもしれませんが。

2014-06-29 00:00:05
日比野 啓 (Kei Hibino) @khibino

@xuwei_k たとえば perl の開発環境を作るときに、そのたびに cpan から適当に取ってくればよい、ということにはなかなかしないと思うのですが。例が古くさくてすいません。

2014-06-29 00:10:31
Kenji Yoshida @xuwei_k

@khibino (perlだと余計知らないので、ピンときていない・・・)どうなんでしょう、そのあたりも改善されたら便利なのかもしれないけれど、大抵のScala使いはそれより他のところのほうが問題点として大きいと思ってるから、そういうところに目が向いてない(?)とかですかね・・・

2014-06-29 00:14:49
1 ・・ 4 次へ