Mono 2.4.3 on Maemo5

久しぶりに日記更新。C#って何って私ですが、.NETは聞いたことがある。マックロソフトとSun Javaの決別で生まれた産物。興味は全くなかったんだが .NETのサブセットをUNIX上で動かそうというのがMono Project
N900用にポーティングしている人がいたのでインストールして遊んでみた。
(参考) http://talk.maemo.org/showthread.php?t=47400&page=3
AppMngレポジトリに
deb http://www.torosoft.com/mono-maemo5 fremantle binary
登録するとapt-get 出来るようだが、一部うまく行かなかったので、個別でファイルダウンロードしてインストール。

wget http://www.torosoft.com/mono-maemo5/dists/fremantle/binary/binary-armel/mono-runtime_2.4.3-1_armel.deb
dpkg -i mono-runtime_2.4.3-1_armel.deb

等、どれが必要だったのかよくわからないけど結局

mono-runtime
mono-mcs
mono-gmcs
libgdiplus
libglade2-0
libmono-accessibility1.0-cil
libmono-accessibility2.0-cil
libmono-cairo2.0-cil
libmono-corlib1.0-cil
libmono-corlib2.0-cil
libmono-posix1.0-cil
libmono-posix2.0-cil
libmono-system-data2.0-cil
libmono-system-messaging2.0-cil
libmono-system-runtime2.0-cil
libmono-system1.0-cil
libmono-system2.0-cil
libmono-winforms1.0-cil
libmono-winforms2.0-cil

あたりをインストールしている。
サンプルソース(コンソールアプリ)で動作テスト。

Nokia-N900% cat hello.cs
using System;

class HelloWorld
{
  [STAThread]
  static void Main(string[] args)
  {
    Console.WriteLine("Hello World!");
  }
}
Nokia-N900% mcs hello.cs
Nokia-N900% mono hello.exe
Hello World!

サンプルソース(WinFormsアプリ)のテスト。

Nokia-N900% cat winforms.cs
using System;
using System.Windows.Forms;

public class HelloForm : Form
{
    public static void Main()
    {
        Application.Run(new HelloForm());
    }

    public HelloForm()
    {
        TextBox textBox1 = new TextBox();
        textBox1.Text = "こんにちは、世界!";
        this.Controls.Add(textBox1);
    }
}
Nokia-N900% mcs -r:System.Windows.Forms -r:System.Drawing winforms.cs
Nokia-N900% mono winforms.exe


こんなのも!(てかこれが目的)
YOPViewer.NET @七誌の開発日記 さん
からソースを貰ってきてgmcsでコンパイルすると、

スクロールは結構サクサク動く。