pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/parrot Update parrot from version 1.6.0 to 1.6.0nb1.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a7589926564d
branches:  trunk
changeset: 566348:a7589926564d
user:      he <he%pkgsrc.org@localhost>
date:      Wed Oct 21 14:23:13 2009 +0000

description:
Update parrot from version 1.6.0 to 1.6.0nb1.

Pkgsrc changes:
 o Enable shared libraries for NetBSD, and deal with the resulting
   fallout: tests which are written in C need to point their run-path
   to the build version of the shared libraries.
 o The default is shared libs with .so, except for on Darwin, where
   shared libs are named differently.  The Darwin part is untested.

diffstat:

 lang/parrot/Makefile         |  12 +++++++-
 lang/parrot/distinfo         |   6 +++-
 lang/parrot/patches/patch-af |  34 ++++++++++++++++++++++++
 lang/parrot/patches/patch-ag |  26 ++++++++++++++++++
 lang/parrot/patches/patch-ai |  62 ++++++++++++++++++++++++++++++++++++++++++++
 lang/parrot/patches/patch-aj |  17 ++++++++++++
 6 files changed, 155 insertions(+), 2 deletions(-)

diffs (200 lines):

diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/Makefile
--- a/lang/parrot/Makefile      Wed Oct 21 13:53:28 2009 +0000
+++ b/lang/parrot/Makefile      Wed Oct 21 14:23:13 2009 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.22 2009/09/20 10:57:04 he Exp $
+# $NetBSD: Makefile,v 1.23 2009/10/21 14:23:13 he Exp $
 #
 
 VERSION=               1.6.0
+PKGREVISION=           1
 RTYPE=                 devel
 DISTNAME=              parrot-${VERSION}
 CATEGORIES=            lang
@@ -38,6 +39,15 @@
 SUBST_SED.pthread+=    -e '/^LINKFLAGS /s|$$|${PTHREAD_LDFLAGS:Q} ${PTHREAD_LIBS:Q}|'
 SUBST_SED.pthread+=    -e '/^LDFLAGS /s|$$|${PTHREAD_LDFLAGS:Q} ${PTHREAD_LIBS:Q}|'
 
+PLIST_SUBST+=          VERSION=${VERSION:Q}
+PLIST_SRC+=            ${PLIST_SRC_DFLT}
+# Default this to ELF shared libs with .so,
+# Darwin has PLIST.Darwin which gets included automatically.
+.if (${OPSYS} != "Darwin")
+PLIST_SRC+=            PLIST.shared
+.endif
+
+
 pre-install:
        ${CHMOD} -R g-w ${WRKSRC}
 
diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/distinfo
--- a/lang/parrot/distinfo      Wed Oct 21 13:53:28 2009 +0000
+++ b/lang/parrot/distinfo      Wed Oct 21 14:23:13 2009 +0000
@@ -1,7 +1,11 @@
-$NetBSD: distinfo,v 1.16 2009/09/20 10:57:04 he Exp $
+$NetBSD: distinfo,v 1.17 2009/10/21 14:23:13 he Exp $
 
 SHA1 (parrot-1.6.0.tar.gz) = 2258c3a0da32ed8c1ce55ee460e81a841d06a2c1
 RMD160 (parrot-1.6.0.tar.gz) = ca5907643a9e972971daac51afd1b95a30103fa5
 Size (parrot-1.6.0.tar.gz) = 3977952 bytes
 SHA1 (patch-ad) = 9002a7ca55f8f960bea669e383431b3eeb83a878
 SHA1 (patch-ae) = 72e4752112dab2f0b72ede5c45b77fd5b5554606
