Еще раз о сборке Perl 6
За несколько лет истории Perl 6 существовали несколько разных компиляторов, которые считались основными в то или иное время. Соответственно, несколько раз менялся и набор инструкций, которые нужно было выполнить, чтобы получить работающий компилятор.
Ракудо, который на сегодня является единственным компилятором, который развивается, недавно входил в состав виртуальной машины Parrot, но теперь находится в собственном репозитории. Процесс сборки в очередной раз изменился, и теперь он состоит из двух шагов: установки parrot, а затем собственно rakudo.
Установка Parrot
svn co https://svn.parrot.org/parrot/trunk/ parrot
cd parrot
perl Configure.pl
make
make install
(Последний шаг необязателен.) После этого будет установлена виртуальная машина:
# parrot -V This is parrot version 0.9.0-devel built for i386-linux. Copyright (C) 2001-2008, The Perl Foundation.
Установка Rakudo
Хотя rakudo и находится в отдельном репозитории, дистрибутив желательно скопировать в каталог parrot/languages (там же находится и каталог perl6, который теперь не потребуется).
cd languages
git clone git://github.com/rakudo/rakudo.git rakudo
cd rakudo
perl Configure.pl
make
В каталоге parrot/languages/rakudo теперь должен появиться файл perl6.pbc — скомпилированный в байт-код компилятор Rakudo. Чтобы запустить интерпретатор Perl 6, нужно передать этот файл на исполнение виртуальной машине:
../../parrot perl6.pbc
Для удобства можно создать командный файл, в который записать нужный вызов (в этом примере parrot находится в каталоге /software/parrot):
cat > /usr/bin/perl6
#!/bin/sh /software/parrot/parrot /software/parrot/languages/rakudo/perl6.pbc "$@"
^D
chmod a+x /usr/bin/perl6
Компилятор собран:
# perl6 -v
This is Rakudo Perl 6, revision 36430 built on parrot 0.9.0-devel for i486-linux-gnu-thread-multi.
# perl6
> .say for 1..3
1
2
3
>