ActivePerl 5.12 が出たみたいなので PAR::Packer のインストールをクリーンインストールから試してみた。5.10 の時はこんな感じでごく簡単に終了したのだが……。
PARでPerlスクリプトをexe化 @ ActivePerl 5.10.1 build 1007
https://blog.delphinus.dev/2010/02/par-activeperl-5101-build-1007.html
今回もまずは必要モジュールを先にインストールする。以下の 6 つだ。
Module::ScanDepsWin32::ExeParse::BinaryGetopt::ArgvfilePARPAR::Dist
そしていよいよ PAR::Packer……なのだが、これはうまくいかない。
5.12 の PPM レポジトリにはまだ dmake 及び MinGW がリリースされておらず、コンパイルが出来ないのだ。しょうがないので、5.10 の時に使ったパッケージを無理矢理インストールする。
dmake のインストール
ダウンロード
以下のサイトから探してダウンロードした。
ActiveState PPM
The DC…DY Packages
開くのに数分かかる。注意!
http://ppm4.activestate.com/idx/DC…DY.html
dmakeのパッケージ
http://ppm4.activestate.com/MSWin32-x86/5.10/1000/MinGW/dmake-4.11.20080107.ppmx
解凍 & 書き換え
このファイルの拡張子を tar.gz に書き換えて解凍1。すると、dmake-4.11.20080107 フォルダ内に dmake-4.11.20080107.ppd というファイルが現れる。このファイルに Perl 5.12 用の設定を書き足す。
*** dmake-4.11.20080107.ppd.orig 2010-04-19 15:16:28.255610300 +0900
--- dmake-4.11.20080107.ppd 2010-04-19 15:16:38.958803800 +0900
***************
*** 9,13 ****
--- 9,17 ----
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10"/>
<CODEBASE HREF="dmake-4.11.20080107.tar.gz"/>
</IMPLEMENTATION>
+ <IMPLEMENTATION>
+ <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.12"/>
+ <CODEBASE HREF="dmake-4.11.20080107.tar.gz"/>
+ </IMPLEMENTATION>
<PROVIDE NAME="dmake" VERSION="4.11.20080107"/>
</SOFTPKG>
圧縮 & インストール
元からあったファイルを圧縮して dmake-4.11.20080107**.tar.gz** というファイルを作成する2。このファイルの拡張子を .ppmx に変更し、ppm コマンドを使ってインストールする。
C:\> ppm install dmake-4.11-20080107.ppmx Unpacking dmake-4.11.20080107...done Generating HTML for dmake-4.11.20080107...done Updating files in site area...done 130 files installed
MinGW のインストール
手順は dmake の時と同じだ。
ActiveState PPM
The MC…MM Packages
http://ppm4.activestate.com/idx/MC…MM.html
MinGWのパッケージ
http://ppm4.activestate.com/MSWin32-x86/5.10/1000/-/–/MINGW/MinGW-5.1.4.1.ppmx
*** MinGW-5.1.4.1.ppd.orig 2010-04-19 14:47:57.977384700 +0900
--- MinGW-5.1.4.1.ppd 2010-04-19 14:48:08.727453500 +0900
***************
*** 9,14 ****
--- 9,18 ----
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10"/>
<CODEBASE HREF="MinGW-5.1.4.1.tar.gz"/>
</IMPLEMENTATION>
+ <IMPLEMENTATION>
+ <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.12"/>
+ <CODEBASE HREF="MinGW-5.1.4.1.tar.gz"/>
+ </IMPLEMENTATION>
<PROVIDE NAME="MinGW" VERSION="5.1.4.1"/>
<REQUIRE NAME="dmake"/>
</SOFTPKG>
C:\> ppm install MinGW-5.1.4.1.ppmx Unpacking MinGW-5.1.4.1...done Generating HTML for MinGW-5.1.4.1...done Updating files in site area...done 940 files installed
PAR::Packer のインストール
これで準備完了だ。cpan コマンドを使って PAR::Packer をインストールしよう。
C:\> cpan -fi PAR::Packer
例によって make test には失敗するので -f (--force) オプションを付けている。これでインストールが完了した。
使用例
C:\> pp -o a.exe -e "print qq:Hello, World!\n:" Set up gcc environment - 3.4.5 (mingw-vista special r3) Set up gcc environment - 3.4.5 (mingw-vista special r3) Copyright (C) 2004 Free Software Foundation, Inc. ~以下略~ C:\> a Hello, World! C:\>

ActivePerl 5.12.1 で PAR::Packer をバッチインストール
下記の記事を読んで久しぶりにActivePerlを触ってみたくなりました。 ActivePerl 5.12 で PAR::Packer をインストール…