summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortron <tron>2009-10-22 14:51:26 +0000
committertron <tron>2009-10-22 14:51:26 +0000
commite359d7d770ca84b5f1beb15edd73de9fbcb75aed (patch)
tree4ef815d49fb2d14e20d92f5add8733b32ec3fa90 /lang
parent2a7961455cb60b9da546f2a6eee6589fdf98c8dc (diff)
downloadpkgsrc-e359d7d770ca84b5f1beb15edd73de9fbcb75aed.tar.gz
Pullup ticket #2916 - requested by he
parrot: build fix Revisions pulled up: - lang/parrot/Makefile 1.23 - lang/parrot/PLIST.Darwin 1.1 - lang/parrot/PLIST.shared 1.1 - lang/parrot/distinfo 1.17-1.18 - lang/parrot/patches/patch-af 1.3 - lang/parrot/patches/patch-ag 1.3 - lang/parrot/patches/patch-ai 1.1 - lang/parrot/patches/patch-aj 1.1 --- Module Name: pkgsrc Committed By: he Date: Wed Oct 21 14:23:14 UTC 2009 Modified Files: pkgsrc/lang/parrot: Makefile distinfo Added Files: pkgsrc/lang/parrot/patches: patch-af patch-ag patch-ai patch-aj Log Message: 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. --- Module Name: pkgsrc Committed By: he Date: Thu Oct 22 11:31:44 UTC 2009 Modified Files: pkgsrc/lang/parrot: distinfo Log Message: I'm terribly sorry, patch-ai had the incorrect checksum. This update fixes it. --- Module Name: pkgsrc Committed By: he Date: Thu Oct 22 12:59:58 UTC 2009 Added Files: pkgsrc/lang/parrot: PLIST.Darwin PLIST.shared Log Message: Sorry once again, these two files should have been committed as part of the 1.6.0nb1 update.
Diffstat (limited to 'lang')
-rw-r--r--lang/parrot/Makefile12
-rw-r--r--lang/parrot/PLIST.Darwin3
-rw-r--r--lang/parrot/PLIST.shared3
-rw-r--r--lang/parrot/distinfo6
-rw-r--r--lang/parrot/patches/patch-af34
-rw-r--r--lang/parrot/patches/patch-ag26
-rw-r--r--lang/parrot/patches/patch-ai62
-rw-r--r--lang/parrot/patches/patch-aj17
8 files changed, 161 insertions, 2 deletions
diff --git a/lang/parrot/Makefile b/lang/parrot/Makefile
index 90293a032a2..63a8a641ffe 100644
--- a/lang/parrot/Makefile
+++ b/lang/parrot/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.22 2009/09/20 10:57:04 he Exp $
+# $NetBSD: Makefile,v 1.22.2.1 2009/10/22 14:51:26 tron Exp $
#
VERSION= 1.6.0
+PKGREVISION= 1
RTYPE= devel
DISTNAME= parrot-${VERSION}
CATEGORIES= lang
@@ -38,6 +39,15 @@ SUBST_SED.pthread+= -e '/^CFLAGS /s|$$|${PTHREAD_CFLAGS:Q}|'
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 --git a/lang/parrot/PLIST.Darwin b/lang/parrot/PLIST.Darwin
new file mode 100644
index 00000000000..442a4556301
--- /dev/null
+++ b/lang/parrot/PLIST.Darwin
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST.Darwin,v 1.1.2.2 2009/10/22 14:51:26 tron Exp $
+lib/libparrot.dylib
+lib/libparrot.dylib.${VERSION}
diff --git a/lang/parrot/PLIST.shared b/lang/parrot/PLIST.shared
new file mode 100644
index 00000000000..abd339efdae
--- /dev/null
+++ b/lang/parrot/PLIST.shared
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST.shared,v 1.1.2.2 2009/10/22 14:51:26 tron Exp $
+lib/libparrot.so
+lib/libparrot.so.${VERSION}
diff --git a/lang/parrot/distinfo b/lang/parrot/distinfo
index 666c9f86d18..3d67fb11b2d 100644
--- a/lang/parrot/distinfo
+++ b/lang/parrot/distinfo
@@ -1,7 +1,11 @@
-$NetBSD: distinfo,v 1.16 2009/09/20 10:57:04 he Exp $
+$NetBSD: distinfo,v 1.16.2.1 2009/10/22 14:51:26 tron 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) = 7430f01b99ed95996e5c76c2ffdc8122084bb822
+SHA1 (patch-aj) = df1d64aa5a3b5f3ed7389a72a855baa14dc7df38
diff --git a/lang/parrot/patches/patch-af b/lang/parrot/patches/patch-af
new file mode 100644
index 00000000000..3f5a098ad33
--- /dev/null
+++ b/lang/parrot/patches/patch-af
@@ -0,0 +1,34 @@
+$NetBSD: patch-af,v 1.3.2.2 2009/10/22 14:51:26 tron 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 --git a/lang/parrot/patches/patch-ag b/lang/parrot/patches/patch-ag
new file mode 100644
index 00000000000..e3a107b613e
--- /dev/null
+++ b/lang/parrot/patches/patch-ag
@@ -0,0 +1,26 @@
+$NetBSD: patch-ag,v 1.3.2.2 2009/10/22 14:51:26 tron 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 --git a/lang/parrot/patches/patch-ai b/lang/parrot/patches/patch-ai
new file mode 100644
index 00000000000..547d20c2b89
--- /dev/null
+++ b/lang/parrot/patches/patch-ai
@@ -0,0 +1,62 @@
+$NetBSD: patch-ai,v 1.1.2.2 2009/10/22 14:51:26 tron 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 --git a/lang/parrot/patches/patch-aj b/lang/parrot/patches/patch-aj
new file mode 100644
index 00000000000..e3e0836e484
--- /dev/null
+++ b/lang/parrot/patches/patch-aj
@@ -0,0 +1,17 @@
+$NetBSD: patch-aj,v 1.1.2.2 2009/10/22 14:51:26 tron 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(