nDiki : PPM パッケージ

PPM パッケージ - PPM package

パッケージマネージャ PPM で扱うことのできるソフトウェアパッケージ。 通常 Perl モジュールをパッケージングしてある。

PPM パッケージPPM::Make に含まれている make_ppm コマンドで作成できる。

関連情報

2006年12月13日 (水)

wxPerl PPM パッケージ

PAR リポジトリでいろいろ遊べそうなので、GUI 作成に wxPerl の方も久しびりにまた使おうかなと。

ただ wxPerl の本家が配布しているビルド済み PPM パッケージは、いまだに Wx 0.26 + wxWidgets 2.6.2 だったりして使う気になれない。 かといって、自分でビルドするのも結構手間だし。

で探していたところ Wx::Perl::Packager の開発者が、自身のサイトで PPM パッケージを配布しているのを発見。

最新のパッケージがあるのが嬉しい。

というか12月12日 にリリースされた wxWidgets 2.8.0 と、 CPAN にもまだない CVS 版 Wx (次の 0.66 のためのスナップショット)が、同じ12月12日に公開されているという早さ。

これがあれば、最新の機能が堪能できそうだ。

[ 12月13日全て ]

2007年2月5日 (月)

ActivePerl 5.8.8.820PPM では ppd/tar.gz を置いただけの PPM リポジトリを使えなくなった

ActivePerl 5.8.8.819 までは .ppd と .tar.gz ファイルを置いたディレクトリを Web サーバで公開しておけば、そのディレクトリの URLPPM リポジトリとして指定して使うことができた。

これが build 820 付属の PPM だとスキャンしてくれなくなった。 リポジトリの URL を指定する際、package.xml を指定しないと駄目らしい。

PPM リポジトリとして必要なファイル群を生成する

PPM リポジトリとして必要なファイル群は PPM-Make に含まれている rep_summary コマンドで生成することができる。

 rep_summary --rep /path/to/ppm/repository

今後はこれで package.xml その他のファイルを生成しておくことにする。

複数の PPM リポジトリ

一方複数の PPM リポジトリの扱いは良くなった。build 819 付属の PPM では、複数のリポジトリにまたがってパッケージの依存解決ができなくなっていて不便だったのだが、build 820 のものでは、以前のバージョンのもののようにまたがれるようになった。

基本的な PPM パッケージ群用と、プロジェクト毎の PPM パッケージ群用の PPM リポジトリを組み合わせて使うときに、依存解決できないと厄介だったのでこれは○。

PATH

build 819 のインストーラでは site\bin に PATH を通してくれないので、site にインストールしたパッケージ付属のコマンドが呼び出せず不便であった(もちろん自分で PATH を通せばよいのだが)。

build 820 のインストーラでは site\bin も PATH にいれてくれるようになった。○。


[ ActivePerl ]

[ 2月5日全て ]

2007年2月9日 (金)

XAMPPWiKicker を動かしてみた。PPM インストール OK。

Perl で書いた Web アプリケーションのポータブルな Win32 デモ環境として XAMPP を使ってみるとどんな感じになるか試してみた。

使ったバージョンは以下。

