Rakudo is nearly building out of installed parrot... I'm using this bug to track progress in this regard.
IMHO maybe best name of ebuild is dev-lang/rakudo-perl6 ? see http://www.parrot.org/languages http://rakudo.org/ http://github.com/rakudo/rakudo/tree/master
Any plans to add a Rakudo ebuild? Pugs was removed a while ago with no replacements, and it looks like Rakudo is going to be the de-facto standard implementation of perl6.
Created attachment 209585 [details] rakudo-0.1.ebuild New to writing ebuilds, this does install, just need an experienced developer to show me all my errors, this may help get the ball rolling.
I tried your ebuild. It builds for a while but eventually fails with the following error: cd src/pmc && i686-pc-linux-gnu-gcc -c -I/usr/include/parrot/1.7.0 -I/usr/include/parrot/1.7.0/pmc -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE _CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_ NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign- functions=16 -fvisibility=hidden -funit-at-a-time -maccumulate-outgoing-args -W -Wall -Waggregate -return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-labe ls -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimpl icit -Wimport -Winit-self -Winline -Winvalid-pch -Wlogical-op -Wmissing-braces -Wmissing-field-in itializers -Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses -Wpointer- arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasi ng=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wvariadic-macro s -Wwrite-strings -Wbad-function-cast -Wc++-compat -Wdeclaration-after-statement -Werror=declarat ion-after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull -DHAS_GETTEXT -fPIC -g -DHAVE_COMPUTED_GOTO *. c p6opaque.c:150: warning: no previous prototype for ‘look_for_method’ p6opaque.c: In function ‘Parrot_P6opaque_clone’: p6opaque.c:275: error: ‘PMC’ has no member named ‘pmc_ext’ p6opaque.c:275: error: ‘PMC’ has no member named ‘pmc_ext’ perl6multisub.c:142: warning: ‘__warn_unused_result__’ attribute ignored perl6multisub.c: In function ‘is_narrower’: perl6multisub.c:306: warning: suggest parentheses around && within || perl6multisub.c: At top level: perl6multisub.c:892: warning: no previous prototype for ‘get_all_candidates_with_cur_args’ gmake: *** [src/pmc/perl6_group.so] Error 1
I think the problem is that rakudo 2008-08 isn't compatible with parrot 1.7 Here's a new ebuild that puts the version (year.month) in the ebuild name and also seperates the prepare, compile, and install steps. It's getting closer to being correct, although there's a QA warning about my use of "sed". Sorry I'm not an ebuild expert either. :)
Created attachment 210180 [details] Updated Rakudo ebuild
(In reply to comment #5) > I think the problem is that rakudo 2008-08 isn't compatible with parrot 1.7 > > Here's a new ebuild that puts the version (year.month) in the ebuild name and > also seperates the prepare, compile, and install steps. It's getting closer to > being correct, although there's a QA warning about my use of "sed". Sorry I'm > not an ebuild expert either. :) > If you want to change 2008-08 to 2008.08 then check out versionator at the bottom; http://devmanual.gentoo.org/ebuild-writing/variables/index.html
Thanks for providing the Rakudo ebuild here. I played around with it and saw the following issues, which may come up sooner or later: 1. Rakudo installs stuff into usr/$(get_libdir)/parrot/1.9.0/... which is why we should stick it to that special version of Parrot for which we install it. I do not know how Rakudo behaves after an upgrade of Parrot. OTOH Parrot may be slotted for each version (1.9.0 in this case), but that needs more work. The matching Parrot version for Rakudo can be found in the file build/PARROT_REVISION in the Rakudo sources. ALTERNATIVELY there could be a parrot-update script, just like the python-updater. 2. Rakudo is not the only Perl6 compatible implementation. Perhaps we should add an eselect module so that one can choose the implementation "perl6" points to. Just my 2ct.
Created attachment 215601 [details] Updated ebuild. Cleaned up and added test target. I did not add any special stuff from my ideas before, only pinning the Parrot version. The binary installs as "perl6".
+ 08 Jan 2010; Patrick Lauer <patrick@gentoo.org> +rakudo-2009.12.ebuild, + +metadata.xml: + Initial import. Ebuild by Christian Ludwig based on earlier work by David + Abbott and D W. Fixes #271167 It's like christmas and easter on the same day ;)