Re: update parrot to 4.1.0, import nqp, update rakudo to 2012.02

2012-03-08 Thread Landry Breuil
On Tue, Mar 06, 2012 at 06:40:44PM +0100, Pascal Stumpf wrote:
 On Tue, 6 Mar 2012 17:29:21 +0100, Landry Breuil wrote:
  
  --+KJYzRxRHjYqLGl5
  Content-Type: text/plain; charset=us-ascii
  Content-Disposition: inline
  
  On Mon, Mar 05, 2012 at 07:06:45PM +0100, Pascal Stumpf wrote:
   On Sun, 4 Mar 2012 22:19:56 +0100, Landry Breuil wrote:
On Sun, Mar 04, 2012 at 09:26:32PM +0100, Pascal Stumpf wrote:
 Update all rakudo-related stuff to what is included in rakudo-star
 2012.02.  Diff is for parrot and rakudo, nqp 2012.02 is needed to
 bootstrap rakudo.  I'm also reattaching the three p5 modules needed 
 for
 parrot's regression tests.

Reads good, since you're probably the only one using it i trust you on
having something that works fine. I'm just surprised to see a compiler
depending on freeglut.. isnt it also weird to have rakudo depend on nqp 
?
   
   Freeglut is needed for parrot's OpenGL bindings, and nqp is, well, the
   language most of rakudo is now written in.

Given that parrot/rakudo build atm on alpha/hppa/ppc/sparc64/i386/amd64
(and parrot on mips64*), what archs did you tested all that on ?
   
   So far only amd64 ...
  
  Mkay.. did you tested that with USE_SYSTRACE set ? when building rakudo,
  it rebuilds an internal nqp and tries to overwrite the systemwide one.
 
 Ah, sorry, I attached the wrong version of nqp (2012.01).  That also
 explains why it still had PARROT_VERSION=4.0.0.  I'm attaching the
 correct one.  But anyway, thanks a lot for the test.

Okay, now everything builds on sparc64. the rakudo step for 
./perl6 --setting=NULL --optimize=3 --target=pir
--output=src/gen/CORE.setting.pir src/gen/CORE.setting

took an insane amount of time (12h) and i had to bump ulimit -d, but it
finally passed. Here's the rakudo regress log for reference.

I think you should commit all of them,we'll see later if there's fallout
on exotic archs.

Landry
===  Regression check for rakudo-2012.02
#no need to check out git repository
perl -pi -e 's/spectest_checkout spectest_update// if /^testable/'  
/usr/ports/pobj/rakudo-2012.02/rakudo-star-2012.02/rakudo-2012.02/Makefile
cd rakudo-2012.02  make test
/usr/bin/perl tools/build/gen-cat.pl src/core/traits.pm  src/core/Positional.pm 
 src/core/Associative.pm  src/core/Callable.pm  src/core/natives.pm  
src/core/stubs.pm  src/core/control.pm  src/core/Mu.pm  src/core/Stringy.pm  
src/core/Any.pm  src/core/Scalar.pm  src/core/Code.pm  src/core/WhateverCode.pm 
 src/core/Block.pm  src/core/Attribute.pm  src/core/Routine.pm  src/core/Sub.pm 
 src/core/Method.pm  src/core/Submethod.pm  src/core/Junction.pm  
src/core/Cool.pm  src/core/Enumeration.pm  src/core/Whatever.pm  
src/core/Bool.pm  src/core/Numeric.pm  src/core/Real.pm  src/core/Int.pm  
src/core/Num.pm  src/core/Str.pm  src/core/Capture.pm  src/core/Parcel.pm  
src/core/Iterable.pm  src/core/Iterator.pm  src/core/Nil.pm  src/core/Range.pm  
src/core/ListIter.pm  src/core/MapIter.pm  src/core/GatherIter.pm  
src/core/List.pm  src/core/LoL.pm  src/core/Array.pm  src/core/Enum.pm  
src/core/Pair.pm  src/core/EnumMap.pm  src/core/Hash.pm  src/core/Parameter.pm  
src/core/Signature.pm  src/core/Buf.pm  src/core/IO.pm  src/core/IO/ArgFiles.pm 
 src/core/IO/Socket.pm  src/core/IO/Socket/INET.pm  src/core/Rat.pm  
