トップ(最新) | <前 | 次>

nDiki : PAR

PAR - Perl Archive Toolkit

Perl プログラムから実行形式 (Windows であれば exe 形式)ファイルを作成することのできる Perl モジュール

  • 実行形式を作成する機能
  • PAR ファイルとしてスクリプト、モジュールをアーカイブする機能
  • ネットワーク経由で PAR ファイルを取得する機能

などの機能がある。

PAR 0.970 から PARPAR-Packer に分離した。

簡単な使い方

hello.pl から hello.exe を作成する。

 pp -o hello.exe hello.pl

Tips

自分自身がPARでアーカイブしたものかどうかを調べる。

もし明示的に PAR モジュールを use していない場合、 $INC{'PAR.pm'} が真かどうかをチェックすることで判定できる。 真の場合はPARでアーカイブされたものであるので、PAR::read_file 等を実行してアーカイブの中のファイルにアクセスすることができる。

pp で作成した実行可能ファイルライセンスについて

The Artistic License の下にあるライブラリを使用しているだけであれば、第8条に従い任意のライセンスを設定できる。

(pp のマニュアルより)

関連情報

スポンサード リンク

Related term

2004年7月20日 (火)

PARActivePerl 5.6.1 build 638 に このエントリーを含むはてなブックマーク

昨日 Linux 上で実験してみた PARWindows にも入れてみる。 PDLを使っている関係で ActivePerl は 5.6.1。

@ インストール

ppm install で入るパッケージは古いので、最新のものを入れておく。 ちょっと手間。

ワンライナーを 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::StringGD については依存関係を自動検出できなかったので、それぞれ -M で指定。

できた。動いた。素晴しい。 PDLGD を使っていたのでちょっと不安だったのだがうまく動いて感激。 これでCD-ROMとか USB メモリに入れておいて一発実行とかできる。

スポンサード リンク


[ 7月20日全て ]

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 モジュール(とそれが依存しているライブラリ)のライセンスをチェックしなければならないのだが、これも面倒。


[ 7月21日全て ]

2004年8月11日 (水)

NSISインストーラを作ってみる。 このエントリーを含むはてなブックマーク

NSIS 2.0 を Windows BOX に入れて、プログラムのインストーラを作ってみる。 今まで Windows 用のインストーラを作った経験はなし。

NSISインストールしたディレクトリの下の Examples の中にある NSISスクリプト (.nsi) をコピーして、ちょこちょこっと編集。 エクスプローラでそのファイルを右クリックして出るメニューに 'Compile NSIS Script' というのがあるのでこれを実行するとインストーラが出来上がる。 簡単。

NSISスクリプトはちょっと繁雑だが、複雑な事をしないならば気をつけて編集すれば問題ないか。

wxPerl + PAR + NSIS でそれなりに格好がつくプログラムができそうだ。 コマンドライン用コンパイラもあるので、Makefile.PLから一発でできるようにしたい。


[ 8月11日全て ]

2004年8月19日 (木)

ActivePerl 5.6.1 Build 638 にバンドルされているモジュールとライセンス このエントリーを含むはてなブックマーク

ExtUtils::Installed でリストアップしてチェック。

aActivePerl::DocTools
ActiveState::RelocateTree
aActiveState::Rx
*Archive::Tar
oArchive::Zip
*Compress::Zlib
oData::Dump
*Digest
*Digest::HMAC
*Digest::MD2
*Digest::MD4
*Digest::MD5
*Digest::SHA1
*File::CounterFile
*Font::AFM
*HTML-Tree
*HTML::Parser
*HTML::Tagset
oIO::Zlib
*MD5
*MIME::Base64
*Net (libnet)
*PPM
PPM-Agent-Perl
PPM::Shell
*Perl
*SOAP::Lite
*Storable
oTest::Simple
oText::Autoformat
*Tk
*URI
oUnicode::String
*Win32 (libwin32)
aWin32::AuthenticateUser
*XML::Parser
*XML::Simple
*libwww-perl

'*' は Copyright.html で オリジナルがオープンソースのものとして列挙されているもの。 'o' は列挙されていないが、オリジナルが Perl と同じライセンスThe Artistic License のもの。 'a' は ActiveState の Copyright があるもの (ActiveState Community License)。 それ以外は明記がないもの。

PAR でパッケージ化するには、Perl と同じライセンスの(あるいは再配布の問題のないもの)もののみストールしてある状態にしておき、PAR 化した中身に

が含まれていないかをチェック。


[ 8月19日全て ]

2004年8月22日 (日)

PPM リポジトリ作り このエントリーを含むはてなブックマーク

  • プロジェクトで使う依存モジュール(の特定バージョン)を確保しておく
  • PARを使う際にライセンスの確認をしていないモジュールが入らないようにする
    • そのために、依存関係解決のため自動的に芋蔓式にモジュールが入らないように標準の PPM リポジトリを無効化しておく
  • ビルド/ダウンロードした PPM パッケージを集めてプロジェクト専用の PPM リポジトリを用意する

ということで、もりもりパッケージ化作業。 依存モジュールも含めてそれなりの数になるので、チマチマと作業。


[ 8月22日全て ]

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 の下のファイルをスキャンするスクリプトをつくるかな。


[ 8月24日全て ]

2004年8月25日 (水)

PAR このエントリーを含むはてなブックマーク

  • eval されるモジュール群は Makefile.PL で抽出して、pp の -M オプションで全て指定するように。
  • PAR で実行形式化すると、PDL の slice 呼び出しの結果が lvalue にならなくなってしまった。この間まで PAR しても問題なかったのだが。slice 呼び出しのの結果を一旦一時変数に入れて使うように修正。

