YAPC::Asiaで魅了されたPugsの世界。鉄は熱いうちに打てってことで早速手元のFC4にインストールしてみました。

Haskellのインストール

PugsをコンパイルするにはHaskellコンパイラとプラグインをインストール必要があります。
The Glasgow Haskell Compiler

でも面倒なのでFedoraでyumる方法もあります。
Fedora Haskell

/etc/yum.repos.d/haskell.repo
[haskell-stable]
name=Haskell Packages (stable)
baseurl=http://haskell.org/fedora/haskell/$releasever/$basearch
gpgkey=http://haskell.org/fedora/RPM-GPG-KEY
gpgcheck=1
$ yum install ghc
$ yum install hs-plugins-641

Parrotのインストール

Parrotをembedさせる場合はParrotをインストールします。
Parrot Virtual Machine - parrotcode

$ tar xzf parrot-0.4.2.tar.gz
$ cd parrot-0.4.2
$ perl ./Configure.pl
$ make
$ make test
$ make install

Parrotのライブラリは/usr/local/libにインストールされるのでFedoraの場合ライブラリパスに/usr/local/libを通す必要があります。

/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
$ /sbin/ldconfig

Pugsのインストール

いよいよPugsのインスールします。

☺唐鳳☻ / Perl6-Pugs-6.2.11

Perl5とParrotをembedさせるため環境変数をセットします。

$ export PUGS_EMBED=perl5,parrot
$ export PARROT_PATH=/usr/local/src/parrot-0.4.2

Perl5だけをembedさせるには

$ export PUGS_EMBED=perl5

ただ、INSTALLを読むと

Parrot is used to provide Perl6-style regular expressions.
Perl5-style regular expressions (eg, rx:perl5/foo/) can be used
without any parrot at all. Pugs can be built to use parrot external
(the default), or embedded. External is recommended.

ってことなので今回はPerl5だけembedさせました。

Pugsをコンパイルします。

$ perl Makefile.PL
$ make

...

<built-in>:0:1: lexical error
Build failed: 256 at util/build_pugs.pl line 86.
make: *** [pugs] エラー 2

あうち。

そんな時は

$ export LANG=C

で幸せになれます。

再度

$ make

ちなみに猛烈に時間がかかるので、せっかちな人は

$ make unoptimized

で、パフォーマンスは落ちるものの、コンパイルは早く終わるようです。

無事終了したら

$ make test

testの方が時間かかったりします。
ひたすら待った挙句

Failed Test                       Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/rules/from_perl6_rules/litvar.t               29    1   3.45%  3
t/unspecced/times.t                              5    1  20.00%  5
 (5 subtests UNEXPECTEDLY SUCCEEDED) (1434 subtests TODO), 1155 subtests skipped.
Failed 2/506 test scripts, 99.60% okay. 2/9076 subtests failed, 99.98% okay.
make: *** [test_dynamic] Error 255

あうち。

まぁtest自体にTODOが多いってことで今回は気にせず

$ make install

何か動かしてみます。

$ pugs -e "{ 'Hello, ', @^x}.('World').say"
Hello, World

感動。(T T)

これから色々試してみたいと思います。

ちなみに、コンパイルを待っている間、ネットをふらふらしてたら

404 Not Found : Bugs Manifesto
本日をもって、PugsおよびParrotは、Bugにに統合されることが決定しました。

コンパイルの待ち時間は何だったんだ・・・と、一瞬ヒヤッとしましたが、そ~ゆ~ことですね。

              

              

トラックバック(1)

トラックバックURL: http://mt.hide-k.net/mt-tb.cgi/440

コメントする

プロフィール

このブログ記事について

このページは、hideが2006年4月 2日 05:04に書いたブログ記事です。

ひとつ前のブログ記事は「ヤクルト - 阪神」です。

次のブログ記事は「Fedora Core 5 でmt-daapdを動かしてみる」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。