diff options
author | tron <tron> | 2009-10-22 14:51:26 +0000 |
---|---|---|
committer | tron <tron> | 2009-10-22 14:51:26 +0000 |
commit | e359d7d770ca84b5f1beb15edd73de9fbcb75aed (patch) | |
tree | 4ef815d49fb2d14e20d92f5add8733b32ec3fa90 /lang | |
parent | 2a7961455cb60b9da546f2a6eee6589fdf98c8dc (diff) | |
download | pkgsrc-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/Makefile | 12 | ||||
-rw-r--r-- | lang/parrot/PLIST.Darwin | 3 | ||||
-rw-r--r-- | lang/parrot/PLIST.shared | 3 | ||||
-rw-r--r-- | lang/parrot/distinfo | 6 | ||||
-rw-r--r-- | lang/parrot/patches/patch-af | 34 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ag | 26 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ai | 62 | ||||
-rw-r--r-- | lang/parrot/patches/patch-aj | 17 |
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( |