2008年11月22日土曜日

Perl 6(Rakudo Perl)をインストール

Perl 6の実装は複数あり、PugsRakudo Perlが有名である。今回は手もとのLeopardでRakudoを試してみる。

ダウンロード

CPANで最新版のParrotをダウンロードする。MacportsにもParrotはあるが、月一度のリリースに追いついていないのでCPANを使ったほうがよいようだ。

展開

% tar zxvf parrot-0.8.1.tar.gz 
parrot-0.8.1/CREDITS
parrot-0.8.1/ChangeLog
parrot-0.8.1/Configure.pl
parrot-0.8.1/DEPRECATED.pod
parrot-0.8.1/DONORS.pod
parrot-0.8.1/LICENSE
parrot-0.8.1/MANIFEST
parrot-0.8.1/MANIFEST.SKIP
parrot-0.8.1/MANIFEST.generated
parrot-0.8.1/META.yml
parrot-0.8.1/Makefile.PL
parrot-0.8.1/NEWS
parrot-0.8.1/PBC_COMPAT
parrot-0.8.1/PLATFORMS
(略)
parrot-0.8.1/tools/util/templates.json
parrot-0.8.1/tools/util/update_copyright.pl
parrot-0.8.1/xconf/samples/testfoobar
parrot-0.8.1/xconf/samples/yourfoobar
%

コンパイル

LeopardだとXcodeが必要。

% cd parrot-0.8.1
% perl Configure.pl
Parrot Version 0.8.1 Configure 2.0
Copyright (C) 2001-2008, The Perl Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure out
how to build Parrot. The process is completely automated, unless you passed in
the `--ask' flag on the command line, in which case I'll prompt you for a few
pieces of info.
(略)
Okay, we're done!

You can now use `make' to build your Parrot.
After that, you can use `make test' to run the test suite.

Happy Hacking,
The Parrot Team
%
% make
Compiling with:
xx.c
(略)
-L/Users/mint/tmp/parrot-0.8.1/blib/lib -L/Users/mint/tmp/parrot-0.8.1/blib/lib -lparrot -lm -lgmp -lreadline -framework OpenGL -framework GLUT -lcrypto -lintl -undefined dynamic_lookup -L/opt/local/lib
%
% make test
Compiling with:
xx.c
(略)
Test Summary Report
-------------------
t/stm/runtime.t (Wstat: 256 Tests: 5 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=396, Tests=11657, 367 wallclock secs ( 3.43 usr 2.24 sys + 169.59 cusr 70.23 csys = 245.49 CPU)
Result: FAIL
make: *** [test] Error 1
%

失敗するテストもあるが気にしない。

% ./parrot -V
This is parrot version 0.8.1 built for nojit.
Copyright (C) 2001-2008, The Perl Foundation.

This code is distributed under the terms of the Artistic License 2.0.
For more details, see the full text of the license in the LICENSE file
included in the Parrot source tree.

%

コンパイル完了。実行可能なParrotのバイナリができる。

Perl 6をビルドするのは簡単で

% make perl6
make -C compilers/pct
make[1]: Nothing to be done for `all'.
(略)
perl -MExtUtils::Command -e cp languages/perl6/perl6 ./perl6
perl -MExtUtils::Command -e ExtUtils::Command::chmod 0755 ./perl6
./perl6 -e"say 'Hello, world.'"
Hello, world.
%

こうするとperl 6のバイナリもできる。最後のところで「Hello, world」を実際にPerl 6で実行している。

「make reallyinstall」をすると/usr/localにParrotがインストールされる(perl6は自動でインストールされない)が、遊んでみるだけなら自分の作業ディレクトリで十分である。

関連記事

0 件のコメント:

コメントを投稿