Skip to content

Instantly share code, notes, and snippets.

@Tux
Created February 2, 2015 11:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tux/280d6c6c87a6e7c647f5 to your computer and use it in GitHub Desktop.
Save Tux/280d6c6c87a6e7c647f5 to your computer and use it in GitHub Desktop.
Inline::Perl6 from scratch
$ cd /pro/3gl/CPAN
$ git clone github.com:tadzik/rakudobrew rakudobrew
$ cd rakudobrew
$ vi bin/rakudobrew
$ git diff
diff --git a/bin/rakudobrew b/bin/rakudobrew
index 26418bd..b1e456a 100755
--- a/bin/rakudobrew
+++ b/bin/rakudobrew
@@ -7,7 +7,7 @@ use FindBin qw($Bin);
use Carp qw(croak);
my $arg = shift // 'help';
-my $prefix = "$Bin/..";
+my $prefix = "/pro/3gl/CPAN/rakudobrew";
my $git_reference = "$prefix/git_reference" ;
unless (-d $git_reference) {
@@ -15,15 +15,15 @@ unless (-d $git_reference) {
}
my %git_repos = (
- rakudo => 'git://github.com/rakudo/rakudo.git',
- MoarVM => 'git://github.com/MoarVM/MoarVM.git',
- parrot => 'git://github.com/parrot/parrot.git',
- nqp => 'git://github.com/perl6/nqp.git',
- panda => 'git://github.com/tadzik/panda.git',
+ rakudo => 'github.com:rakudo/rakudo.git',
+ MoarVM => 'github.com:MoarVM/MoarVM.git',
+ parrot => 'github.com:parrot/parrot.git',
+ nqp => 'github.com:perl6/nqp.git',
+ panda => 'github.com:tadzik/panda.git',
);
my $GIT = $ENV{GIT_BINARY} // 'git';
-my $RAKUDO_REPO_URL = 'https://github.com/rakudo/rakudo.git'; #Avoids problems with non-users
+my $RAKUDO_REPO_URL = 'github.com:rakudo/rakudo.git'; #Avoids problems with non-users
my %impls = (
parrot => {
echo "rakudobrew/bin is in my $PATH" >/dev/null
$ rakudobrew build moar
$ rakudobrew build-panda
$ panda install Slang::Tuxic
$ panda install Inline::Perl5
==> Inline::Perl5 depends on NativeCall, LibraryMake
==> Fetching NativeCall
==> Building NativeCall
Compiling lib/NativeCall.pm6 to mbc
==> Testing NativeCall
t/01-argless.t ......... ok
t/02-simple-args.t ..... ok
t/03-simple-returns.t .. ok
t/04-pointers.t ........ ok
t/05-arrays.t .......... ok
t/06-struct.t .......... ok
t/07-writebarrier.t .... ok
t/08-callbacks.t ....... ok
t/09-nativecast.t ...... ok
t/10-cglobals.t ........ ok
All tests successful.
Files=10, Tests=98, 5 wallclock secs ( 0.04 usr 0.01 sys + 4.52 cusr 0.43 csys = 5.00 CPU)
Result: PASS
==> Installing NativeCall
Copying blib/lib/NativeCall.pm6 to /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/lib/NativeCall.pm6
Copying blib/lib/NativeCall.pm6.moarvm to /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/lib/NativeCall.pm6.moarvm
==> Successfully installed NativeCall
==> Fetching LibraryMake
==> Building LibraryMake
Compiling lib/LibraryMake.pm6 to mbc
==> Testing LibraryMake
t/01-basic.t .. ok
All tests successful.
Files=1, Tests=7, 1 wallclock secs ( 0.01 usr 0.00 sys + 0.31 cusr 0.04 csys = 0.36 CPU)
Result: PASS
==> Installing LibraryMake
Copying blib/lib/LibraryMake.pm6 to /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/lib/LibraryMake.pm6
Copying blib/lib/LibraryMake.pm6.moarvm to /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/lib/LibraryMake.pm6.moarvm
==> Successfully installed LibraryMake
==> Fetching Inline::Perl5
==> Building Inline::Perl5
gcc p5helper.c `perl -MExtUtils::Embed -e ccopts -e ldopts` -shared -o /pro/3gl/CPAN/rakudobrew/.panda-work/1422877422_3/blib/lib/Inline/p5helper.so -fPIC -g
Compiling lib/Inline/Perl5.pm6 to mbc
==> Testing Inline::Perl5
t/autoload.t .............. ok
t/call.t ..................
Failed 2/12 subtests
t/call_back.t ............. ok
t/callables.t ............. ok
t/can.t ................... ok
t/eval.t .................. ok
t/eval_return_values.t .... ok
t/exceptions.t ............ ok
t/from.t .................. ok
t/inherit.t ............... ok
# Failed test at t/p5_to_p6.t line 10
# expected: '5.5'
# got: '0'
# Looks like you failed 1 tests of 11
t/p5_to_p6.t ..............
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/11 subtests
t/p6_object_destructor.t .. ok
# Failed test 'Can round-trip Num'
# at t/p6_to_p5.t line 16
# expected: 2.4e0
# got: 3.22031671757311e-316
# Looks like you failed 1 tests of 11
t/p6_to_p5.t ..............
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/11 subtests
t/precomp.t ............... ok
t/use.t ................... ok
t/v6.t .................... ok
Test Summary Report
-------------------
t/call.t (Wstat: 0 Tests: 12 Failed: 2)
Failed tests: 10-11
t/p5_to_p6.t (Wstat: 256 Tests: 11 Failed: 1)
Failed test: 2
Non-zero exit status: 1
t/p6_to_p5.t (Wstat: 256 Tests: 11 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=16, Tests=284, 9 wallclock secs ( 0.06 usr 0.01 sys + 8.19 cusr 0.70 csys = 8.96 CPU)
Result: FAIL
test stage failed for Inline::Perl5: Tests failed
in method install at lib/Panda.pm:124
in method resolve at lib/Panda.pm:194
in sub MAIN at /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/bin/panda:20
in sub MAIN at /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/bin/panda:18
in block <unit> at /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/bin/panda:77
Failure Summary
----------------
Inline::Perl5
*test stage failed for Inline::Perl5: Tests failed
Exit 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment