### Language $config := 'Rakudo'; $config := '@version@'; $config := '@release@'; $config := '@codename@'; $config := @lang_rev@; # Though language-revisions key provides more information # can-language-versions is used for speeding up and ordering # Perl6::Compiler.can_langauge_versions method $config := nqp::list(@for_specmods('@lrev_with_mod@', )@); $config := nqp::hash( @perl( # This code is not re-usable, makes no sense to write a dedicated macro for my $rev ( $cfg->raku_revisions ) { my $revision = $rev->[0]; my $pfx = " "; $out .= "$pfx$revision, nqp::hash(\n"; my $require = ''; my $mods = "$pfx 'mods', nqp::hash(\n"; for my $mod ( @$rev[1..$#$rev] ) { $mods .= "$pfx '$mod->[0]', nqp::hash(\n"; if ( $mod->[1]{require} ) { $require = "$pfx 'require', '$mod->[0]',\n"; } for my $flag ( keys %{$mod->[1]} ) { $mods .= "$pfx '$flag', " . ($mod->[1]{$flag} ? "1" : "0") . ",\n" } $mods .= "$pfx ), # modificator $mod->[0]\n"; } $mods .= "$pfx ),\n"; $out .= "$require$mods$pfx), # revision $revision\n"; } )@ ); # This mapping is for quick-transforming of core setting name $config := nqp::hash(@for_revs( 'NULL.@lcspec@', '@if(lcspec==c NULL)@@if(lcspec!=c CORE)@.@lcprevspec@', 'CORE.@lcspec@', 'CORE.@lcspec@',)@ ); ### Location $config := '@prefix@'; $config := '@static_rakudo_home@'; $config := '@source_digest()@';