ports/143114: [NEW PORT] lang/rakudo The Rakudo Perl 6 Compiler
Aliaksandr Zahatski
zahatski at gmail.com
Sat Jan 23 11:20:02 UTC 2010
>Number: 143114
>Category: ports
>Synopsis: [NEW PORT] lang/rakudo The Rakudo Perl 6 Compiler
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Jan 23 11:20:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Aliaksandr Zahatski
>Release:
>Organization:
>Environment:
>Description:
Rakudo is the Perl 6 implementation based on the Parrot VM.
Previos "[new port] lang/rakudo The Rakudo Perl 6 Compiler" PR ports/130629 is out of date.
This port requires lang/parrot 2.0.0 which is provided in the PR ports/143011.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# rakudo
# rakudo/files
# rakudo/files/patch-perl6.1
# rakudo/distinfo
# rakudo/pkg-descr
# rakudo/Makefile
# rakudo/pkg-plist
#
echo c - rakudo
mkdir -p rakudo > /dev/null 2>&1
echo c - rakudo/files
mkdir -p rakudo/files > /dev/null 2>&1
echo x - rakudo/files/patch-perl6.1
sed 's/^X//' >rakudo/files/patch-perl6.1 << '45e7595e24e66860f0596539f768e9b7'
X--- perl6.1 1970-01-01 03:00:00.000000000 +0300
X+++ perl6.man 2009-01-15 11:22:55.000000000 +0300
X@@ -0,0 +1,215 @@
X+Manifying
X+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.35
X+.\"
X+.\" Standard preamble:
X+.\" ========================================================================
X+.de Sh \" Subsection heading
X+.br
X+.if t .Sp
X+.ne 5
X+.PP
X+\fB\\$1\fR
X+.PP
X+..
X+.de Sp \" Vertical space (when we can't use .PP)
X+.if t .sp .5v
X+.if n .sp
X+..
X+.de Vb \" Begin verbatim text
X+.ft CW
X+.nf
X+.ne \\$1
X+..
X+.de Ve \" End verbatim text
X+.ft R
X+.fi
X+..
X+.\" Set up some character translations and predefined strings. \*(-- will
X+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
X+.\" double quote, and \*(R" will give a right double quote. | will give a
X+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
X+.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
X+.\" expand to `' in nroff, nothing in troff, for use with C<>.
X+.tr \(*W-|\(bv\*(Tr
X+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
X+.ie n \{\
X+. ds -- \(*W-
X+. ds PI pi
X+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
X+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
X+. ds L" ""
X+. ds R" ""
X+. ds C` ""
X+. ds C' ""
X+'br\}
X+.el\{\
X+. ds -- \|\(em\|
X+. ds PI \(*p
X+. ds L" ``
X+. ds R" ''
X+'br\}
X+.\"
X+.\" If the F register is turned on, we'll generate index entries on stderr for
X+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
X+.\" entries marked with X<> in POD. Of course, you'll have to process the
X+.\" output yourself in some meaningful fashion.
X+.if \nF \{\
X+. de IX
X+. tm Index:\\$1\t\\n%\t"\\$2"
X+..
X+. nr % 0
X+. rr F
X+.\}
X+.\"
X+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
X+.\" way too many mistakes in technical documents.
X+.hy 0
X+.if n .na
X+.\"
X+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
X+.\" Fear. Run. Save yourself. No user-serviceable parts.
X+. \" fudge factors for nroff and troff
X+.if n \{\
X+. ds #H 0
X+. ds #V .8m
X+. ds #F .3m
X+. ds #[ \f1
X+. ds #] \fP
X+.\}
X+.if t \{\
X+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
X+. ds #V .6m
X+. ds #F 0
X+. ds #[ \&
X+. ds #] \&
X+.\}
X+. \" simple accents for nroff and troff
X+.if n \{\
X+. ds ' \&
X+. ds ` \&
X+. ds ^ \&
X+. ds , \&
X+. ds ~ ~
X+. ds /
X+.\}
X+.if t \{\
X+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
X+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
X+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
X+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
X+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
X+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
X+.\}
X+. \" troff and (daisy-wheel) nroff accents
X+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
X+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
X+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
X+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
X+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
X+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
X+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
X+.ds ae a\h'-(\w'a'u*4/10)'e
X+.ds Ae A\h'-(\w'A'u*4/10)'E
X+. \" corrections for vroff
X+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
X+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
X+. \" for low resolution devices (crt and lpr)
X+.if \n(.H>23 .if \n(.V>19 \
X+\{\
X+. ds : e
X+. ds 8 ss
X+. ds o a
X+. ds d- d\h'-1'\(ga
X+. ds D- D\h'-1'\(hy
X+. ds th \o'bp'
X+. ds Th \o'LP'
X+. ds ae ae
X+. ds Ae AE
X+.\}
X+.rm #[ #] #H #V #F C
X+.\" ========================================================================
X+.\"
X+.IX Title "PERL6 1"
X+.TH PERL6 1 "2009-01-15" "perl v5.8.8" "User Contributed Perl Documentation"
X+.SH "NAME"
X+The Rakudo Perl 6 Compiler targets the Parrot Virtual Machine
X+.SH "SYNOPSIS"
X+.IX Header "SYNOPSIS"
X+.Vb 1
X+\& perl6 [switches] [--] [programfile] [arguments]
X+.Ve
X+.PP
X+.Vb 1
X+\& perl6 -e 'say "Hello World !"'
X+.Ve
X+.SH "DESCRIPTION"
X+.IX Header "DESCRIPTION"
X+This is the Perl 6 compiler for Parrot, called \*(L"Rakudo Perl 6\*(R",
X+or \*(L"Rakudo\*(R" for short. It's still fairly primitive, but it is rapidly expanding.
X+See \*(L"\s-1STATUS\s0\*(R" in docs for a list of what has been implemented thus far.
X+.PP
X+The following options are available:
X+.PP
X+.Vb 8
X+\& -c check syntax only (runs BEGIN and CHECK blocks)
X+\& -e program one line of program
X+\& -h, --help display this help text
X+\& --target=[stage] specify compilation stage to emit
X+\& -t, --trace=[flags] enable trace flags
X+\& --encoding=[mode] specify string encoding mode
X+\& -o, --output=[name] specify name of output file
X+\& -v, --version display version information
X+.Ve
X+.Sh "Where to get help or answers to questions"
X+.IX Subsection "Where to get help or answers to questions"
X+There are several mailing lists, \s-1IRC\s0 channels, and wikis available
X+with help for Perl 6 and Rakudo on Parrot. Figuring out the right
X+one to use is often the biggest battle. Here are some rough
X+guidelines:
X+.PP
X+If you have a question about Perl 6 syntax or the right way to
X+approach a problem using Perl 6, you probably want the
X+\&\f(CW\*(C`perl6\-users at perl.org\*(C'\fR mailing list. This list is primarily
X+for the people who want to \fIuse\fR Perl 6 to write programs, as
X+opposed to those who are implementing or developing the Perl 6
X+language itself.
X+.PP
X+Questions about the Rakudo compiler for Parrot and the Parrot
X+compiler tools can go to \f(CW\*(C`perl6\-compiler at perl.org\*(C'\fR. Discussion
X+about Parrot itself generally takes place on \f(CW\*(C`parrot\-porters at perl.org\*(C'\fR.
X+.PP
X+The Parrot and Rakudo development team tend to hang out on \s-1IRC\s0 a fair
X+bit, either on \f(CW\*(C`irc.perl.org/#parrot\*(C'\fR or \f(CW\*(C`irc.freenode.net/#perl6\*(C'\fR.
X+.PP
X+There are also Perl 6 and Parrot wikis, found at <http://www.perlfoundation.org/perl6/index.cgi>
X+<http://www.perlfoundation.org/parrot/index.cgi>
X+.PP
X+There is also a Rakudo related blog at <http://rakudo.org/>, and
X+a Parrot blog at <http://parrotblog.org/>.
X+.Sh "Reporting bugs"
X+.IX Subsection "Reporting bugs"
X+Common things that are known to have problems or not work in Rakudo
X+<http://www.perlfoundation.org/perl6/index.cgi?rakudo_feature_status>
X+.PP
X+Bug reports should be sent to \f(CW\*(C`rakudobug at perl.org\*(C'\fR with the moniker
X+[\s-1BUG\s0] (including the brackets) at the start of the subject so that
X+it gets appropriately tagged in the \s-1RT\s0 system (https://rt.perl.org/rt3/).
X+Please include or attach any sample source code that exhibits the
X+bug, and if appropriate identify the svn revision number of the code
X+that you're working from. There's no need to cc: the perl6\-compiler
X+mailing list, as the \s-1RT\s0 system will handle this on its own.
X+.Sh "Submitting patches"
X+.IX Subsection "Submitting patches"
X+If you have a patch that fixes a bug or adds a new feature, please
X+submit it to \f(CW\*(C`rakudobug at perl.org\*(C'\fR with the moniker [\s-1PATCH\s0]
X+(including the brackets) at the start of the subject line. We'll
X+generally accept patches in any form if we can get them to work,
X+but unified diff from the svn command is greatly preferred. In
X+general this means you can execute \*(L"svn diff >foo.patch\*(R" from
X+the languages/perl6/ directory and just attach the foo.patch file.
X+.SH "ENVIRONMENT"
X+.IX Header "ENVIRONMENT"
X+The following environment variables affect the execution of perl6:
X+.IP "\s-1PERL6LIB\s0" 4
X+.IX Item "PERL6LIB"
X+A list of directories in which to look for Perl6 libraries
45e7595e24e66860f0596539f768e9b7
echo x - rakudo/distinfo
sed 's/^X//' >rakudo/distinfo << '91cd0a08a478cf4a6978a24f7e62e2a8'
XMD5 (rakudo-2010-01.tar.gz) = 6fc9ad315e93adbe35f9f7b7711b00c3
XSHA256 (rakudo-2010-01.tar.gz) = 0a19288e2de9ce1284bd11fe6a469347f30bfcfef2225146d1e21cab0e5b8ae0
XSIZE (rakudo-2010-01.tar.gz) = 780386
91cd0a08a478cf4a6978a24f7e62e2a8
echo x - rakudo/pkg-descr
sed 's/^X//' >rakudo/pkg-descr << '537a1863962cc03bcd7f69c31b46ba44'
XRakudo is the Perl 6 implementation based on the Parrot VM.
X
Xhttp://www.perlfoundation.org/perl6/index.cgi
X
XWWW: http://rakudo.org/
537a1863962cc03bcd7f69c31b46ba44
echo x - rakudo/Makefile
sed 's/^X//' >rakudo/Makefile << '82aaa5e7325d08845cdc8ec3bc85e55b'
X# New ports collection makefile for: rakudo
X# Date created: 15 March 2009
X# Whom: Aliaksandr Zahatski <zahatski at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= rakudo
XPORTVERSION= 201001
XCATEGORIES= lang
XMASTER_SITES= http://cloud.github.com/downloads/rakudo/rakudo/
XDISTNAME= rakudo-2010-01
X
XMAINTAINER= zahatski at gmail.com
XCOMMENT= The Rakudo Perl 6 Compiler targets the Parrot Virtual Machine
X
XBUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4 \
X bison:${PORTSDIR}/devel/bison \
X ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \
X parrot_config:${PORTSDIR}/lang/parrot
XLIB_DEPENDS= gmp.8:${PORTSDIR}/math/libgmp4 \
X icudata:${PORTSDIR}/devel/icu
X
XUSE_BISON= build
XUSE_PERL5= 5.8.0+
XUSE_GMAKE= yes
X
XUSE_LDCONFIG= yes
XINSTALL_TARGET= install
X
XCONFLICTS= rakudo-devel-[0-9]
X
XMAN1= perl6.1
XMANCOMPRESSED= no
X
XPARROTCONFIG?=${PREFIX}/bin/parrot_config
XCONFIGURE_SCRIPT= Configure.pl
XCONFIGURE_ARGS= --parrot-config=${PARROTCONFIG}
XPLIST_SUB+= PARROT_VERSION=${PARROT_VERSION}
X
Xdo-configure:
X cd ${WRKSRC} && ${PERL} ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
X
Xpost-install:
X ${INSTALL_MAN} ${WRKSRC}/perl6.1 ${PREFIX}/man/man1/perl6.1
X
Xx-generate-plist:
X (${PORTSDIR}/Tools/scripts/plist -d -m ${MTREE_FILE} ${PREFIX} \
X | ${SED} -E \
X 's,.*share/nls/.+$$,,g \
X ;s,${PARROT_VERSION}(/.+)?$$,%%PARROT_VERSION%%\1,g \
X ' | ${TR} -s '\n') > temp-pkg-plist
X
X.include "${.CURDIR}/../parrot/Makefile.common"
X
X.include <bsd.port.pre.mk>
X
X.include <bsd.port.post.mk>
82aaa5e7325d08845cdc8ec3bc85e55b
echo x - rakudo/pkg-plist
sed 's/^X//' >rakudo/pkg-plist << '1db4917ea60f89f251249a62ae2893eb'
Xbin/perl6
Xlib/parrot/%%PARROT_VERSION%%/dynext/perl6_group.so
Xlib/parrot/%%PARROT_VERSION%%/dynext/perl6_ops.so
Xlib/parrot/%%PARROT_VERSION%%/dynext/perl6_ops_switch.so
Xlib/parrot/%%PARROT_VERSION%%/languages/perl6/lib/Safe.pm
Xlib/parrot/%%PARROT_VERSION%%/languages/perl6/lib/Test.pm
Xlib/parrot/%%PARROT_VERSION%%/languages/perl6/perl6.pbc
X at dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6/lib
X at dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6
X at dirrm lib/parrot/%%PARROT_VERSION%%/languages
X at dirrm lib/parrot/%%PARROT_VERSION%%/dynext
X at dirrm lib/parrot/%%PARROT_VERSION%%
X at dirrm lib/parrot
1db4917ea60f89f251249a62ae2893eb
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list