Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jan 2009 18:19:55 GMT
From:      Aliaksandr Zahatski <zahatski@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/130629: [new port] lang/rakudo  The Rakudo Perl 6 Compiler
Message-ID:  <200901161819.n0GIJtfU035155@www.freebsd.org>
Resent-Message-ID: <200901161830.n0GIU1tI053747@freefall.freebsd.org>

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

>Number:         130629
>Category:       ports
>Synopsis:       [new port] lang/rakudo  The Rakudo Perl 6 Compiler
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 16 18:30:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Aliaksandr Zahatski
>Release:        
>Organization:
>Environment:
>Description:
Rakudo is the Perl 6 implementation based on the Parrot VM.
>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/Makefile
#	rakudo/distinfo
#	rakudo/pkg-descr
#	rakudo/pkg-plist
#	rakudo/files
#	rakudo/files/patch-perl6.1
#
echo c - rakudo
mkdir -p rakudo > /dev/null 2>&1
echo x - rakudo/Makefile
sed 's/^X//' >rakudo/Makefile << '82aaa5e7325d08845cdc8ec3bc85e55b'
X# New ports collection makefile for:	parrot
X# Date created:	   14 January 2009
X# Whom:		   Aliaksandr Zahatski <zahatski@gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	rakudo
XPORTVERSION=	0.8.1.20081111
XCATEGORIES=	lang
XMASTER_SITES=	CPAN
XMASTER_SITE_SUBDIR=	../../authors/id/C/CH/CHROMATIC
XDISTNAME=      parrot-0.8.1
X
XMAINTAINER=	ports@freebsd.org
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
XLIB_DEPENDS=	gmp.7:${PORTSDIR}/math/libgmp4 \
X		icudata:${PORTSDIR}/devel/icu
X
XUSE_BISON=	build
XUSE_PERL5=	5.8.0+
XUSE_GMAKE=	yes
X
XUSE_LDCONFIG=	${PREFIX}/lib/rakudo
X
XALL_TARGET= 	./perl6
XPARROT_VERSION= 0.8.1
XSHLIB_VER=	${PARROT_VERSION}
X
XCONFIGURE_SCRIPT=	Configure.pl
XCONFIGURE_ARGS=	--cc=${CC} --cxx=${CXX} --ld=${CC} --ccflags="${CFLAGS}" \
X		--ldflags="${LDFLAGS} -L/usr/lib -L${LOCALBASE}/lib" \
X		--icu-config=${LOCALBASE}/bin/icu-config \
X		--optimize --parrot_is_shared \
X		--lex=${LOCALBASE}/bin/flex \
X		--yacc=${LOCALBASE}/bin/bison \
X		--languages="perl6" \
X		--verbose \
X		--prefix=${PREFIX}
X
XLDCONFIG_DIRS=  %%PREFIX%%/lib/rakudo
X
XPLIST_SUB+=     SHLIB_VER="${SHLIB_VER}"
XMAN1=		perl6.1
XMANCOMPRESSED= no
X
Xdo-install:
X	@${MKDIR} ${PREFIX}/lib/rakudo
X	@${CP} ${WRKSRC}/perl6 ${PREFIX}/bin/perl6
X	@${CP} ${WRKSRC}/blib/lib/libparrot.so.${SHLIB_VER} ${PREFIX}/lib/rakudo/libparrot.so.${SHLIB_VER}
X	${INSTALL_MAN} ${WRKSRC}/perl6.1 ${PREFIX}/man/man1/perl6.1
X
Xdo-configure:
X	cd ${WRKSRC} && ${PERL} ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
X
Xtest:
X	cd ${WRKSRC} && ${MAKE} test
X
X.include <bsd.port.pre.mk>
X
X# JIT only works on x86
X.if ${ARCH} == "i386
XCONFIGURE_ARGS+=	--jitcapable
XPLIST_SUB+=	JIT=""
X.else
XPLIST_SUB+=	JIT="@comment "
X.endif
X
X.if ${ARCH} == "ia64" || ${ARCH} == "amd64"
XBROKEN=		Does not compile on ia64 and amd64
X.endif
X
X.if defined(PACKAGE_BUILDING)
XIGNORE=		needs to be build under non-root user, pointyhat cannot do that
X.endif
X
Xpre-configure:
X	@if [ `${ID} -u` -eq 0 ]; then \
X		${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' (because of 'perldoc' issue)."; exit 1; fi
X
X.include <bsd.port.post.mk>
82aaa5e7325d08845cdc8ec3bc85e55b
echo x - rakudo/distinfo
sed 's/^X//' >rakudo/distinfo << '91cd0a08a478cf4a6978a24f7e62e2a8'
XMD5 (parrot-0.8.1.tar.gz) = 1a5e15f3b15f213ef5259893263246d4
XSHA256 (parrot-0.8.1.tar.gz) = 0e881f1925a4806cfd287de13d3bfd8b45f4e76a19d9eed5c618d85e2c7a0996
XSIZE (parrot-0.8.1.tar.gz) = 5470329
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/pkg-plist
sed 's/^X//' >rakudo/pkg-plist << '1db4917ea60f89f251249a62ae2893eb'
Xbin/perl6
Xlib/rakudo/libparrot.so.%%SHLIB_VER%%
X@dirrm lib/rakudo
1db4917ea60f89f251249a62ae2893eb
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
exit



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



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