Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jan 2010 11:11:23 GMT
From:      Aliaksandr Zahatski <zahatski@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/143114: [NEW PORT] lang/rakudo The Rakudo Perl 6 Compiler
Message-ID:  <201001231111.o0NBBNlh016864@www.freebsd.org>
Resent-Message-ID: <201001231120.o0NBK1ek062111@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@perl.org\*(C'\fR.  Discussion
X+about Parrot itself generally takes place on \f(CW\*(C`parrot\-porters@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@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@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@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@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@dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6/lib
X@dirrm lib/parrot/%%PARROT_VERSION%%/languages/perl6
X@dirrm lib/parrot/%%PARROT_VERSION%%/languages
X@dirrm lib/parrot/%%PARROT_VERSION%%/dynext
X@dirrm lib/parrot/%%PARROT_VERSION%%
X@dirrm lib/parrot
1db4917ea60f89f251249a62ae2893eb
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001231111.o0NBBNlh016864>