diff options
author | he <he@pkgsrc.org> | 2009-12-17 14:47:35 +0000 |
---|---|---|
committer | he <he@pkgsrc.org> | 2009-12-17 14:47:35 +0000 |
commit | f2a99d11ec8bd35ad28df2a62acedb93eaf5afbd (patch) | |
tree | 38d7df9b52780c00feeb5b208cac75f345b3e36e /lang/parrot/patches | |
parent | e0d6762a33fe2b41836d00a216ffca0fb0e6478b (diff) | |
download | pkgsrc-f2a99d11ec8bd35ad28df2a62acedb93eaf5afbd.tar.gz |
Update parrot from version 1.7.0 to 1.8.0.
Update OK'ed by agc@
Pkgsrc changes:
o Replace perl and parrot interpreter references where we can
(one perl module not available at pre-configure time not done)
o Remove patches which are no longer necessary, since they either
came from upstream or have been adopted there
o Update the PLIST to sync with what's being installed
Upstream changes:
- Functionality
+ The FileHandle PMC now exposes the exit code of child process
that was run as pipe.
+ Experimental support for overriding VTABLE invoke in PIR objects
was added.
+ The method 'type' was added to the PackfileAnnotations PMC.
+ The internals of the parrot calling conventions, PCC, were
reworked. All call paths now use a CallSignature object for
passing arguments and return values.
+ The new API-function 'Parrot_ext_call' was added for calling
into C-land.
+ The fixed-size allocator was improved.
+ The files installed by 'make install-dev' are now covered by
'make install' as well.
+ The experimental ops 'fetch' and 'vivify' were added.
+ The -I option to the command 'parrot' now prepends items to
the search path.
+ The Context struct was substituted with auto attributes
(context_auto_attrs branch).
+ Use the osname determined in auto::arch in subsequent configuration
steps (convert_OSNAME branch).
+ Eliminated dependence on Perl 5 '%Config' in auto::format
(auto_format_no_Config branch).
+ MultiSub PMCs now stringify to the name of their first candidate,
instead of the number of candidates.
+ The platform detection at the start of the configuration process
was improved.
+ The 'lineof' method on CodeString objects now precomputes line
number information to be more efficient on variable-width
encoded strings.
+ P6object now supports .WHO and .WHERE methods on protoobjects.
- Compilers
+ A shiny new self-hosting implementation of NQP has been added
in ext/nqp-rx.
- New NQP available as nqp-rx.pbc or parrot-nqp fakecutable.
- NQP includes direct support for grammars and regexes, including
protoregexes.
- NQP has a new PAST-based regex engine (intended to replace PGE).
- Regexes may contain code assertions, parameters, lexical
declarations, and more.
- Double-quoted strings now interpolate scalar variables and closures.
- Subroutine declarations are now lexical by default.
+ PCT
- PAST::Block now supports an 'nsentry' attribute.
- PAST::Var allows 'contextual' scope.
- Attribute bindings now return the bound value.
- Platforms
+ Fixes for the port of Parrot to RTEMS were applied. Yay, first
port to a real time OS!
+ On NetBSD, shared libs are now used.
- Performance
+ Use the the fixed-sized allocator in the Context and the
CallSignature PMC.
+ Many small speed improvements.
- New deprecations
+ MT19937, the Mersenne twisted pseudorandom number generator,
is now hosted on github and will be removed from the Parrot
core. (eligible in 2.1)
+ The 'Parrot_call_*' functions for invoking a sub/method object from C are
deprecated. They are replaced by 'Parrot_ext_call'. (eligible in 2.1)
+ All bitwise VTABLE functions are deprecated. (eligible in 2.1)
+ All bitwise ops will become dynops. (eligible in 2.1)
- Realized deprecations
+ The slice VTABLE entry was removed.
+ The last traces of the 'malloc' garbage collector were removed.
+ Parrot_pcc_constants() was renamed to Parrot_pcc_get_constants().
+ The deprecated functions from the Embedding/Extension interface
were removed.
+ The library YAML/Parser/Syck.pir was removed.
+ The VTABLE function instantiate_str() was removed.
+ Building of parrot_nqp was removed.
- Tests
+ The test coverage of the time-related ops was much improved.
+ New testing functions in Test::More: lives_ok() and dies_ok().
+ The Perl 5 based test scripts t/op/bitwist.t, t/op/comp.t,
t/op/inf_nan.t, t/op/literal.t, t/op/number.t, t/op/sprintf2.t,
and t/op/00ff-dos.t were converted to PIR.
+ The test scripts t/op/annotate.t and t/op/time.t have begun
to be translated from Perl 5 to PIR.
+ In some tests the dependency on %Config from Perl 5 was eliminated.
- Documentation
+ The meaning of 'p' means in NCI function call signatures was clarified.
- Tools
+ The stub for a new language, as created by mk_language_shell.pl,
now relies on the PIR-based tools, which are replacing the Perl
5-based tools.
+ The library Configure.pir was added.
+ The library distutils.pir was added.
- Miscellaneous
+ The mailing list parrot-users and a corresponding google group was created,
http://groups.google.com/group/parrot-users.
+ Many bugfixes, code cleanups, and coding standard fixes.
Diffstat (limited to 'lang/parrot/patches')
-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 | 50 | ||||
-rw-r--r-- | lang/parrot/patches/patch-aj | 17 |
4 files changed, 0 insertions, 127 deletions
diff --git a/lang/parrot/patches/patch-af b/lang/parrot/patches/patch-af deleted file mode 100644 index 86b0d77df2e..00000000000 --- a/lang/parrot/patches/patch-af +++ /dev/null @@ -1,34 +0,0 @@ -$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 --git a/lang/parrot/patches/patch-ag b/lang/parrot/patches/patch-ag deleted file mode 100644 index 17cfed25cfc..00000000000 --- a/lang/parrot/patches/patch-ag +++ /dev/null @@ -1,26 +0,0 @@ -$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 --git a/lang/parrot/patches/patch-ai b/lang/parrot/patches/patch-ai deleted file mode 100644 index e6cbbe115ce..00000000000 --- a/lang/parrot/patches/patch-ai +++ /dev/null @@ -1,50 +0,0 @@ -$NetBSD: patch-ai,v 1.2 2009/12/09 09:23:51 he Exp $ - -Mirror a change committed just after the release: the open_pipe_for_writing -test should work everywhere. - ---- t/op/io.t.orig 2009-10-20 23:30:03.000000000 +0200 -+++ t/op/io.t -@@ -51,22 +51,6 @@ 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' -@@ -103,8 +87,6 @@ Tests various io opcodes. - .end - - .sub 'open_pipe_for_writing' -- $I0 = tt661_todo_test() -- unless $I0 goto open_pipe_for_writing_todoed - .local pmc interp - interp = getinterp - -@@ -137,10 +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 deleted file mode 100644 index ad6b581fb7d..00000000000 --- a/lang/parrot/patches/patch-aj +++ /dev/null @@ -1,17 +0,0 @@ -$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( |