src/core/Complex.pm  src/core/Backtrace.pm  src/core/Exception.pm  
src/core/Failure.pm  src/core/Exceptions.pm  src/core/Match.pm  
src/core/Cursor.pm  src/core/Grammar.pm  src/core/Regex.pm  
src/core/CallFrame.pm  src/core/Main.pm  src/core/tai-utc.pm  
src/core/Instant.pm  src/core/Duration.pm  src/core/Temporal.pm  
src/core/EXPORTHOW.pm  src/core/Pod.pm  src/core/ObjAt.pm  
src/core/operators.pm  src/core/metaops.pm  src/core/terms.pm  src/core/NYI.pm  
src/core/you_are_here.pm  src/gen/CORE.setting
The following step can take a long time, please be patient.
./perl6 --setting=NULL --optimize=3 --target=pir  
--output=src/gen/CORE.setting.pir src/gen/CORE.setting
/usr/local/bin/parrot  -o CORE.setting.pbc src/gen/CORE.setting.pir
./perl6 --target=pir  --output=src/gen/SAFE.setting.pir src/SAFE.setting
/usr/local/bin/parrot  -o SAFE.setting.pbc src/gen/SAFE.setting.pir
./perl6 --target=pir --output=lib/Test.pir lib/Test.pm
./perl6 --target=pir --output=lib/Pod/To/Text.pir lib/Pod/To/Text.pm
/usr/bin/perl t/harness t/00-parrot t/01-sanity t/02-embed
t/00-parrot/01-literals.t .. ok
t/00-parrot/02-op-math.t ... ok
t/00-parrot/03-op-logic.t .. ok
t/00-parrot/04-op-cmp.t  ok
t/00-parrot/05-var.t ... ok
t/00-parrot/06-op-inplace.t  ok
t/00-parrot/07-op-string.t . ok
t/00-parrot/08-var-array.t . ok
t/00-parrot/09-pir.t ... ok
t/00-parrot/10-regex.t . ok
t/01-sanity/01-tap.t ... ok
t/01-sanity/02-counter.t ... ok
t/01-sanity/03-equal.t . ok
t/01-sanity/04-if.t  ok
t/01-sanity/05-sub.t 

Re: update parrot to 4.1.0, import nqp, update rakudo to 2012.02

2012-03-06 Thread Pascal Stumpf
On Tue, 6 Mar 2012 17:29:21 +0100, Landry Breuil wrote:
 
 --+KJYzRxRHjYqLGl5
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 On Mon, Mar 05, 2012 at 07:06:45PM +0100, Pascal Stumpf wrote:
  On Sun, 4 Mar 2012 22:19:56 +0100, Landry Breuil wrote:
   On Sun, Mar 04, 2012 at 09:26:32PM +0100, Pascal Stumpf wrote:
Update all rakudo-related stuff to what is included in rakudo-star
2012.02.  Diff is for parrot and rakudo, nqp 2012.02 is needed to
bootstrap rakudo.  I'm also reattaching the three p5 modules needed for
parrot's regression tests.
   
   Reads good, since you're probably the only one using it i trust you on
   having something that works fine. I'm just surprised to see a compiler
   depending on freeglut.. isnt it also weird to have rakudo depend on nqp ?
  
  Freeglut is needed for parrot's OpenGL bindings, and nqp is, well, the
  language most of rakudo is now written in.
   
   Given that parrot/rakudo build atm on alpha/hppa/ppc/sparc64/i386/amd64
   (and parrot on mips64*), what archs did you tested all that on ?
  
  So far only amd64 ...
 
 Mkay.. did you tested that with USE_SYSTRACE set ? when building rakudo,
 it rebuilds an internal nqp and tries to overwrite the systemwide one.

Ah, sorry, I attached the wrong version of nqp (2012.01).  That also
explains why it still had PARROT_VERSION=4.0.0.  I'm attaching the
correct one.  But anyway, thanks a lot for the test.


nqp.tar.gz
Description: gzip compressed data, from Unix


Re: update parrot to 4.1.0, import nqp, update rakudo to 2012.02

