diff options
author | Philip M. Gollucci <pgollucci@FreeBSD.org> | 2010-02-05 03:59:25 +0000 |
---|---|---|
committer | Philip M. Gollucci <pgollucci@FreeBSD.org> | 2010-02-05 03:59:25 +0000 |
commit | 31c7d214a2090a9757bf89e27a3804f26b3e9eb7 (patch) | |
tree | c8f6322001491f7db8c355dc95bc221c89949c89 /lang/rakudo | |
parent | 2089da56bc43da48dd363e408811e7b286885ace (diff) |
Notes
Diffstat (limited to 'lang/rakudo')
-rw-r--r-- | lang/rakudo/Makefile | 58 | ||||
-rw-r--r-- | lang/rakudo/distinfo | 3 | ||||
-rw-r--r-- | lang/rakudo/files/patch-perl6.1 | 218 | ||||
-rw-r--r-- | lang/rakudo/pkg-descr | 5 | ||||
-rw-r--r-- | lang/rakudo/pkg-plist | 13 |
5 files changed, 297 insertions, 0 deletions
diff --git a/lang/rakudo/Makefile b/lang/rakudo/Makefile new file mode 100644 index 000000000000..f0afc0512c64 --- /dev/null +++ b/lang/rakudo/Makefile @@ -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> diff --git a/lang/rakudo/distinfo b/lang/rakudo/distinfo new file mode 100644 index 000000000000..d010937ef321 --- /dev/null +++ b/lang/rakudo/distinfo @@ -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 diff --git a/lang/rakudo/files/patch-perl6.1 b/lang/rakudo/files/patch-perl6.1 new file mode 100644 index 000000000000..61d8a42f1219 --- /dev/null +++ b/lang/rakudo/files/patch-perl6.1 @@ -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 diff --git a/lang/rakudo/pkg-descr b/lang/rakudo/pkg-descr new file mode 100644 index 000000000000..07eec84969b0 --- /dev/null +++ b/lang/rakudo/pkg-descr @@ -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/ diff --git a/lang/rakudo/pkg-plist b/lang/rakudo/pkg-plist new file mode 100644 index 000000000000..3e72239db6d5 --- /dev/null +++ b/lang/rakudo/pkg-plist @@ -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 |