+SHA1 (patch-af) = f2d67ac311aec9960a47b54eacdc8b72e83521eb
+SHA1 (patch-ag) = 7a43d15e4e6fb76d4c4619affee4c3c8e0dd3444
+SHA1 (patch-ai) = 97c3fbff3b7868a07f76a40fa2651b9b737ff148
+SHA1 (patch-aj) = df1d64aa5a3b5f3ed7389a72a855baa14dc7df38
diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/patches/patch-af
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/parrot/patches/patch-af      Wed Oct 21 14:23:13 2009 +0000
@@ -0,0 +1,34 @@
+$NetBSD: patch-af,v 1.3 2009/10/21 14:23:13 he Exp $
+
+Enable shared libraries on NetBSD.
+
+--- config/init/hints/netbsd.pm        (revision 41959)
++++ config/init/hints/netbsd.pm        (working copy)
+@@ -9,6 +9,9 @@
+ sub runstep {
+     my ( $self, $conf ) = @_;
+ 
++    my $share_ext = $conf->option_or_data('share_ext');
++    my $version   = $conf->option_or_data('VERSION');
++
+     my $ccflags = $conf->data->get('ccflags');
+     if ( $ccflags !~ /-pthread\b/ ) {
+         $ccflags .= ' -pthread';
+@@ -19,7 +22,16 @@
+     if ( $libs !~ /-lpthread\b/ ) {
+         $libs .= ' -lpthread';
+     }
+-    $conf->data->set( libs => $libs );
++    $conf->data->set(
++      libs => $libs,
++      rpath => '-Wl,-R',
++
++      has_dynamic_linking    => 1,
++      parrot_is_shared       => 1,
++      libparrot_shared       => "libparrot$share_ext.$version",
++      libparrot_shared_alias => "libparrot$share_ext",
++      libparrot_soname       => "-Wl,-soname=libparrot$share_ext.$version",
++    );
+ }
+ 
+ 1;
diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/patches/patch-ag
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/parrot/patches/patch-ag      Wed Oct 21 14:23:13 2009 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-ag,v 1.3 2009/10/21 14:23:13 he Exp $
+
+This test now works in NetBSD, after we properly selected the libm
+variant in the platform startup code.
+
+--- t/op/trans.t       (revision 41959)
++++ t/op/trans.t       (working copy)
+@@ -387,9 +387,6 @@
+ ok 16
+ OUTPUT
+ 
+-TODO: {
+-local $TODO = 'fails on netbsd' if $^O =~ /netbsd/;
+-
+ pasm_output_is( <<"CODE", <<'OUTPUT', 'atan, part 2' );
+         .include 'fp_equality.pasm'
+         atan N4, -0.0, -0.0
+@@ -402,8 +399,6 @@
+ ok 1
+ OUTPUT
+ 
+-}
+-
+ pasm_output_is( <<"CODE", <<OUTPUT, "log2" );
+         .include 'fp_equality.pasm'
+         set N1, 10.0
diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/patches/patch-ai
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/parrot/patches/patch-ai      Wed Oct 21 14:23:13 2009 +0000
@@ -0,0 +1,62 @@
+$NetBSD: patch-ai,v 1.1 2009/10/21 14:23:13 he Exp $
+
+I beleive this test works for all relevant pkgsrc platforms.
+It has been similarly transformed upstream after 1.7.0 was released.
+
+--- t/op/io.t.orig     2008-12-18 06:19:20.000000000 +0100
++++ t/op/io.t
+@@ -51,28 +51,9 @@ Tests various io opcodes.
+     ok(1, 'open with null mode')
+ .end
+ 
+-.sub 'tt661_todo_test' :anon
+-    # Checks whether the platform is linux, MSWin32, darwin: on other
+-    # platforms, the following tests are todo'ed.
+-    .include 'sysinfo.pasm'
+-    $S0 = sysinfo .SYSINFO_PARROT_OS
+-    if $S0 == 'linux' goto tt661_ok
+-    if $S0 == 'MSWin32' goto tt661_ok
+-    if $S0 == 'darwin' goto tt661_ok
+-    if $S0 == 'openbsd' goto tt661_ok
+-
+-    .return (0)
+-
+-  tt661_ok:
+-    .return (1)
+-.end
+-
+ .include 'iglobals.pasm'
+ 
+ .sub 'open_pipe_for_reading'
+-    $I0 = tt661_todo_test()
+-    unless $I0 goto open_pipe_for_reading_todoed
+-
+     .local pmc interp
+     interp = getinterp
+ 
+@@ -103,15 +84,9 @@ Tests various io opcodes.
+   open_pipe_for_reading_failed:
+     nok(1, 'open pipe for reading')
+     .return ()
+-
+-  open_pipe_for_reading_todoed:
+-    todo(1, 'Unimplemented in this platform, TT #661')
+ .end
+ 
+ .sub 'open_pipe_for_writing'
+-    $I0 = tt661_todo_test()
+-    unless $I0 goto open_pipe_for_writing_todoed
+-
+     .local pmc interp
+     interp = getinterp
+ 
+@@ -144,9 +119,6 @@ Tests various io opcodes.
+   open_pipe_for_writing_failed:
+     nok(1, 'open pipe for writing')
+     .return ()
+-
+-  open_pipe_for_writing_todoed:
+-    todo(1, 'Unimplemented in this platform, TT #661')
+ .end
+ 
+ # Local Variables:
diff -r 49e41fcf22c4 -r a7589926564d lang/parrot/patches/patch-aj
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/parrot/patches/patch-aj      Wed Oct 21 14:23:13 2009 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-aj,v 1.1 2009/10/21 14:23:13 he Exp $
+
+Make sure to use rpath if it's defined when linking C-language tests.
+
+--- lib/Parrot/Test.pm.orig    2009-10-20 03:09:41.000000000 +0200
++++ lib/Parrot/Test.pm
+@@ -1045,6 +1045,10 @@ sub _generate_test_functions {
+                     . "$PConfig{ld_out}$exe_f "
+                     . "$obj_f $cfg "
+                     . "$PConfig{libparrot_linkflags} "
++                  # If rpath is defined (and therefore rpath_blib), use it to get at the build libraries
++                  . ( defined($PConfig{rpath_blib})
++                      ? (  $PConfig{rpath_blib} . " " )
++                      : "" )
+                     . "$PConfig{linkflags} $PConfig{ld_debug} "
+                     . "$iculibs $PConfig{libs}";
+                 my $exit_code = run_command(



Home | Main Index | Thread Index | Old Index