nDiki : PAR
PAR - Perl Archive Toolkit
Perl プログラムから実行形式 (Windows であれば exe 形式)ファイルを作成することのできる Perl モジュール。
などの機能がある。
PAR 0.970 から PAR と PAR-Packer に分離した。
Tips
自分自身がPARでアーカイブしたものかどうかを調べる。
もし明示的に PAR モジュールを use していない場合、 $INC{'PAR.pm'} が真かどうかをチェックすることで判定できる。 真の場合はPARでアーカイブされたものであるので、PAR::read_file 等を実行してアーカイブの中のファイルにアクセスすることができる。
pp で作成した実行可能ファイルのライセンスについて
The Artistic License の下にあるライブラリを使用しているだけであれば、第8条に従い任意のライセンスを設定できる。
(pp のマニュアルより)
スポンサード リンク
Related term
2004年7月20日 (火)
■ PAR を ActivePerl 5.6.1 build 638 に

昨日 Linux 上で実験してみた PAR を Windows にも入れてみる。 PDLを使っている関係で ActivePerl は 5.6.1。
@ インストール
ppm install で入るパッケージは古いので、最新のものを入れておく。 ちょっと手間。
- PAR が必要とする Parse::Binary と Win32::Exe は ppm がないので、自分でとってきて make_ppm。
- PAR 0.85 は 'ppm install PPM::Make' ではいる make_ppm だとパッケージ作成失敗。PPM::Make 0.71 に上げる (古い PPM::Make で ppm 化可能)。
- PPM::Make 0.71 は新しい Getopt::Long を必要とするので、こちらもソースをとってきて ppm 化。
- その他必要なパッケージもインストール (Config::IniFiles)。
ワンライナーを pp できるところまで動作確認。
@ モジュール + スクリプトを実行可能形式に
ExtUtils::Makemakerを使ってパッケージ化している開発中のモジュール(スクリプトあり、XS あり)を実行可能形式化してみる。
perl Makefile.PL nmake nmake test cd blib set PERL5LIB=lib;arch (pp の -I オプションが効かなかったので) pp -o foo.exe -a lib -a arch -M ... -c script/foo
Log::Log4perl::Appender::Screen、Jcode::Unicode::NoXS、Unicode::String、GD については依存関係を自動検出できなかったので、それぞれ -M で指定。
できた。動いた。素晴しい。 PDL や GD を使っていたのでちょっと不安だったのだがうまく動いて感激。 これでCD-ROMとか USB メモリに入れておいて一発実行とかできる。
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- ActivePerl で Ming (2005-02-23)
- [ Perl ] PDL 2.4.1 から eigens が固有ベクトルを... (2004-03-05)
- 自前 PPM リポジトリの管理 (2006-07-03)
2004年7月21日 (水)
■ PAR + ActivePerl で実行形式ファイルを作った時のライセンスは?

PAR の pp のドキュメントによれば、pp を実行して生成したファイルについてはライセンス制限がないとの事(The Artistic License の第8条に従い)。 ただし、一緒にアーカイブされたモジュール群が Artistic License の下にない場合は別途チェックする必要あり。
ここで ActivePerl を使った場合はどうなるんだろ。 ActivePerl 自体は ActiveState Community License であるが、その中の Perl (perl とか)と Perl と同じライセンスを選択しているバンドルされているPerl モジュールは The Artistic License を選択するといった記述がサイトにある。 ということは pp でパッケージ化される際に含まれる Perlインタプリタ部分も特に気にしなくていいのかな?
後は各Perl モジュール(とそれが依存しているライブラリ)のライセンスをチェックしなければならないのだが、これも面倒。
- ActivePerl 5.6.1 Build 638 にバンドルされている... (2004-08-19)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- Perl プログラムと必要なモジュールの配布 (2005-05-16)
- PAR に関する ActivePerl のライセンス (2006-06-16)
- 自分が個人で開発したフリーソフトウェアを自社製品に組み込むとき (2005-05-16)
2004年8月11日 (水)
■ NSIS でインストーラを作ってみる。

