aboutsummaryrefslogtreecommitdiff
path: root/lang/rakudo
diff options
context:
space:
mode:
authorPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-02-05 03:59:25 +0000
committerPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-02-05 03:59:25 +0000
commit31c7d214a2090a9757bf89e27a3804f26b3e9eb7 (patch)
treec8f6322001491f7db8c355dc95bc221c89949c89 /lang/rakudo
parent2089da56bc43da48dd363e408811e7b286885ace (diff)
Notes
Diffstat (limited to 'lang/rakudo')
-rw-r--r--lang/rakudo/Makefile58
-rw-r--r--lang/rakudo/distinfo3
-rw-r--r--lang/rakudo/files/patch-perl6.1218
-rw-r--r--lang/rakudo/pkg-descr5
-rw-r--r--lang/rakudo/pkg-plist13
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