#!/usr/bin/env bash SRC=~/rakudo-src INSTALL=~/rakudo if [ ! -d $SRC ] then echo "Creating $SRC" mkdir -p $SRC fi rm -rf $INSTALL $SRC/MoarVM $SRC/nqp $SRC/rakudo $SRC/zef cd $SRC git clone email@example.com:MoarVM/MoarVM.git git clone firstname.lastname@example.org:perl6/nqp.git git clone email@example.com:rakudo/rakudo.git git clone firstname.lastname@example.org:ugexe/zef.git #cd $SRC/rakudo/t; pwd #git clone email@example.com:perl6/roast.git spec cd $SRC/MoarVM; pwd perl Configure.pl --prefix $INSTALL && make -j 17 && make install cd $SRC/nqp; pwd perl Configure.pl --backend=moar --prefix=$INSTALL && make -j 17 && make install cd $SRC/rakudo; pwd perl Configure.pl --backend=moar --prefix=$INSTALL && make -j 17 && make install $INSTALL/bin/perl6 -v PATH=$INSTALL/bin:$INSTALL/share/perl6/site/bin:$PATH printf "\nDon't forget to add $INSTALL/bin and $INSTALL/share/perl6/site/bin to your \$PATH\n" cd $SRC/zef; pwd perl6 -I. bin/zef install . zef install Readline zef install TAP::Harness zef install App::Prove6 zef install JSON::Tiny zef install DBIish zef install Log::Async zef install Test::Output
Just in case you're wondering why I rm -rf the source code every time and clone it brand new: it's because the powers that be make breaking changes often enough that I got tired of wondering why my build was failing. There's not a lot of developers using Raku presently, so Googl'ng build errors doesn't usually help and the fix is sometimes rm -rf and re-clone anyway. So yeah :(
Also, don't be surprised if you have to use --force-test to install certain Raku modules. I find myself doing it fairly often.