1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

Rakudo is the Perl 6 implementation based on the Parrot VM.

http://www.perlfoundation.org/perl6/index.cgi

WWW: http://rakudo.org/

PR:		ports/143114
Submitted by:	Aliaksandr Zahatski <zahatski at gmail.com> (maintainer)
This commit is contained in:
Philip M. Gollucci 2010-02-05 03:59:25 +00:00
parent 2089da56bc
commit 31c7d214a2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=249265
6 changed files with 298 additions and 0 deletions

View File

@ -275,6 +275,7 @@
SUBDIR += q
SUBDIR += qore
SUBDIR += qscheme
SUBDIR += rakudo
SUBDIR += ratfor
SUBDIR += rexx-imc
SUBDIR += rexx-regina

58
lang/rakudo/Makefile Normal file
View File

@ -0,0 +1,58 @@
# New ports collection makefile for: rakudo
# Date created: 15 March 2009
# Whom: Aliaksandr Zahatski <zahatski@gmail.com>
#
# $FreeBSD$
#
PORTNAME= rakudo
PORTVERSION= 201001
CATEGORIES= lang
MASTER_SITES= http://cloud.github.com/downloads/rakudo/rakudo/
DISTNAME= rakudo-2010-01
MAINTAINER= perl@FreeBSD.org
COMMENT= The Rakudo Perl 6 Compiler targets the Parrot Virtual Machine
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
bison:${PORTSDIR}/devel/bison \
${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \
parrot_config:${PORTSDIR}/lang/parrot
LIB_DEPENDS= gmp.8:${PORTSDIR}/math/libgmp4 \
icudata:${PORTSDIR}/devel/icu
USE_BISON= build
USE_PERL5= 5.8.0+
USE_GMAKE= yes
USE_LDCONFIG= yes
INSTALL_TARGET= install
CONFLICTS= rakudo-devel-[0-9]
MAN1= perl6.1
MANCOMPRESSED= no
PARROTCONFIG?=${PREFIX}/bin/parrot_config
CONFIGURE_SCRIPT= Configure.pl
CONFIGURE_ARGS= --parrot-config=${PARROTCONFIG}
PLIST_SUB+= PARROT_VERSION=${PARROT_VERSION}
do-configure:
cd ${WRKSRC} && ${PERL} ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
post-install:
${INSTALL_MAN} ${WRKSRC}/perl6.1 ${PREFIX}/man/man1/perl6.1
x-generate-plist:
(${PORTSDIR}/Tools/scripts/plist -d -m ${MTREE_FILE} ${PREFIX} \
| ${SED} -E \
's,.*share/nls/.+$$,,g \
;s,${PARROT_VERSION}(/.+)?$$,%%PARROT_VERSION%%\1,g \
' | ${TR} -s '\n') > temp-pkg-plist
.include "${.CURDIR}/../parrot/Makefile.common"
.include <bsd.port.pre.mk>
.include <bsd.port.post.mk>

3
lang/rakudo/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (rakudo-2010-01.tar.gz) = 6fc9ad315e93adbe35f9f7b7711b00c3
SHA256 (rakudo-2010-01.tar.gz) = 0a19288e2de9ce1284bd11fe6a469347f30bfcfef2225146d1e21cab0e5b8ae0
SIZE (rakudo-2010-01.tar.gz) = 780386

View File

@ -0,0 +1,218 @@
--- perl6.1 1970-01-01 03:00:00.000000000 +0300
+++ perl6.man 2009-01-15 11:22:55.000000000 +0300
@@ -0,0 +1,215 @@
+Manifying
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PERL6 1"
+.TH PERL6 1 "2009-01-15" "perl v5.8.8" "User Contributed Perl Documentation"
+.SH "NAME"
+The Rakudo Perl 6 Compiler targets the Parrot Virtual Machine
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& perl6 [switches] [--] [programfile] [arguments]
+.Ve
+.PP
+.Vb 1
+\& perl6 -e 'say "Hello World !"'
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This is the Perl 6 compiler for Parrot, called \*(L"Rakudo Perl 6\*(R",
+or \*(L"Rakudo\*(R" for short. It's still fairly primitive, but it is rapidly expanding.
+See \*(L"\s-1STATUS\s0\*(R" in docs for a list of what has been implemented thus far.
+.PP
+The following options are available:
+.PP
+.Vb 8
+\& -c check syntax only (runs BEGIN and CHECK blocks)
+\& -e program one line of program
+\& -h, --help display this help text
+\& --target=[stage] specify compilation stage to emit
+\& -t, --trace=[flags] enable trace flags
+\& --encoding=[mode] specify string encoding mode
+\& -o, --output=[name] specify name of output file
+\& -v, --version display version information
+.Ve
+.Sh "Where to get help or answers to questions"
+.IX Subsection "Where to get help or answers to questions"
+There are several mailing lists, \s-1IRC\s0 channels, and wikis available
+with help for Perl 6 and Rakudo on Parrot. Figuring out the right
+one to use is often the biggest battle. Here are some rough
+guidelines:
+.PP
+If you have a question about Perl 6 syntax or the right way to
+approach a problem using Perl 6, you probably want the
+\&\f(CW\*(C`perl6\-users@perl.org\*(C'\fR mailing list. This list is primarily
+for the people who want to \fIuse\fR Perl 6 to write programs, as
+opposed to those who are implementing or developing the Perl 6
+language itself.
+.PP
+Questions about the Rakudo compiler for Parrot and the Parrot
+compiler tools can go to \f(CW\*(C`perl6\-compiler@perl.org\*(C'\fR. Discussion
+about Parrot itself generally takes place on \f(CW\*(C`parrot\-porters@perl.org\*(C'\fR.
+.PP
+The Parrot and Rakudo development team tend to hang out on \s-1IRC\s0 a fair
+bit, either on \f(CW\*(C`irc.perl.org/#parrot\*(C'\fR or \f(CW\*(C`irc.freenode.net/#perl6\*(C'\fR.
+.PP
+There are also Perl 6 and Parrot wikis, found at <http://www.perlfoundation.org/perl6/index.cgi>
+<http://www.perlfoundation.org/parrot/index.cgi>
+.PP
+There is also a Rakudo related blog at <http://rakudo.org/>, and
+a Parrot blog at <http://parrotblog.org/>.
+.Sh "Reporting bugs"
+.IX Subsection "Reporting bugs"
+Common things that are known to have problems or not work in Rakudo
+<http://www.perlfoundation.org/perl6/index.cgi?rakudo_feature_status>
+.PP
+Bug reports should be sent to \f(CW\*(C`rakudobug@perl.org\*(C'\fR with the moniker
+[\s-1BUG\s0] (including the brackets) at the start of the subject so that
+it gets appropriately tagged in the \s-1RT\s0 system (https://rt.perl.org/rt3/).
+Please include or attach any sample source code that exhibits the
+bug, and if appropriate identify the svn revision number of the code
+that you're working from. There's no need to cc: the perl6\-compiler
+mailing list, as the \s-1RT\s0 system will handle this on its own.
+.Sh "Submitting patches"
+.IX Subsection "Submitting patches"
+If you have a patch that fixes a bug or adds a new feature, please
+submit it to \f(CW\*(C`rakudobug@perl.org\*(C'\fR with the moniker [\s-1PATCH\s0]
+(including the brackets) at the start of the subject line. We'll
+generally accept patches in any form if we can get them to work,
+but unified diff from the svn command is greatly preferred. In
+general this means you can execute \*(L"svn diff >foo.patch\*(R" from
+the languages/perl6/ directory and just attach the foo.patch file.
+.SH "ENVIRONMENT"
+.IX Header "ENVIRONMENT"
+The following environment variables affect the execution of perl6:
+.IP "\s-1PERL6LIB\s0" 4
+.IX Item "PERL6LIB"
+A list of directories in which to look for Perl6 libraries

5
lang/rakudo/pkg-descr Normal file
View File

@ -0,0 +1,5 @@
Rakudo is the Perl 6 implementation based on the Parrot VM.
http://www.perlfoundation.org/perl6/index.cgi
WWW: http://rakudo.org/

13
lang/rakudo/pkg-plist Normal file
View File

@ -0,0 +1,13 @@
bin/perl6
lib/parrot/%%PARROT_VERSION%%/dynext/perl6_group.so
lib/parrot/%%PARROT_VERSION%%/dynext/perl6_ops.so
lib/parrot/%%PARROT_VERSION%%/dynext/perl6_ops_switch.so
lib/parrot/%%PARROT_VERSION%%/languages/perl6/lib/Safe.pm
lib/parrot/%%PARROT_VERSION%%/languages/perl6/lib/Test.pm
lib/parrot/%%PARROT_VERSION%%/languages/perl6/perl6.pbc
@dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6/lib
@dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6
@dirrm lib/parrot/%%PARROT_VERSION%%/languages
@dirrm lib/parrot/%%PARROT_VERSION%%/dynext
@dirrm lib/parrot/%%PARROT_VERSION%%
@dirrm lib/parrot