2012-03-05 Thread Pascal Stumpf
On Sun, 4 Mar 2012 22:19:56 +0100, Landry Breuil wrote:
 On Sun, Mar 04, 2012 at 09:26:32PM +0100, Pascal Stumpf wrote:
  Update all rakudo-related stuff to what is included in rakudo-star
  2012.02.  Diff is for parrot and rakudo, nqp 2012.02 is needed to
  bootstrap rakudo.  I'm also reattaching the three p5 modules needed for
  parrot's regression tests.
 
 Reads good, since you're probably the only one using it i trust you on
 having something that works fine. I'm just surprised to see a compiler
 depending on freeglut.. isnt it also weird to have rakudo depend on nqp ?

Freeglut is needed for parrot's OpenGL bindings, and nqp is, well, the
language most of rakudo is now written in.
 
 Given that parrot/rakudo build atm on alpha/hppa/ppc/sparc64/i386/amd64
 (and parrot on mips64*), what archs did you tested all that on ?

So far only amd64 ...

 
 Landry
 
 



update parrot to 4.1.0, import nqp, update rakudo to 2012.02

2012-03-04 Thread Pascal Stumpf
Update all rakudo-related stuff to what is included in rakudo-star
2012.02.  Diff is for parrot and rakudo, nqp 2012.02 is needed to
bootstrap rakudo.  I'm also reattaching the three p5 modules needed for
parrot's regression tests.


Index: Makefile
===
RCS file: /cvs/ports/lang/parrot/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile19 Oct 2011 13:30:59 -  1.17
+++ Makefile4 Mar 2012 20:12:15 -
@@ -1,16 +1,19 @@
 # $OpenBSD: Makefile,v 1.17 2011/10/19 13:30:59 ajacoutot Exp $
 
+SHARED_ONLY =  Yes
+
 COMMENT=   virtual machine designed for interpreted languages
 
-V= 3.6.0
+V= 4.1.0
 DISTNAME=  parrot-$V
-REVISION=  0
 CATEGORIES=lang perl6
-SHARED_LIBS=   parrot  3.0
+SHARED_LIBS=   parrot  4.0
 
 HOMEPAGE=  http://www.parrot.org/
 
-MASTER_SITES=  ftp://ftp.parrot.org/pub/parrot/releases/stable/$V/
+MAINTAINER =   Pascal Stumpf pascal.stu...@cubes.de
+
+MASTER_SITES=  ftp://ftp.parrot.org/pub/parrot/releases/devel/$V/
 
 # Artistic2
 PERMIT_PACKAGE_CDROM=  Yes
@@ -18,25 +21,32 @@ PERMIT_PACKAGE_FTP= Yes
 PERMIT_DISTFILES_CDROM=Yes
 PERMIT_DISTFILES_FTP=  Yes
 
-WANTLIB += c m ncurses pthread readline stdc++ util z
-WANTLIB += icudata icuuc icui18n
+WANTLIB += GL GLU c glut gmp icudata icuuc m ncurses pthread
+WANTLIB += readline stdc++ util z
 
-LIB_DEPENDS=   textproc/icu4c
-REGRESS_DEPENDS=   devel/p5-Test-Pod
+BUILD_DEPENDS= graphics/glew
+LIB_DEPENDS=   textproc/icu4c \
+   devel/gmp \
+   graphics/freeglut
+REGRESS_DEPENDS=   devel/p5-TAP-Harness-Multiple \
+   devel/p5-Test-Perl-Critic
 
 CONFIGURE_SCRIPT=  /usr/bin/perl Configure.pl
 CONFIGURE_STYLE=   simple
-CONFIGURE_ARGS+=   --prefix=${PREFIX}
-CONFIGURE_ARGS+=   --parrot_is_shared 
-CONFIGURE_ARGS+=   --icuheaders=${LOCALBASE}/include
-CONFIGURE_ARGS+=   --icushared=`${LOCALBASE}/bin/icu-config --ldflags`
-# There's a nasty bug in sleep() when compiled with threads, which uses
-# pthread_cond_timedwait(3). Without threads, it maps to an ordinary sleep(3)
-# call. Exposed by rakudo tests.
-CONFIGURE_ARGS +=  --without-threads
+CONFIGURE_ARGS+= \
+   --prefix=${PREFIX} \
+   --cc=${CC} \
+   --ccflags=-I${LOCALBASE}/include -I${X11BASE}/include \
+   --optimize=${CFLAGS} \
+   --link=${CXX} \
+   --linkflags=-L${LOCALBASE}/lib -L${X11BASE}/lib \
+   --ld=${CXX} \
+   --ldflags=-L${LOCALBASE}/lib -L${X11BASE}/lib \
+   --parrot_is_shared \
+   --icu-config=${LOCALBASE}/bin/icu-config
 
 # XXX The default (gms) garbage collector has issues on powerpc. Until