[ 8月25日全て ]

2004年9月13日 (月)

Template Toolkit + PAR このエントリーを含むはてなブックマーク

今回のプロジェクトに Template Toolkit を本格的に適用しようかと。 問題となるのは PAR にした時に、どのようにテンプレートを取得するか。 (PARでない場合は)テンプレートはモジュールと同じ位置にインストールしておき @INC から探すようにするつもり。

ということで泥臭いが「起動時に一時ディレクトリに展開してしまう」という方法を選択。 %PAR::LibCache を舐めて拡張子が '.tt2' であるものを、File::Temp で作ったディレクトリに放り込んで、Template の INCLUDE_PATH に指定する (実際には上記の処理を行うオブジェクトを作って INCLUDE_PATH で指定)。 Daemon 系ならこれで充分。

で、順次 Perl モジュールに散財していたHTML出力をテンプレートベースに変更。 コードがかなりすっきりしてきて気持ちいい。

今回の作業で @INC にサブルーチンリファレンスやら、オブジェクトやらを渡せることを初めてしった。実際 PAR で利用している。 CODE の混ざった @INC をそのまま Template の INCLUDE_PATH に渡すとエラーが起きるので除外したものを渡すように。


[ 9月13日全て ]

2004年12月8日 (水)

始めてアイコンを作ってみた。 このエントリーを含むはてなブックマーク

GIMP32x3216x16 のインデックスカラーBMPを作って @icon変換でコンバート favicon.icoへの設定、PARでexe化の際のアイコン設定をしてみる。


[ 12月8日全て ]

2004年12月31日 (金)

私的10大ニュース2004 [ comp ] このエントリーを含むはてなブックマーク

@ cool programs

@ Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

http://www.naney.org/img/2004/X/X2004-03-05-0003.jpg http://www.naney.org/img/2004/X/X2004-03-14-0004.jpg http://www.naney.org/img/2004/X/X2004-04-10-0001.jpg


[ 12月31日全て ]

スポンサード リンク

Related web page

Six Apart - Docs: Mobile Link Discovery 仕様
このページでは XHTML/RSS/Atom においてモバイル版 URL へのリンクをメタデータに埋め込む仕様: Mobile Link Discovery について解説します。 (See English version of this page.) サマリ モバイル端末に最適化されたウェブページをもつサイト(Publisher と呼びます)は、link タグにその URL を以下のように記述します。 &lt;link rel=&quot;alternate&quot; media=&quot;handheld&quot; href=&quot;...&quot; /&gt; こうすると、サ
http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html
Google Map Parameters - Google Mapki
Here&#39;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 r
http://mapki.com/wiki/Google_Map_Parameters
nDiki: PAR::Repository でビルド済み Perl モジュールをネットワーク配信
http://www.naney.org/diki/d/2006-12-12-PAR-Repository.html
PAR モジュール - miau's blog?
ってのは、大雑把に言うと Perl スクリプトを EXE 形式に変換するモジュール。 無駄にインストールに手間取ったんだけど、役に立つこともあるかもしれないのでメモ。 ちなみに環境は ActivePerl 5.8.8.819。 ■CPAN からのインストール(挫折) 普段インターネットに接続できない環境で作業してるので、CPAN から tar.gz を落として自分で make ってのがいつもの流れ。 今回も初めはその方
http://miau.s9.xrea.com/blog/index.php?itemid=561
Six Apart - Tech Talk Blog: 分散ファイルシステム MogileFS について
初登場になります、酒井といいます。 今回は Six A<strong>par</strong>t のサービスで使われている MogileFS というファイルシステムを紹介したいと思います。MogileFS については、日本語の情報はあまり…、というかほとんどない状況ですので参考にしていただければと思います。では早速。。。 MogileFS とは MogileFS とは、Perl で記述されているオープンソースな分散ファイルシステムです。 プロジェ
http://www.sixapart.jp/techtalk/2006/10/dev_mogilefs.html
Free Vector Cliparts
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 like
http://www.ndesign-studio.com/resources/vector-cliparts/
a Black Leaf:台湾実写版北斗の拳 part1 「北斗之拳」
史上最凶の実写版 台湾版北斗の拳 <strong>par</strong>t1 こんばんは、ゲド戦記レビューのお時間です。 ・・・まあウソなんですけど。今回は台湾実写版の北斗の拳をご紹介しようと思うのです。以前当サイトでは、ハリウッド版、韓国版などの実写版北斗の拳を取り上げてまいりましたが、この台湾実写版だけはレビューすることについて躊躇していたため今までご紹介できずにおりました。 な
http://blog.livedoor.jp/textsite/archives/50240306.html
Six Apart - Tech Talk Blog: Movable Type の開発
こんにちは。Movable Type 製品開発チームの吉松です。そのうち登場する真打ちがやたらに深い技術の話をしてくれると思うんで、その前にまずは前座ということで、Movable Typeの開発チームの生態をさらしてみようと思います。 Movable Typeの開発チームは、サンフランシスコの本社にいるプロダクトマネージャ、エンジニア、QAリード、インタラクションデザイナ、および東京オフィス
http://www.sixapart.jp/techtalk/2006/08/movable_type.html
【コラム】あの素晴しいトイをもう一度 第1回 博品館TOY PARK(1) - 銀座のおもちゃ屋さんの意外なお得意様とは? (MYCOMジャーナル)
http://journal.mycom.co.jp/column/toyagain/001/
partman
「ディスク全体を使う」メニューを選ぶと、指定のディスク全体にある既存のパーティション(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)

この日記のはてなブックマーク数 Add to Google RSS

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)