(http://www.apachefriends.org/jp/xampp-windows.html)

C: ドライブで試す

それぞれ 自己解凍型 7-ZIP アーカイブをとってくる。 最初に XAMPP を展開し、次にその xampp ディレクトリの中で Perl アドオンを展開。 xampp ディレクトリを c: の直下に移動する。

次にコマンドプロンプトを開き c:\xampp\perl\bin へ移動後 ppm コマンドを起動して作成済みの PPM パッケージをインストールする。 インストール先は \xampp\perl 以下とドライブ無しのパスで指定されているようで、問題なく必要な Perl ライブラリをインストールできた。

次に \xampp\xampp-control.exe を実行して GUI 管理ツールを立ち上げ、その画面から Apache を起動。 普通の Win32Apache もインストールしてある PC だったため、xampp-control から Apache を起動したらそちらが立ち上がってしまったが、これは Svc にチェックが入っていたからだった。Svc を外せば \xampp 以下の Apache がきちんと起動する。

あとは \xampp\htdocs 以下で WiKicker CGI プログラムの配置や設定ファイルを作成すれば OK。 もともと WiKicker は相対パスだけで動くようになっている*1ので、問題なく実行することができた。

*1多分

他のドライブに移す

一度セットアップできた \xampp ディレクトリを TrueCrypt 仮想ドライブにコピーして起動してみた。

こちらも問題なく OK。

ということで XAMPP でお手軽に Perl CGI プログラムの動く Web サーバ環境を作れることを確認できた。

問題があるとすれば XAMPP + Perl アドオンが馬鹿でかいところか。400MB オーバー。 今回何が一番時間がかかったかって、XAMPP + Perl アドオンを展開した直後の xampp ディレクトリを、後でまた使えるように 7-ZIP の最高圧縮する処理に時間がかかった。 使っている PC では 50分以上かかったよ。

[ 2月9日全て ]

2008年8月5日 (火)

Twitter への書き込みを自動的に Skype ムードメッセージに設定する for Windows

半年ぐらい前に Skype for LinuxTwitter への書き込みを自動的に Skype ムードメッセージに設定するスクリプト(記事)を作って cron で 10分毎に更新するようにした。

Windows BOX 上 Skype を使っている時も同様にできるように、Skype4COM を使うバージョンも書いてみた。 D-Bus ではなく Skype4COM を使うようにすることと、Skype4COM にはシフト JIS の文字列を渡すようにすること以外はほとんど同じ。

Skype4COM の DLL を登録し、Skype が起動している状態で以下の Perl スクリプトを実行。

 #!/usr/bin/perl

 use strict;
 use warnings;
 use Win32::OLE;
 use URI::Fetch;
 use XML::RSS;
 use Date::Parse;
 use Encode;

 my $id = '自分の Twitter ID';

 my $time = time;
 my $fetch_response
   = URI::Fetch->fetch(
               "http://twitter.com/statuses/user_timeline/$id.rss?dummy=$time")
   or die URI::Fetch->errstr;
 my $rss = XML::RSS->new;
 $rss->parse($fetch_response->content);
 die 'no items' if @{$rss->{items}} == 0;
 my $item = $rss->{items}->[0];
 my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
   = localtime(str2time($item->{pubDate}));
 my $title = $item->{title};

 my $mood
   = sprintf("$title [%02d/%02d %02d:%02d]", $mon + 1, $mday, $hour, $min);

 $mood = Encode::encode('shiftjis', $mood);

 my $skype = Win32::OLE->new('Skype4COM.Skype');
 $skype->Client->Start unless $skype->Client->IsRunning;
 my $profile = $skype->CurrentUserProfile;
 $profile->{MoodText} = $mood;

インストール済みだった ActivePerl 5.8.8.822 で動作を確認(ちなみに現時点での最新は ActivePerl 5.10.0.1003)。なお URI::FetchXML::RSS、Date::Parse(TimeDate) は標準では入っていないので PPM パッケージでインストール。

タスク スケジューラで10分毎に上記のスクリプトを wperl.exe で実行するように設定。 これで Windows 上でもさえずりをムードメッセージに設定できるようになった。

[ 8月5日全て ]

2009年2月9日 (月)

今日のさえずり - Doing リストが思ったよりよい

2009年02月06日

  • 11:25 ここ数日探しているのだが、microSDカードリーダがでてこない。 *P3
  • 18:36 Linux 再起動繰り返しているので、ちょっと浮気して Twit 最新版にしてみた。P3 に慣れちゃっている自分を実感。 *Tw*
  • 23:28 ようやく今日、Linux kernel 2.6.26 に移行できた。 *P3

2009年02月07日

  • 08:18 北方領土の日。 [mb]
  • 23:44 通帳見ながら去年の光熱費入力しようと思ったら、途中からクレジット支払いにかえたんだった。集計面倒だな。 *P3

2009年02月09日

[ 2月9日全て ]

2009年2月22日 (日)

ActivePerl 5.8.9 build 825 + MinGW 5.1.4 + PARPerl スクリプトを実行可能ファイル

久しぶりに PAR の出番。 休日出勤して環境作り。

今回実行可能ファイルにしたい Perl プログラムが Perl 5.8 で開発・テストされているものの改訂版で、必要な PPM パッケージも 8xx 用に作りだめしてあるので、ActivePerl 5.8.9.825 上で行うことにした。

PAR::Packer は ActivePerl の build と合っていないとうまく動かないので、自分でソースからビルドして PPM パッケージ化する。 必要な依存モジュールのバージョンも軒並み上がっているので、それらもビルド

今まで Visual Studio 6.0 でビルドしていたのだけれど、この間 PC をかえてから入れていなかったので、今回は MinGW を使うことにした。 SourceForge.net 上から g++ をダウンロードしてネットワークインストールできないようなので、そこだけ SourceForge.JP で探してきてインストール。

MinGW の bin ディレクトリを PATH に追加したら、特に問題なく Perl モジュールコンパイルできている。素晴しい。ExtUtils::FakeConfig 無くてもいいのかな。

[ 2月22日全て ]

2009年8月12日 (水)

今日のさえずり - 哭きの竜のポーズの人発見(多分寝てる)

rimage:/nDiki/Flickr/3819175819.jpg

2009年08月10日

  • 09:31 雨的にひどいタイミングで家を出発して乗車。 [mb]
  • 09:35 今日の京浜東北線はゾクゾクするね! (冷房と濡れた靴) [mb]
  • 10:05 出社。神田川も増水してる。 L: 東京都千代田区東神田3 *P3
  • 10:26 ナポレオンやりたい。 *P3
  • 10:50 ActivePerl 5.10 を 5.8 に何で戻しておいたのか思い出した。 5.10 用の PAR::Packer およびその他 PPM パッケージ作ってなかったからだ。 *P3
  • 12:27 Happy Birthday to 後ろの人! (粗品授与) *P3
  • 12:35 「しゃんしゃん祭」を「しゃしん祭」と見間違えて喰らいついた。 *P3
  • 13:11 RHODIA メモカバー #10 と Walkie Pen BOLD [Flickr] http://tinyurl.com/kl6yol
  • 14:03 自分でビルドした PAR::Packer ようやくはいった。 ActiveState の PAR パッケージの PROVIDE が PAR:: となっているところを PAR と修正して PAR をインストールしなす必要があった。 *P3

2009年08月11日

  • 11:11 return foo = bar ? true : false; とか、やめてほしい。 *P3
  • 12:43 FriendFeed の友達リストの一括整理の仕方をようやく把握した。 *P3
  • 12:49 FriendFeed からポストしてみる。 http://ff.im/-6qNVn
  • 12:52 2009年8月8日の歩行: 3515歩、2.69km、33分、4.84km/h、消費 130.6kcal、脂肪燃焼 18.7g、1.7エクササイズ。 *P3
  • 12:53 2009年8月9日の歩行: 4570歩、3.51km、41分、5.02km/h、消費 171.9kcal、脂肪燃焼 24.5g、2.4エクササイズ。 *P3
  • 12:55 2009年8月10日の歩行: 4801歩、3.82km、35分、6.37km/h、消費 179.7kcal、脂肪燃焼 25.7g、2.6エクササイズ。 *P3
  • 16:32 哭きの竜のポーズの人発見(多分寝てる)。 *P3
  • 18:25 Dropbox がつまってリズムが崩れた。 *P3
  • 18:38 あ、/home が 6.9MB しか残っていなかった。 *P3
  • 18:57 ソフトウェアダウンロードアーカイブを一部 microSDHCカードに移動して /home を広げている最中。 *P3

2009年08月12日

  • 09:31 今年の夏コミ日程を確認。8月14日から8月16日か。今週末なのね。 [mb]
  • 09:46 ソフマップ新店舗について。 L:秋葉原http://movapic.com/...
  • 12:24 2009年8月11日の歩行: 7514歩、6.01km、55分、6.49km/h、消費 282.5kcal、脂肪燃焼 40.4g、4.1エクササイズ。 *P3
  • 12:34 茶月のお持ち帰り限定お買い得セールってなんだ? あの店舗でイートインあるの? (と書いていて配達という選択肢の可能性に気づいた) [mb]
  • 12:37 水鉄砲って100円しないのな。 L:シモジマ [mb]
  • 12:49 クーピーペンシル買った。 [mb]
  • 12:54 マーボードワーフ。 [mb]
  • 12:57 @shuwatto クーピーペンシル、缶箱のデザインも昔と同じです。逆にキャラクター物とかお店で見つかりませんでした。 [mb]
  • 13:21 @HeroesC 子供用のクーピーペンシル店頭で見たのですが、あれ子供にも短すぎたりしないですか? (値段的にも割高感があったので今日は普通のをチョイス) *P3
  • 14:57 社内サーバにはいっている svnsvn merge --reintegrate できないバージョンです。 *P3
  • 15:42 危うくセブン-イレブンで生茶パンダ先生 in ボトル買うところだった。手にしたけど考えてみたら777円も出せん。 [mb]
[ 8月12日全て ]

2009年8月25日 (火)

ActivePerl をやめて Strawberry Perl

ActivePerl 5.10.0.1005 + Visual Studio 2005 SP1 上で PAR::Packer を使って実行可能ファイル化したものの、今日別の環境で動かしたら「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」というエラーがでてしまった。

今まで Visual Studio 6.0 で PPM パッケージの作成やら PAR::Packer による実行可能ファイル化をしていたので気がつかなかったのだが、調べてみると Visual Studio 2005 以降だとどうもいろいろ面倒らしい。

ActivePerl + PPM パッケージだと自分で PPM リポジトリを用意しておくことで、開発環境の統一が楽になるという利点があったのだけれどもしばらく一筋縄ではいかなさそうなので、別の Perl ディストリビューションを使ってみることにした。

Windows 上の Perl としてしばらく使ってみることにしたのは Strawberry Perl。現在のバージョンは 5.10.0.6。 以前にもちょっと入れてみたことはあったけれども、きちんと使ってみるのは初めて。

MinGW や dmake が同梱されており、CPAN.pm を使って UNIX 上と近い感覚で Perl モジュールのインストールができる。 PAR::Packer を使って実行可能ファイル化した Perl スクリプトも実行できることを確認。

しばらく乗り替えてみることにする。

[ 8月25日全て ]

2010年10月15日 (金)

今日のさえずり: 「We はーと blog」シールをさっそく貼っといた

image:/nDiki/Flickr/5085927367.jpg

[ 10月15日全て ]

2011年10月14日 (金)

YAPC::Asia Tokyo 2011 1日目

@941 → @obra → @miyagawa → @naoya_ito → @ockeghem → @fujiwara → @zigorou → @ikasam_a → @overlast → @lestrrat (LT)

今年は講堂に YAPC タイムラインを写すスクリーンが公式に用意されたため、発表者が Growl 起動してなくても Tweet をシェアできるようになった。自分の端末に目を落とさなくても良いのでいいね。機材や場所の制約があって難しいのだろうけど、他の会場にもあると嬉しいな。

トーク

Perl 5.16 and beyond: Jesse Vincent (@obra)

Perl 5 が互換性を大切にしていく。コアを小さくしていく。

成熟期に入っているので、膨大な資産が継続して使い続けられることはとても重要な要素。

Carton: CPAN dependencies manager: Tatsuhiko Miyagawa

CPAN モジュールインストール状態の記録と再構築を容易にする Carton の紹介。

6年前とかにこういうの欲しかった。 特にパッケージ製品とか作っていると、動作確認のとれた依存ライブラリ一式の保存と管理が大切。自前で tarball 保存(+ PPM パッケージ作成と PPM リポジトリの構築)をしていた日々が思い出される。

SmartPhone development guide with Node/CoffeeScript and HTML5 technologies, for Perl programmers: Naoya Ito

JavaScript のお話。

Webアプリでパスワード保護はどこまでやればいいか: 徳丸浩

まだまだソルト健在。レインボーテーブルは発想が賢い。

Perlで構築された中規模サイトのDC引っ越し記録: FUJIWARA Shunichiro

稼働中のサービスのサーバ移転に関する顛末。

Mobage オープンプラットフォームの事件簿: Toru Yamaguchi

MySQL なお話。

他言語から見たPerlのテスト: Masaki Nakagawa

テストフレームワーク・テスト用モジュールいろいろあるね。 浅く広く紹介。

Apporoで類似文字列検索: Toshinori Satou

前半は技術開発プロセスに関する雑感、後半は類似文字列検索 Apporo の紹介。

@overlast 氏とは懇親会で話をさせていただいて「うーん、やはり悪徳業者投稿コンテンツの検出はヒューリスティックにやっていくしかないのかな」という点で意見が一致。

LT

いろいろ。

懇親会

思ったより食えました。

前職で一緒に研究開発をしていた @k12u 氏と再会できて嬉しかった。かわらず元気そうで何より。

Perlっ!」って話は最初の2本で、後はその他の技術もろもろ。アリだけど個人的にはもっと Perl の話も聞きたーい。

[ 10月14日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.026494s / load averages: 0.21, 0.23, 0.24