Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 271167 - dev-lang/rakudo ebuild
Summary: dev-lang/rakudo ebuild
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on: 247125
Blocks:
  Show dependency tree
 
Reported: 2009-05-25 07:32 UTC by Luca Barbato
Modified: 2010-01-08 20:45 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
rakudo-0.1.ebuild (rakudo-0.1.ebuild,561 bytes, text/plain)
2009-11-07 23:08 UTC, David Abbott (RETIRED)
Details
Updated Rakudo ebuild (rakudo-2009.10.ebuild,711 bytes, text/plain)
2009-11-13 22:22 UTC, D W
Details
Updated ebuild. Cleaned up and added test target. (rakudo-2009.12.ebuild,827 bytes, text/plain)
2010-01-07 22:59 UTC, Christian Ludwig
Details

Note You need to log in before you can comment on or make changes to this bug.
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 ;)