mobirc 1.99_012009年01月06日

mobirc 1.99_01 をなんとか etch (i386) 用で動かした。extlib/ は使わず、必要モジュールもすべて deb 化した上で利用。端末は FOMA (P903i) で確認。

http://dev.tkusano.jp/perl/debian/

にあります。

はまったところ

App::Mobirc::Util の DEBUG

ワイド文字がなんたらという文句が出るので、STDERR を :utf8 にした。

is_foma が無いというエラーが出る

詳しいエラーは忘れたけど、HTTP::MobileAttribute::Agent のに is_foma メソッドが無いと怒られた。HTTP::MobileAttribute::Plugin::IS::DoCoMo で定義されてるみたいだけど、どうやったら使用されるのだろう??適当にごまかした。

日本語が表示されない

数値文字参照を P903i がハンドリングできず、真っ白に。

--- mobirc-1.99_01.orig/lib/App/Mobirc.pm       2008-12-24 17:34:34.000000000 +0900
+++ libmobirc-perl-1.99-01/lib/App/Mobirc.pm    2009-01-05 20:24:40.311752418 +0900
@@ -12,6 +12,13 @@
 use App::Mobirc::Types 'Config';
 use Text::MicroTemplate::File;
 use App::Mobirc::Web::Template;
+use HTML::Entities ();
+
+BEGIN {
+    no strict 'refs';
+    no warnings 'redefine';
+    *{'HTML::Entities::num_entity'} = sub { $_[0] };
+}
 
 our $VERSION = '1.99_01';
 

で逃げられるけど、危険だ。

デフォルトの assets や 設定ファイルの位置

デフォルトのパスを、FindBin 使って動的に決定してるのを /usr/share/mobirc/assets や /etc/mobirc/config.ini に固定した。

プラグインをどうやって追加するのか

config.ini に

[HTMLFilter::DoCoMoCSS]

[IRCCommand::TiarraLog]

などと書いていけばよいのか。

TODO

  • マルチユーザ化したい (複数の端末IDを登録し、端末ごとにいろいろ入力を加工したい)

Net::CIDR::MobileJP2008年12月06日

Net::CIDR::MobileJPdeb を作ってみて

#! /usr/bin/perl

use strict;
use File::ShareDir;
use Net::CIDR::MobileJP;
use Perl6::Say;

say File::ShareDir::module_dir('Net::CIDR::MobileJP');

という中身の /tmp/test.pl を実行してみたら、

% perl /tmp/test.pl 
Directory '/usr/share/perl5/auto/Net/CIDR/MobileJP',
 does not exist at /tmp/test.pl line 8

というエラーが出た。

Makefile.PL

install_share;

install_share module=>'Net::CIDR::MobileJP', 'share';

と変更したらokになたけど、これでいいのだろうか。

CPANモジュールを黙らせる2008年12月01日

CPANモジュールをプログラムから呼び出すと、CPAN::Config->load の際に、

CPAN: Storable loaded ok
Going to read /home/fugahoge/.cpan/Metadata
  Database was generated on Sun, 30 Nov 2008 04:26:50 GMT

などと標準出力に出てきてうるさい。

{
 no warnings 'redefine';
 *CPAN::Shell::myprint = sub {};
 CPAN::Config->load;
}

で黙らせることができたけど、これでいいのだろうか。

<< 2009/01 >>
01 02 03
04 05 06 07 08 09 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

RSS