-# it's fixed, use the old one (ms2).
+# XXX it's fixed, use the old one (ms2).
 .if ${MACHINE_ARCH:Mpowerpc}
 CONFIGURE_ARGS+=   --gc=ms2
 .endif
@@ -45,14 +55,14 @@ CONFIGURE_ENV = LIBparrot_VERSION=${LIB
 
 MAKE_ENV=  LIBparrot_VERSION=${LIBparrot_VERSION}
 
-ALL_TARGET=installable
 INSTALL_TARGET =   install install-doc
-REGRESS_TARGET=test
+REGRESS_TARGET=fulltest
 
 SUBST_VARS +=  V
 
 pre-configure:
${SUBST_CMD} ${WRKSRC}/config/init/hints/openbsd.pm
+
 post-install:
${INSTALL_DATA} ${WRKSRC}/blib/lib/libparrot.so.${LIBparrot_VERSION} \
${PREFIX}/lib
Index: distinfo
===
RCS file: /cvs/ports/lang/parrot/distinfo,v
retrieving revision 1.11
diff -u -p -r1.11 distinfo
--- distinfo20 Aug 2011 16:47:05 -  1.11
+++ distinfo4 Mar 2012 20:12:15 -
@@ -1,5 +1,5 @@
-MD5 (parrot-3.6.0.tar.gz) = bnodhP8/siE6cGc2cazm3w==
-RMD160 (parrot-3.6.0.tar.gz) = 7TJYzzLz0okRsDK8TWlmoxCcm2g=
-SHA1 (parrot-3.6.0.tar.gz) = bl5ltkcCuto4UfMZuSJo5kLFww4=
-SHA256 (parrot-3.6.0.tar.gz) = goCTChKmbDhLOXsxSC3y78H8xl79cjsnnHGx4oPCY48=
-SIZE (parrot-3.6.0.tar.gz) = 4038957
+MD5 (parrot-4.1.0.tar.gz) = I8N8gq6sLVv5/QCnhz2rDQ==
+RMD160 (parrot-4.1.0.tar.gz) = Ve/+u7DX+loTjWeMiCPtE8xpqZI=
+SHA1 (parrot-4.1.0.tar.gz) = 24G6tabzOugkR+y+mlvY5HAORwk=
+SHA256 (parrot-4.1.0.tar.gz) = bSd4Ys/dw+E/U2hDFfHtPHagU8ASAGUkNrVIvglkzx0=
+SIZE (parrot-4.1.0.tar.gz) = 4504334
Index: patches/patch-config_auto_ipv6_test_in
===
RCS file: patches/patch-config_auto_ipv6_test_in
diff -N patches/patch-config_auto_ipv6_test_in
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-config_auto_ipv6_test_in  4 Mar 2012 20:12:15 -
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- config/auto/ipv6/test.in.orig  Wed Feb  8 00:18:43 2012
 config/auto/ipv6/test.in   Wed Feb  8 00:18:56 2012
+@@ -9,6 +9,7 @@ Copyright (C) 2010-2011, Parrot Foundation.
+ #else
+ #  include sys/types.h
+ #  include sys/socket.h
++#  include netinet/in.h
+ #  include netdb.h
+ #endif
+ 
Index: 

Re: update parrot to 4.1.0, import nqp, update rakudo to 2012.02

2012-03-04 Thread Landry Breuil
On Sun, Mar 04, 2012 at 09:26:32PM +0100, Pascal Stumpf wrote:
 Update all rakudo-related stuff to what is included in rakudo-star
 2012.02.  Diff is for parrot and rakudo, nqp 2012.02 is needed to
 bootstrap rakudo.  I'm also reattaching the three p5 modules needed for
 parrot's regression tests.

Reads good, since you're probably the only one using it i trust you on
having something that works fine. I'm just surprised to see a compiler
depending on freeglut.. isnt it also weird to have rakudo depend on nqp ?

Given that parrot/rakudo build atm on alpha/hppa/ppc/sparc64/i386/amd64
(and parrot on mips64*), what archs did you tested all that on ?

Landry