Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 271167

Summary: dev-lang/rakudo ebuild
Product: Gentoo Linux Reporter: Luca Barbato <lu_zero>
Component: New packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED FIXED    
Severity: normal CC: chrissicool, drwowe, kamensky.fb, marada, Sergiy.Borodych
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 247125    
Bug Blocks:    
Attachments: rakudo-0.1.ebuild
Updated Rakudo ebuild
Updated ebuild. Cleaned up and added test target.

Description Luca Barbato gentoo-dev 2009-05-25 07:32:12 UTC
Rakudo is nearly building out of installed parrot... I'm using this bug to track progress in this regard.
Comment 1 Sergiy Borodych 2009-05-25 18:37:45 UTC
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
Comment 2 D W 2009-11-07 21:06:21 UTC
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.
Comment 3 David Abbott (RETIRED) gentoo-dev 2009-11-07 23:08:32 UTC
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.
Comment 4 D W 2009-11-13 21:23:50 UTC
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
Comment 5 D W 2009-11-13 22:21:44 UTC
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.  :)

Comment 6 D W 2009-11-13 22:22:37 UTC
Created attachment 210180 [details]
Updated Rakudo ebuild
Comment 7 David Abbott (RETIRED) gentoo-dev 2009-12-05 01:51:21 UTC
(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
Comment 8 Christian Ludwig 2010-01-07 22:56:53 UTC
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.
Comment 9 Christian Ludwig 2010-01-07 22:59:34 UTC
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".
Comment 10 Patrick Lauer gentoo-dev 2010-01-08 20:45:32 UTC
+  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 ;)