NSIS 2.0 を Windows BOX に入れて、プログラムのインストーラを作ってみる。 今まで Windows 用のインストーラを作った経験はなし。
NSISをインストールしたディレクトリの下の Examples の中にある NSISスクリプト (.nsi) をコピーして、ちょこちょこっと編集。 エクスプローラでそのファイルを右クリックして出るメニューに 'Compile NSIS Script' というのがあるのでこれを実行するとインストーラが出来上がる。 簡単。
NSISスクリプトはちょっと繁雑だが、複雑な事をしないならば気をつけて編集すれば問題ないか。
wxPerl + PAR + NSIS でそれなりに格好がつくプログラムができそうだ。 コマンドライン用コンパイラもあるので、Makefile.PLから一発でできるようにしたい。
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- ActivePerl で Ming (2005-02-23)
- JRE をバンドルしたインストーラを NSIS で作る (2004-12-02)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
2004年8月19日 (木)
■ ActivePerl 5.6.1 Build 638 にバンドルされているモジュールとライセンス

ExtUtils::Installed でリストアップしてチェック。
| a | ActivePerl::DocTools |
| ActiveState::RelocateTree | |
| a | ActiveState::Rx |
| * | Archive::Tar |
| o | Archive::Zip |
| * | Compress::Zlib |
| o | Data::Dump |
| * | Digest |
| * | Digest::HMAC |
| * | Digest::MD2 |
| * | Digest::MD4 |
| * | Digest::MD5 |
| * | Digest::SHA1 |
| * | File::CounterFile |
| * | Font::AFM |
| * | HTML-Tree |
| * | HTML::Parser |
| * | HTML::Tagset |
| o | IO::Zlib |
| * | MD5 |
| * | MIME::Base64 |
| * | Net (libnet) |
| * | PPM |
| PPM-Agent-Perl | |
| PPM::Shell | |
| * | Perl |
| * | SOAP::Lite |
| * | Storable |
| o | Test::Simple |
| o | Text::Autoformat |
| * | Tk |
| * | URI |
| o | Unicode::String |
| * | Win32 (libwin32) |
| a | Win32::AuthenticateUser |
| * | XML::Parser |
| * | XML::Simple |
| * | libwww-perl |
'*' は Copyright.html で オリジナルがオープンソースのものとして列挙されているもの。 'o' は列挙されていないが、オリジナルが Perl と同じライセンスか The Artistic License のもの。 'a' は ActiveState の Copyright があるもの (ActiveState Community License)。 それ以外は明記がないもの。
PAR でパッケージ化するには、Perl と同じライセンスの(あるいは再配布の問題のないもの)もののみストールしてある状態にしておき、PAR 化した中身に
- ActivePerl/*
- ActiveState/*
- PPM/* (一部)
- ppm-conf/*
- Win32/AuthenticateUser.pm
が含まれていないかをチェック。
- 自前 PPM リポジトリの管理 (2006-07-03)
- PAR + ActivePerl で実行形式ファイルを作った時のライセンスは? (2004-07-21)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- PAR に関する ActivePerl のライセンス (2006-06-16)
- RPC::XML のかわりに XMLRPC::Lite (2004-08-31)
2004年8月22日 (日)
■ PPM リポジトリ作り

- プロジェクトで使う依存モジュール(の特定バージョン)を確保しておく
- PARを使う際にライセンスの確認をしていないモジュールが入らないようにする
- そのために、依存関係解決のため自動的に芋蔓式にモジュールが入らないように標準の PPM リポジトリを無効化しておく
- ビルド/ダウンロードした PPM パッケージを集めてプロジェクト専用の PPM リポジトリを用意する
ということで、もりもりパッケージ化作業。 依存モジュールも含めてそれなりの数になるので、チマチマと作業。
- 自前 PPM リポジトリの管理 (2006-07-03)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- rsync の --copy-unsafe-links (2004-08-21)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
- ActivePerl で Ming (2005-02-23)
2004年8月24日 (火)
■ PAR で重複アーカイブされる

pp でうまく依存モジュールがアーカイブされていないようなので、確認しようと exe 化されたファイルを unzip。 ではじめて、同じモジュールが重複されたアーカイブされている事に気がつく。 blib の下で、
pp -o foo.exe -a lib -a arch -M ... -c script/foo
としていたのだが、どうやら -M や -c でリストアップされたモジュールと -a で指定したものが重複していてもそのまま両方アーカイブしてしまっているらしい。
lib 以下に
- eval で use するため依存関係では自動抽出されない
- 画像ファイルなどのリソースもある
ということで '-a' で指定していたのだが。
これらのモジュールは -M で、リソースは -a でそれぞれきちんと明示的に指定しないと駄目か。 blib の下のファイルをスキャンするスクリプトをつくるかな。
- 「依存関係検査のしにくいモジュール」に依存するスクリプトをPARで実行形式化する (2005-03-08)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- Project@Hand 2 購入 (2004-12-27)
- Template Toolkit + PAR (2004-09-13)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
2004年8月25日 (水)
■ 続 PAR 化

- eval されるモジュール群は Makefile.PL で抽出して、pp の -M オプションで全て指定するように。
- PAR で実行形式化すると、PDL の slice 呼び出しの結果が lvalue にならなくなってしまった。この間まで PAR しても問題なかったのだが。slice 呼び出しのの結果を一旦一時変数に入れて使うように修正。
- 「依存関係検査のしにくいモジュール」に依存するスクリプトをPARで実行形式化する (2005-03-08)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- PAR を ActivePerl 5.6.1 build 638 に (2004-07-20)
- Inline::Pdlpp で 手軽に PDL::PP のコードを書く (2005-05-18)
- NSIS でインストーラを作ってみる。 (2004-08-11)
2004年9月13日 (月)
■ Template Toolkit + PAR

今回のプロジェクトに Template Toolkit を本格的に適用しようかと。 問題となるのは PAR にした時に、どのようにテンプレートを取得するか。 (PARでない場合は)テンプレートはモジュールと同じ位置にインストールしておき @INC から探すようにするつもり。
- PARのキャッシュディレクトリから読み込ませる -> PAR にはキャッシュ位置を取得する公開インタフェースが用意されていない。(今後)常にキャッシュディレクトリに展開されるとも限らない。
- Template::Provider をオーバーライドして、PAR から直接テンプレートをロードできるようにする -> http からのテンプレートの取得についてなどの話で FAQ に掲載されている方法。面倒。キャッシュ処理とかももっと面倒。
ということで泥臭いが「起動時に一時ディレクトリに展開してしまう」という方法を選択。 %PAR::LibCache を舐めて拡張子が '.tt2' であるものを、File::Temp で作ったディレクトリに放り込んで、Template の INCLUDE_PATH に指定する (実際には上記の処理を行うオブジェクトを作って INCLUDE_PATH で指定)。 Daemon 系ならこれで充分。
で、順次 Perl モジュールに散財していたHTML出力をテンプレートベースに変更。 コードがかなりすっきりしてきて気持ちいい。
今回の作業で @INC にサブルーチンリファレンスやら、オブジェクトやらを渡せることを初めてしった。実際 PAR で利用している。 CODE の混ざった @INC をそのまま Template の INCLUDE_PATH に渡すとエラーが起きるので除外したものを渡すように。
- 音楽再生にあわせて処理をする amaroK スクリプトを書いてみる (2006-01-31)
- [ Java ] 22:30 Cocoon2 はどうかな? (2001-12-05)
- NSIS が再び Linux でコンパイルできるように (2005-01-08)
- CGI プログラム、Out of memory! に泣く (2001-01-04)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
2004年12月8日 (水)
■ 始めてアイコンを作ってみた。

GIMP で 32x32 と 16x16 のインデックスカラーBMPを作って @icon変換でコンバート favicon.icoへの設定、PARでexe化の際のアイコン設定をしてみる。
- www.naney.org に favicon.ico を設定 (2004-12-10)
- デジカメ写真管理ソフトウェア digiKam (2006-03-10)
- PEG-TJ25インストールメモ (2004-03-11)
- PEG-TJ25 インストールメモ (2004-04-15)
- 今日のさえずり (2007-10-04)
2004年12月31日 (金)
■私的10大ニュース2004 [ comp ]

@ cool programs
- pdumpfs
- Memcached
- 簡単・高速なキャッシュシステム。使える。
- Firefox
- Subversion
- 将来的に CVS から移行する事を考えて試験的に導入。良い。Windows でも TortoiseSVN のおかげで簡単に利用できる(CVS にも TortoiseCVS が出て便利になった)。
- 影舞
- 今年前半のプロジェクトで活躍。
- PAR
- NSIS
- Template Toolkit
- Webアプリケーション開発プロジェクトで採用。www.naney.org の静的コンテンツの生成でも使い始めた。
@ Palm OS 生活復活
PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。
PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。
- Module::Build でソースパッケージング (2005-08-24)
- DAR で差分/増分バックアップ (2005-04-02)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- JSmooth で Win32 上でのJava プログラム起動ファイル作成 (2004-12-06)
- JAlbum で Webフォトアルバム (2004-11-14)
スポンサード リンク
Related web page
このページでは XHTML/RSS/Atom においてモバイル版 URL へのリンクをメタデータに埋め込む仕様: Mobile Link Discovery について解説します。 (See English version of this page.) サマリ モバイル端末に最適化されたウェブページをもつサイト(Publisher と呼びます)は、link タグにその URL を以下のように記述します。 <link rel="alternate" media="handheld" href="..." /> こうすると、サhttp://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html
Here's a list of some of the prameters that can be passed to maps.google.com. You might want to pass such <strong>par</strong>ameters if you want to get Google Maps to display driving directions, which are not available under the API. q= Query - anything passed in the q <strong>par</strong>ameter is treated as if it had been typed into the query box on the maps.google.com page. In <strong>par</strong>ticular: a precise address is looked up and a marker and info box is displayed at the specified point a town name, or the first half of a postcode causes the rhttp://mapki.com/wiki/Google_Map_Parameters
http://www.naney.org/diki/d/2006-12-12-PAR-Repository.html
ってのは、大雑把に言うと Perl スクリプトを EXE 形式に変換するモジュール。 無駄にインストールに手間取ったんだけど、役に立つこともあるかもしれないのでメモ。 ちなみに環境は ActivePerl 5.8.8.819。 ■CPAN からのインストール(挫折) 普段インターネットに接続できない環境で作業してるので、CPAN から tar.gz を落として自分で make ってのがいつもの流れ。 今回も初めはその方http://miau.s9.xrea.com/blog/index.php?itemid=561
初登場になります、酒井といいます。 今回は Six A<strong>par</strong>t のサービスで使われている MogileFS というファイルシステムを紹介したいと思います。MogileFS については、日本語の情報はあまり…、というかほとんどない状況ですので参考にしていただければと思います。では早速。。。 MogileFS とは MogileFS とは、Perl で記述されているオープンソースな分散ファイルシステムです。 プロジェhttp://www.sixapart.jp/techtalk/2006/10/dev_mogilefs.html
Download these vector graphics and feel free to use for your projects, personal or commerical. These graphics are in .pdf format, support most graphic application likehttp://www.ndesign-studio.com/resources/vector-cliparts/
史上最凶の実写版 台湾版北斗の拳 <strong>par</strong>t1 こんばんは、ゲド戦記レビューのお時間です。 ・・・まあウソなんですけど。今回は台湾実写版の北斗の拳をご紹介しようと思うのです。以前当サイトでは、ハリウッド版、韓国版などの実写版北斗の拳を取り上げてまいりましたが、この台湾実写版だけはレビューすることについて躊躇していたため今までご紹介できずにおりました。 なhttp://blog.livedoor.jp/textsite/archives/50240306.html
こんにちは。Movable Type 製品開発チームの吉松です。そのうち登場する真打ちがやたらに深い技術の話をしてくれると思うんで、その前にまずは前座ということで、Movable Typeの開発チームの生態をさらしてみようと思います。 Movable Typeの開発チームは、サンフランシスコの本社にいるプロダクトマネージャ、エンジニア、QAリード、インタラクションデザイナ、および東京オフィスhttp://www.sixapart.jp/techtalk/2006/08/movable_type.html
http://journal.mycom.co.jp/column/toyagain/001/
「ディスク全体を使う」メニューを選ぶと、指定のディスク全体にある既存のパーティション(OSやデータを含む)を削除して1、ガイドによるパーティショニングの手順に進みます。新しいディスクや既存のデータを削除してもかまわないディスクであれば、これを選ぶのがよいでしょう。 「手動でパーティションテーブルを編集」メニューを選ぶと、現時点のパーティション構http://kmuto.jp/debian/partman/
■よく検索されるキーワード
perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.133503s / load averages: 0.26, 0.24, 0.18
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク