summaryrefslogtreecommitdiff
path: root/lang/parrot
diff options
context:
space:
mode:
authorwiz <wiz>2006-01-03 19:25:06 +0000
committerwiz <wiz>2006-01-03 19:25:06 +0000
commit322d159499ebc733dfb2ec5ac4e2f26536c5435b (patch)
tree2ed17fc31d7d87a2d5fce5b261ce68e4c84bd882 /lang/parrot
parent8f2b82bee349af03a476688c7a6c9c7733a56abf (diff)
downloadpkgsrc-322d159499ebc733dfb2ec5ac4e2f26536c5435b.tar.gz
Update to 0.4.0, provided by Anders Nor Berle in PR 32448.
New in 0.4.0 - New lexical handling and closure support including better introspection for caller and outer - PGE (Parrot Grammar Engine) provides now compilers for P6Rule, P6Grammar, P5Regexp, and Glob - ca. 1000 new tests including 800 for Perl5 regexp - Improved unicode charset and encoding support - Calling conventions for exception handlers - Punie (Perl 1) uses TGE (Tree Grammar Engine) to convert from PGE match objects to AST via two steps of tree transformation grammars - New languages: amber and lua - The usual code fixes, cleanup, and improvements, including an overhaul of the config and test framework New in 0.3.1 - Variable sized register frames are finished. Each subroutine gets the amount of registers that it actually needs. No more spilling. - Vastly improved PGE (Parrot Grammar Engine) including shift-reduce, precedence-based expression parser and support for matching of bracketed text delimited by e.g. ()[]{}'" - uniccode character classification (is_upper ...) - support for heredoc syntax in assembler - improved examples, basic JSON support - debian packaging support - the usual improvements, bug fixes, and cleanup - test count exceeds 3000 New in 0.3.0 - New calling conventions implemented: see PDD03 for details - Merge multiple Parrot bytecode (PBC) files into a singe PBC file - 'make smoke' target going beta - bc now supports if statements, comparison ops, prefix inc/dec - ParTcl adds [lassign], [switch] (partially); [expr] converted to a compiler - Many exciting doc updates, tests, and bugfixes, too numerous to mention New in 0.2.3 - Dynamic classes now compile on Windows (including ParTcl) - New Super PMC allows easy access to superclass methods - Implement C3 method resolution order (just like Perl6 & Python) - ParTcl has new PIR-based parser and passes more Tcl tests - added character class support in Globs to PGE - added language implementations of unlambda, Lazy-k - many bugfixes, including GC and memory leaks - the new calling scheme continued to evolve in branches/leo-ctx5 New in 0.2.2 - new call scheme: docs/pdds/pdd03_calling_conventions.pod - partial implementation of the new calling conventions PASM only, don't mix PIR foo() call syntax with the new scheme - grammar and rule support in PGE - the Parrot Grammar Engine - TCL passes >10% of the tcl test suite - the usual bugfixes and improvements New in 0.2.1 - better HLL support (short names for object attributes, and .HLL and n_operators pragmas) - string encoding and charset can now be set independently - experimental mmap IO layer for slurping files - distinct debug and trace flag settings - glob support in PGE - new character classification opcodes and interfaces New in 0.2.0 - parrot repository is now under subversion - MMD (Multi Method Dispatch) enhanced - new unary and infix opcodes that return new result PMCs - dynamic scalar PMCs inherit now almost all from Parrot core PMCs - more unification of PMCs and ParrotObjects - tailcalls for functions and methods - PGE (Parrot Grammar Engine) reworked - Pugs creates Parrot code and Pugs is a registered compiler now - new languages/lisp - the usual bug fixes and improvements New in 0.1.2 - New string handling code. Strings now have charset and encoding - Parts of a generation garbage collector - Better Python code, separated in dynclasses - Parrot Grammar Engine - Improved test coverage and documentation New in 0.1.1 Parrot 0.1.1 is an intermediate release with tons of updates and fixes. - Python support: Parrot runs 4/7 of the pie-thon test suite - Better OS support: more platforms, compiler, OS functions - Improved PIR syntax for method calls and <op>= assignment - Dynamic loading reworked including a "make install" target - MMD - multi method dispatch for binary vtable methods - Library improvement and cleanup - BigInt, Complex, *Array, Slice, Enumerate, None PMC classes - IA64 and hppa JIT support - Tons of fixes, improvements, new tests, and documentation updates. A lot is unfinished and keeps changing. Nethertheless Parrot is stable and usable at the surface, while internals are moving. New in 0.1.0 - "Ladies and gentlemen, I give you... objects!" - Huge documentation overhaul - More supported platforms, s. PLATFORMS - Basic thread support for pthread based architectures - Basic event handling for timers and signals including: - PASM callbacks for NCI (native C) functions. - Improved platform configuration - COW stacks now working, stacks code redone - Structure handling vastly improved - Random PMC and rand primitives - Better subroutine call syntax in PIR - Make PIR subroutines compliant with pdd03 - Improved profiling (DOD, GC timings) - Hash code improvements, incl. random key order support - Experimental freeze/thaw code for some PMC types - IO improvements for buffered layer and Win32 - String iterators - String bitwise vtables - Many new opcodes - Support for JIT, where malloced memory isn't executable - Priority DOD scheme for objects that need timely destruction - Improved byte code loading (e.g. onLoad functions) - Language updates: forth, Perl6/P6C, m4 - Libraries: Getopt_Long, SDL, Dumper, Sort - new JAPH examples - Unified imcc and parrot test handling - Many new tests (make test reports 1386 tests) - Numerous bug fixes New in 0.0.13 - The Big Move: Parrot source and build files rearranged into sub dirs - Build imcc as parrot - Objects more finished - Delegate vtable methods to byte code - Binary multi-method dispatching - Isa and does methods for PMCs - Call byte code from C - Start of extension interface - Experimental struct handling - Catch access to NULL PMCs - Experimental network socket interface code and opcodes - IO fixes and improvements - Dynamic opcode libraries - Fix-assigned opcode numbers - Argument flattening for function calls - More native call interface (NCI) signatures - Ncurses, postgres, and pcre interface libraries - Forth language is vastly improved - BSD and Win32 build improvements - Many new tests and fixes New in 0.0.12 - This number intentionally left blank New in 0.0.11 - Executable output - Dynamic PMC registration - Trial exception system - Beginnings of object system - Iterators - Ordered hashes - I/O system improvements - References - Documentation for basic PMC types - IMCC support of Parrot Calling Conventions - Runtime loading of chartypes (and other string improvements) - Conditional breakpoints - Dramatically accelerated sweeps for finalizable objects - Small PMCs (PMCs split into core and extensions) - Loadable bytecode packfiles - Constant PMCs - Sub variants that deal with the stack correctly - Switched runops core - Line numbers in warnings - Environment access - Many documentation cleanups - Conversion to CPS style! - BASIC debugger and many other wacky features - Filename, line number parsing support in IMCC New in 0.0.10 - IMCC integration - eval - some more benchmarking - cgp core - optimized math ops - intersegment branches - more complete use of PObjs - beefed up packfiles - sub/continuation/coroutine fixes - better NCI (native calling interface) - many imcc improvements - jako improvements New in 0.0.9 - Native function calling interface (Dan) - Stack/list aggregate rewrite (Leo) - Scratchpads (Jonathan Sillito) - Preliminary DotGNU support -- type conversion ops (Gopal V + Leo) - Buffer/PMC unification (Leo) - stabs debugging support for JIT (Leo) - Jako overhaul (Gregor) - Optional Lea allocator (Leo) - Parrot sprintf (Brent) - Miniparrot (Josh) - PMC Properties (Dan) - Various JIT improvements (D. Grunblatt + Leo) - Extensible packfiles (Juergen) - Restructured PMC hierarchy (Leo) - Real Scheme (Juergen) New in 0.0.8 - Several new grammars and a BNF -> perl5 and perl6 converter (Jeff) - Working Perl6 REs (Sean) - Keyed Access (Tom Hughes et al) - New PMCs (Alberto et al) - Better Documentation - New COW semantics - GC acceleration (Mike Lambert) - Lexical scope (Jonathan Sillito) - IMCC patches - JIT for the ARM New in 0.0.7 - Perl 6 Grammar and Compiler (Sean) - Subroutines, coroutines, and continuations (Melvin) - GC improvements (Peter Gibbs, Mike Lambert) - Global variables (Melvin) - Intermediate bytecode compiler (Melvin, Angel) - And much, much more. New in 0.0.6 - New assembler that support keyed types (Jeff) - New macro layer, allowing constants (Jeff) - New Configure.pl (Brent) - Changes to bytecode format, endian issues resolved (Melvin) - GC improvements and bug fixes (Peter Gibbs, Mike Lambert) - JIT compiler rewrite (Jason and Daniel) - Parrot assembler in Parrot (Daniel) - Parrot debugger (Daniel) - BASIC polished, Eliza.bas is new (Clint) - Cola compiler committed and working, with limited OOP (Melvin) - Keyed aggregates (Steve Fink) - Global ops (Melvin) - Compile-time speedup (Melvin) - Much documentation - New PDDs (Dan) - Contributed tetris and lzw files - And many more, from the cast of thousands New in 0.0.5 - Full GC - Perl Scalar support in PMCs - Array and Hash types almost ready for prime-time - Internal support for keyed types - EMACS editing mode - New PDDs - New Language - BASIC - Regular expression compiler - More tests - Many, many bug fixes, enhancements, and speedups New in 0.0.4 - Arena-based memory allocation system - Copying GC - New IO subsystem - "Predereferencing" mode - ./parrot -P - 22% speedup - JIT compiler - ./parrot -j - Parrot now builds warnings-clean on many platforms - Many more PMC methods implemented - Regular expression operations - Added a FAQ - Basic support for embedding Parrot in other programs - Warnings support - Added PDDs to distribution - Bignum library - PMC inheritance - Added an assembly optimizer - Improved string encoding/type support - Many more tests - Source reformatting - Major refactoring in packfile library - More Miniperl functionality - New PMC "clone" operator - Beginnings of key-based access to PMCs - arrays and hashes - MOPS comparisons in examples/mops/ New in 0.0.3 - PMCs! - Perl base scalar types implemented - A new minilanguage, Scheme - Much improved documentation - Register stacks pushing and popping - User stack pushing, popping and rotating - Jako updates: subroutines, more example programs, optimizations - test_prog renamed to 'parrot' - Added features to the assembler: @ for current location, and global labels - Build tweaks for VMS - Bytecode typing clean-ups - More platforms: OS X, HPUX, OS/2 - The proliferation of runops cores reduced to one fast and one slow one - Opcode tracing, bounds checking, profiling - Vastly improved string support, with separation of encoding and charset - Lots more tests - Multiple interpreter creation support - the beginnings of threading - Much better resource handling - the beginnings of GC New in 0.0.2 - Parrot now works on all core platforms - A large number of tests, in the standard Perl testing framework - A new minilanguage (Jako) which compiles to Parrot assembly - Documentation about the assembly language (docs/parrot_assembly.pod) - Separate modules for assembly (Parrot::Assemble) and bytecode manipulation (Parrot::PackFile::*, packfile.c) - Assembler completely rewritten - Better operand-type guessing in the assembler - Assembler support for '\n' etc. in string constants - Code reformatted to match the coding standards - New ops for register-constant INTEGER comparisons - Macro expansion in the assembler - IVs and NVs renamed to more friendly INTVAL and NUMVAL - Hard-coded pack("") formats removed - Better handling of floating-point numbers in assembler - Moved floats to constant table (fixing many alignment issues)
Diffstat (limited to 'lang/parrot')
-rw-r--r--lang/parrot/DESCR15
-rw-r--r--lang/parrot/Makefile57
-rw-r--r--lang/parrot/PLIST572
-rw-r--r--lang/parrot/buildlink3.mk20
-rw-r--r--lang/parrot/distinfo12
-rw-r--r--lang/parrot/patches/patch-aa147
-rw-r--r--lang/parrot/patches/patch-ab60
-rw-r--r--lang/parrot/patches/patch-ac14
-rw-r--r--lang/parrot/patches/patch-ad12
9 files changed, 862 insertions, 47 deletions
diff --git a/lang/parrot/DESCR b/lang/parrot/DESCR
index 3944f43721c..14c8e22cf72 100644
--- a/lang/parrot/DESCR
+++ b/lang/parrot/DESCR
@@ -1,10 +1,5 @@
-PARROT: A bytecode language possible to be used in the future by
-Perl 6 and a Python.
-
-The idea was originally an April fool's joke...
-
-"What we're releasing today is a very, very early alpha of the Parrot
-interpreter. At the moment, we have support for some simple
-operations on integer, floating point and string registers, and the
-ability to read in and execute bytecode. We also have an assembler
-which can generate bytecode output from Parrot assembly."
+Parrot is the new interpreter being designed from scratch to support the
+upcoming Perl6 language. It is being designed as a standalone virtual
+machine that can be used to execute bytecode compiled dynamic languages
+such as Perl6, but also Perl5. Ideally, Parrot can be used to support
+other dynamic, bytecode-compiled languages such as Python, Ruby and Tcl.
diff --git a/lang/parrot/Makefile b/lang/parrot/Makefile
index 362940dac2b..ed9a461be7a 100644
--- a/lang/parrot/Makefile
+++ b/lang/parrot/Makefile
@@ -1,31 +1,44 @@
-# $NetBSD: Makefile,v 1.7 2005/07/16 01:19:11 jlam Exp $
+# $NetBSD: Makefile,v 1.8 2006/01/03 19:25:06 wiz Exp $
#
-DISTNAME= parrot-0.0.1
-CATEGORIES= lang
-MASTER_SITES= http://www.netthink.co.uk/downloads/
+DISTNAME= parrot-0.4.0
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=../by-authors/id/L/LT/LTOETSCH/}
-MAINTAINER= tech-pkg@NetBSD.org
-HOMEPAGE= http://www.python.org/parrot.html
-COMMENT= Bytecode language possibly to be used by Perl/Python
+MAINTAINER= debolaz@gmail.com
+HOMEPAGE= http://www.parrotcode.org/
+COMMENT= Virtual machine made to run Perl 6 and other languages
-USE_TOOLS+= perl:run
+USE_TOOLS+= gmake perl
-BUILD_TARGET= test_prog
+BUILD_TARGET= world_shared
-INSTALLATION_DIRS= bin
+.include "../../mk/bsd.prefs.mk"
-do-install:
- ${INSTALL_PROGRAM_DIR} ${PREFIX}/include/parrot
- ${INSTALL_PROGRAM_DIR} ${PREFIX}/share/doc/parrot
- ${INSTALL_PROGRAM_DIR} ${PREFIX}/share/parrot
- ${INSTALL_PROGRAM} ${WRKSRC}/test_prog ${PREFIX}/bin/parrot
- ${INSTALL_SCRIPT} ${WRKSRC}/assemble.pl ${PREFIX}/share/parrot
- ${INSTALL_SCRIPT} ${WRKSRC}/disassemble.pl ${PREFIX}/share/parrot
- ${INSTALL_SCRIPT} ${WRKSRC}/t/test*.pasm ${PREFIX}/share/parrot
- ${INSTALL_DATA} ${WRKSRC}/opcode_table ${PREFIX}/include/parrot
- ${INSTALL_DATA} ${WRKSRC}/interp_guts.h ${PREFIX}/include/parrot
- ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/parrot
- ${INSTALL_DATA} ${WRKSRC}/TODO ${PREFIX}/share/doc/parrot
+CONFIGURE_ARGS+= --prefix=${PREFIX}/parrot \
+ --icu-config=${PREFIX}/bin/icu-config \
+ --verbose
+# If you have another architecture, please test if it can compile
+# with jit support and report status to the maintainer.
+
+.if ${MACHINE_ARCH} == "i386"
+CONFIGURE_ARGS+= --jitcapable \
+ --execcapable
+.endif
+
+do-configure:
+ cd ${WRKSRC} && ${PERL5} Configure.pl ${CONFIGURE_ARGS}
+
+post-configure:
+ ${MV} ${WRKSRC}/Makefile ${WRKSRC}/Makefile.orig
+ ${SED} -e '/^BIN_DIR/s|$$(EXEC_PREFIX)|${PREFIX}|' \
+ -e '/^INCLUDE_DIR/s|$$(EXEC_PREFIX)/include|${PREFIX}|' \
+ < ${WRKSRC}/Makefile.orig \
+ > ${WRKSRC}/Makefile
+
+post-install:
+ ${INSTALL_LIB} ${WRKSRC}/blib/lib/libparrot.* ${PREFIX}/lib
+
+.include "../../textproc/icu/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/parrot/PLIST b/lang/parrot/PLIST
index 942cde24d23..4f65ef91ada 100644
--- a/lang/parrot/PLIST
+++ b/lang/parrot/PLIST
@@ -1,14 +1,564 @@
-@comment $NetBSD: PLIST,v 1.1 2001/11/01 00:24:27 zuntum Exp $
-share/parrot/assemble.pl
-share/parrot/disassemble.pl
+@comment $NetBSD: PLIST,v 1.2 2006/01/03 19:25:06 wiz Exp $
+bin/disassemble
bin/parrot
-share/doc/parrot/README
-share/doc/parrot/TODO
+bin/pbc_info
+bin/pbc_merge
+bin/pdb
+bin/pdump
+include/parrot/autoprefix.h
+include/parrot/builtin.h
+include/parrot/caches.h
+include/parrot/cclass.h
+include/parrot/charset.h
+include/parrot/config.h
+include/parrot/core_pmcs.h
+include/parrot/datatypes.h
+include/parrot/debug.h
+include/parrot/dod.h
+include/parrot/dynext.h
+include/parrot/embed.h
+include/parrot/encoding.h
+include/parrot/enums.h
+include/parrot/events.h
+include/parrot/exceptions.h
+include/parrot/exec.h
+include/parrot/exec_dep.h
+include/parrot/exec_save.h
+include/parrot/exit.h
+include/parrot/extend.h
+include/parrot/extend_vtable.h
+include/parrot/feature.h
+include/parrot/global.h
+include/parrot/global_setup.h
+include/parrot/has_header.h
+include/parrot/hash.h
+include/parrot/headers.h
+include/parrot/hll.h
+include/parrot/inter_call.h
include/parrot/interp_guts.h
-include/parrot/opcode_table
-share/parrot/test.pasm
-share/parrot/test2.pasm
-share/parrot/test3.pasm
+include/parrot/interpreter.h
+include/parrot/intlist.h
+include/parrot/io.h
+include/parrot/jit.h
+include/parrot/jit_emit.h
+include/parrot/key.h
+include/parrot/library.h
+include/parrot/list.h
+include/parrot/longopt.h
+include/parrot/memory.h
+include/parrot/method_util.h
+include/parrot/misc.h
+include/parrot/mmd.h
+include/parrot/nci.h
+include/parrot/objects.h
+include/parrot/op.h
+include/parrot/oplib.h
+include/parrot/oplib/core_ops.h
+include/parrot/oplib/core_ops_cg.h
+include/parrot/oplib/core_ops_cgp.h
+include/parrot/oplib/core_ops_switch.h
+include/parrot/oplib/ops.h
+include/parrot/packfile.h
+include/parrot/parrot.h
+include/parrot/perltypes.h
+include/parrot/pic.h
+include/parrot/platform.h
+include/parrot/platform_interface.h
+include/parrot/pmc.h
+include/parrot/pmc_freeze.h
+include/parrot/pobj.h
+include/parrot/register.h
+include/parrot/resources.h
+include/parrot/runops_cores.h
+include/parrot/settings.h
+include/parrot/slice.h
+include/parrot/smallobject.h
+include/parrot/stacks.h
+include/parrot/stat.h
+include/parrot/string.h
+include/parrot/string_funcs.h
+include/parrot/string_primitives.h
+include/parrot/string_private_cstring.h
+include/parrot/sub.h
+include/parrot/thr_pthread.h
+include/parrot/thr_windows.h
+include/parrot/thread.h
+include/parrot/trace.h
+include/parrot/tsq.h
+include/parrot/unicode.h
+include/parrot/vtable.h
+include/parrot/vtables.h
+include/parrot/warnings.h
+lib/libparrot.a
+lib/libparrot.so
+lib/libparrot.so.${PKGVERSION}
+parrot/LICENSES/Artistic
+parrot/LICENSES/gpl.txt
+parrot/NEWS
+parrot/PBC_COMPAT
+parrot/PLATFORMS
+parrot/README
+parrot/README.win32
+parrot/RESPONSIBLE_PARTIES
+parrot/TODO
+parrot/VERSION
+parrot/docs/debugger.pod
+parrot/docs/dev/byteorder.dev
+parrot/docs/dev/jit_${MACHINE_ARCH}.dev
+parrot/docs/dev/longopt.dev
+parrot/docs/dev/nanoparrot.c
+parrot/docs/dev/optimizer.pod
+parrot/docs/embed.pod
+parrot/docs/extend.pod
+parrot/docs/faq.pod
+parrot/docs/gettingstarted.pod
+parrot/docs/glossary.pod
+parrot/docs/intro.pod
+parrot/docs/jit.pod
+parrot/docs/memory_internals.pod
+parrot/docs/mmd.pod
+parrot/docs/native_exec.pod
+parrot/docs/ops/bit.pod
+parrot/docs/ops/cmp.pod
+parrot/docs/ops/core.pod
+parrot/docs/ops/debug.pod
+parrot/docs/ops/dotgnu.pod
+parrot/docs/ops/experimental.pod
+parrot/docs/ops/io.pod
+parrot/docs/ops/math.pod
+parrot/docs/ops/object.pod
+parrot/docs/ops/obscure.pod
+parrot/docs/ops/pic.pod
+parrot/docs/ops/pmc.pod
+parrot/docs/ops/python.pod
+parrot/docs/ops/set.pod
+parrot/docs/ops/stack.pod
+parrot/docs/ops/string.pod
+parrot/docs/ops/sys.pod
+parrot/docs/ops/var.pod
+parrot/docs/overview.pod
+parrot/docs/parrot.pod
+parrot/docs/parrotbyte.pod
+parrot/docs/pdds/README
+parrot/docs/pdds/clip/pdd01_overview.pod
+parrot/docs/pdds/clip/pdd02_vtables.pod
+parrot/docs/pdds/clip/pdd04_datatypes.pod
+parrot/docs/pdds/clip/pdd05_opfunc.pod
+parrot/docs/pdds/clip/pdd06_pasm.pod
+parrot/docs/pdds/clip/pdd07_codingstd.pod
+parrot/docs/pdds/clip/pdd08_keys.pod
+parrot/docs/pdds/clip/pdd09_gc.pod
+parrot/docs/pdds/clip/pdd10_embedding.pod
+parrot/docs/pdds/clip/pdd11_extending.pod
+parrot/docs/pdds/clip/pdd12_assembly.pod
+parrot/docs/pdds/clip/pdd13_bytecode.pod
+parrot/docs/pdds/clip/pdd14_bignum.pod
+parrot/docs/pdds/clip/pdd15_objects.pod
+parrot/docs/pdds/clip/pdd16_native_call.pod
+parrot/docs/pdds/clip/pdd17_basic_types.pod
+parrot/docs/pdds/clip/pdd18_security.pod
+parrot/docs/pdds/clip/pdd19_pir.pod
+parrot/docs/pdds/pdd00_pdd.pod
+parrot/docs/pdds/pdd03_calling_conventions.pod
+parrot/docs/pdds/pdd20_lexical_vars.pod
+parrot/docs/pdds/pdd_template.pod
+parrot/docs/pmc.pod
+parrot/docs/pmc/array.pod
+parrot/docs/pmc/iterator.pod
+parrot/docs/pmc/perlarray.pod
+parrot/docs/pmc/perlhash.pod
+parrot/docs/pmc/perlstring.pod
+parrot/docs/pmc/struct.pod
+parrot/docs/pmc/subs.pod
+parrot/docs/porting_intro.pod
+parrot/docs/practical_notes.pod
+parrot/docs/req/model_users.pod
+parrot/docs/resources/favicon.ico
+parrot/docs/resources/parrot.small.png
+parrot/docs/resources/perl.css
+parrot/docs/resources/up.gif
+parrot/docs/running.pod
+parrot/docs/strings.pod
+parrot/docs/submissions.pod
+parrot/docs/tests.pod
+parrot/docs/vtables.pod
+parrot/dynclasses/dynlexpad.pmc
+parrot/examples/README
+parrot/examples/benchmarks/addit.imc
+parrot/examples/benchmarks/addit.pasm
+parrot/examples/benchmarks/addit.pl
+parrot/examples/benchmarks/addit.rb
+parrot/examples/benchmarks/addit2.imc
+parrot/examples/benchmarks/array_access.imc
+parrot/examples/benchmarks/arriter.imc
+parrot/examples/benchmarks/arriter.pl
+parrot/examples/benchmarks/arriter.rb
+parrot/examples/benchmarks/arriter_o1.imc
+parrot/examples/benchmarks/bench_newp.pasm
+parrot/examples/benchmarks/fib.imc
+parrot/examples/benchmarks/fib.pl
+parrot/examples/benchmarks/fib.py
+parrot/examples/benchmarks/fib.rb
+parrot/examples/benchmarks/freeze.pasm
+parrot/examples/benchmarks/freeze.pl
+parrot/examples/benchmarks/gc_alloc_new.pasm
+parrot/examples/benchmarks/gc_alloc_reuse.pasm
+parrot/examples/benchmarks/gc_generations.pasm
+parrot/examples/benchmarks/gc_header_new.pasm
+parrot/examples/benchmarks/gc_header_reuse.pasm
+parrot/examples/benchmarks/gc_waves_headers.pasm
+parrot/examples/benchmarks/gc_waves_sizeable_data.pasm
+parrot/examples/benchmarks/gc_waves_sizeable_headers.pasm
+parrot/examples/benchmarks/mops.pasm
+parrot/examples/benchmarks/mops.pl
+parrot/examples/benchmarks/mops_intval.pasm
+parrot/examples/benchmarks/oo1.pasm
+parrot/examples/benchmarks/oo1.pl
+parrot/examples/benchmarks/oo1.py
+parrot/examples/benchmarks/oo1.rb
+parrot/examples/benchmarks/oo2.pasm
+parrot/examples/benchmarks/oo2.pl
+parrot/examples/benchmarks/oo2.py
+parrot/examples/benchmarks/oo2.rb
+parrot/examples/benchmarks/oo3.pasm
+parrot/examples/benchmarks/oo3.pl
+parrot/examples/benchmarks/oo3.py
+parrot/examples/benchmarks/oo3.rb
+parrot/examples/benchmarks/oo4.pasm
+parrot/examples/benchmarks/oo4.pl
+parrot/examples/benchmarks/oo4.py
+parrot/examples/benchmarks/oo4.rb
+parrot/examples/benchmarks/oo5.imc
+parrot/examples/benchmarks/oo5.pl
+parrot/examples/benchmarks/oo5.py
+parrot/examples/benchmarks/oo5.rb
+parrot/examples/benchmarks/oo6.imc
+parrot/examples/benchmarks/oo6.pl
+parrot/examples/benchmarks/oo6.py
+parrot/examples/benchmarks/oo6.rb
+parrot/examples/benchmarks/oofib.imc
+parrot/examples/benchmarks/oofib.pl
+parrot/examples/benchmarks/oofib.py
+parrot/examples/benchmarks/oofib.rb
+parrot/examples/benchmarks/oon.txt
+parrot/examples/benchmarks/overload.imc
+parrot/examples/benchmarks/overload.pl
+parrot/examples/benchmarks/primes.c
+parrot/examples/benchmarks/primes.pasm
+parrot/examples/benchmarks/primes.pl
+parrot/examples/benchmarks/primes2.c
+parrot/examples/benchmarks/primes2.pasm
+parrot/examples/benchmarks/primes2.pl
+parrot/examples/benchmarks/primes2.py
+parrot/examples/benchmarks/primes2.rb
+parrot/examples/benchmarks/primes2_i.pasm
+parrot/examples/benchmarks/primes_i.pasm
+parrot/examples/benchmarks/shared_ref.pasm
+parrot/examples/benchmarks/shared_ref.pl
+parrot/examples/benchmarks/stress.pasm
+parrot/examples/benchmarks/stress.pl
+parrot/examples/benchmarks/stress.rb
+parrot/examples/benchmarks/stress1.pasm
+parrot/examples/benchmarks/stress1.pl
+parrot/examples/benchmarks/stress2.pasm
+parrot/examples/benchmarks/stress2.pl
+parrot/examples/benchmarks/stress2.rb
+parrot/examples/benchmarks/stress3.pasm
+parrot/examples/benchmarks/vpm.imc
+parrot/examples/benchmarks/vpm.pl
+parrot/examples/benchmarks/vpm.py
+parrot/examples/benchmarks/vpm.rb
+parrot/examples/c/test_main.c
+parrot/examples/compilers/Makefile
+parrot/examples/compilers/japhc.c
+parrot/examples/io/echo_client.imc
+parrot/examples/io/http.imc
+parrot/examples/io/httpd.imc
+parrot/examples/io/net_smtp.pasm
+parrot/examples/io/pioctl.pasm
+parrot/examples/io/pipe2.imc
+parrot/examples/io/pipe3.imc
+parrot/examples/japh/README
+parrot/examples/japh/japh1.pasm
+parrot/examples/japh/japh10.pasm
+parrot/examples/japh/japh11.pasm
+parrot/examples/japh/japh12.pasm
+parrot/examples/japh/japh13.pasm
+parrot/examples/japh/japh14.pasm
+parrot/examples/japh/japh15.pasm
+parrot/examples/japh/japh16.pasm
+parrot/examples/japh/japh17.pasm
+parrot/examples/japh/japh2.pasm
+parrot/examples/japh/japh3.pasm
+parrot/examples/japh/japh4.pasm
+parrot/examples/japh/japh5.pasm
+parrot/examples/japh/japh6.pasm
+parrot/examples/japh/japh7.pasm
+parrot/examples/japh/japh8.pasm
+parrot/examples/japh/japh9.pasm
+parrot/examples/library/acorn.l
+parrot/examples/library/getopt_demo.pir
+parrot/examples/library/md5sum.pir
+parrot/examples/library/ncurses_life.imc
+parrot/examples/library/pcre.pir
+parrot/examples/mops/README
+parrot/examples/mops/mops.c
+parrot/examples/mops/mops.cs
+parrot/examples/mops/mops.il
+parrot/examples/mops/mops.p6
+parrot/examples/mops/mops.pl
+parrot/examples/mops/mops.ps
+parrot/examples/mops/mops.py
+parrot/examples/mops/mops.rb
+parrot/examples/mops/mops.scheme
+parrot/examples/pasm/99beer.pasm
+parrot/examples/pasm/cat.pasm
+parrot/examples/pasm/fact.pasm
+parrot/examples/pasm/hello.pasm
+parrot/examples/pasm/nanoforth.pasm
+parrot/examples/pasm/nanoforth2.pasm
+parrot/examples/pasm/queens.pasm
+parrot/examples/pasm/small.xml
+parrot/examples/pasm/stack.pasm
+parrot/examples/pasm/trace.pasm
+parrot/examples/pasm/xml_parser.pasm
+parrot/examples/past/hello.past
+parrot/examples/pge/README
+parrot/examples/pge/all.pir
+parrot/examples/pge/p6parse.pir
+parrot/examples/pge/perl6.pir
+parrot/examples/pge/simple.pir
+parrot/examples/pir/circle.pir
+parrot/examples/pir/euclid.pir
+parrot/examples/pir/hanoi.pir
+parrot/examples/pir/hello-dwim.pir
+parrot/examples/pir/io.pir
+parrot/examples/pir/life.pir
+parrot/examples/pir/local_label.pir
+parrot/examples/pir/mandel.pir
+parrot/examples/pir/queens_r.pir
+parrot/examples/pir/readline.pir
+parrot/examples/pir/substr.pir
+parrot/examples/pir/sudoku.pir
+parrot/examples/pir/thr-primes.pir
+parrot/examples/pir/uniq.pir
+parrot/examples/pni/PQt.C
+parrot/examples/pni/QtHelloWorld.pasm
+parrot/examples/pni/ls.pir
+parrot/examples/pni/sdl_blue_rectangle.imc
+parrot/examples/pni/win32api.imc
+parrot/examples/sdl/minesweeper/README
+parrot/examples/sdl/minesweeper/eventhandler.imc
+parrot/examples/sdl/minesweeper/field.imc
+parrot/examples/sdl/minesweeper/mines.imc
+parrot/examples/sdl/minesweeper/mines.png
+parrot/examples/sdl/minesweeper/mines_debug.png
+parrot/examples/sdl/minesweeper/smiley.png
+parrot/examples/sdl/tetris/README
+parrot/examples/sdl/tetris/app.imc
+parrot/examples/sdl/tetris/block.imc
+parrot/examples/sdl/tetris/blockdata.imc
+parrot/examples/sdl/tetris/blocks.imc
+parrot/examples/sdl/tetris/board.imc
+parrot/examples/sdl/tetris/boarddata.imc
+parrot/examples/sdl/tetris/eventhandler.imc
+parrot/examples/sdl/tetris/tetris.imc
+parrot/examples/streams/Bytes.imc
+parrot/examples/streams/Combiner.imc
+parrot/examples/streams/Coroutine.imc
+parrot/examples/streams/FileLines.imc
+parrot/examples/streams/Filter.imc
+parrot/examples/streams/Include.imc
+parrot/examples/streams/Lines.imc
+parrot/examples/streams/ParrotIO.imc
+parrot/examples/streams/Replay.imc
+parrot/examples/streams/SubCounter.imc
+parrot/examples/streams/SubHello.imc
+parrot/examples/streams/Writer.imc
+parrot/examples/subs/bsr_ret.pasm
+parrot/examples/subs/coroutine.pasm
+parrot/examples/subs/jsr_ret.pasm
+parrot/examples/subs/pasm_sub1.pasm
+parrot/examples/subs/sub1.imc
+parrot/examples/subs/sub2.imc
+parrot/examples/subs/sub3.imc
+parrot/imcc/ChangeLog
+parrot/imcc/README
+parrot/imcc/docs/calling_conventions.pod
+parrot/imcc/docs/imcc.pod
+parrot/imcc/docs/imcfaq.pod
+parrot/imcc/docs/macros.pod
+parrot/imcc/docs/operation.pod
+parrot/imcc/docs/parsing.pod
+parrot/imcc/docs/syntax.pod
+parrot/imcc/examples/README
+parrot/imcc/examples/sample.imc
+parrot/imcc/examples/sub.imc
+parrot/imcc/examples/test_allocate.imc
+parrot/imcc/examples/test_spilling.imc
+parrot/parrot-config.imc
+parrot/runtime/parrot/dynext/README
+parrot/runtime/parrot/include/DWIM.imc
+parrot/runtime/parrot/include/README
+parrot/runtime/parrot/include/call_bits.pasm
+parrot/runtime/parrot/include/cclass.pasm
+parrot/runtime/parrot/include/config.fpmc
+parrot/runtime/parrot/include/datatypes.pasm
+parrot/runtime/parrot/include/errors.pasm
+parrot/runtime/parrot/include/except_severity.pasm
+parrot/runtime/parrot/include/except_types.pasm
+parrot/runtime/parrot/include/iglobals.pasm
+parrot/runtime/parrot/include/interpcores.pasm
+parrot/runtime/parrot/include/interpdebug.pasm
+parrot/runtime/parrot/include/interpflags.pasm
+parrot/runtime/parrot/include/interpinfo.pasm
+parrot/runtime/parrot/include/interptrace.pasm
+parrot/runtime/parrot/include/iotypes.pasm
+parrot/runtime/parrot/include/iterator.pasm
+parrot/runtime/parrot/include/longopt.pasm
+parrot/runtime/parrot/include/mmd.pasm
+parrot/runtime/parrot/include/parrotlib.pbc
+parrot/runtime/parrot/include/pmctypes.pasm
+parrot/runtime/parrot/include/signal.pasm
+parrot/runtime/parrot/include/stat.pasm
+parrot/runtime/parrot/include/stdio.pasm
+parrot/runtime/parrot/include/stringinfo.pasm
+parrot/runtime/parrot/include/sysinfo.pasm
+parrot/runtime/parrot/include/timer.pasm
+parrot/runtime/parrot/include/tm.pasm
+parrot/runtime/parrot/include/vtable_methods.pasm
+parrot/runtime/parrot/include/warnings.pasm
+parrot/runtime/parrot/library/Data/Dumper.imc
+parrot/runtime/parrot/library/Data/Dumper.pbc
+parrot/runtime/parrot/library/Data/Dumper/Base.imc
+parrot/runtime/parrot/library/Data/Dumper/Base.pbc
+parrot/runtime/parrot/library/Data/Dumper/Default.imc
+parrot/runtime/parrot/library/Data/Dumper/Default.pbc
+parrot/runtime/parrot/library/Data/Escape.imc
+parrot/runtime/parrot/library/Data/Escape.pbc
+parrot/runtime/parrot/library/Data/Replace.imc
+parrot/runtime/parrot/library/Data/Sort.imc
+parrot/runtime/parrot/library/Data/Sort.pbc
+parrot/runtime/parrot/library/Digest/MD5.pir
+parrot/runtime/parrot/library/File/Spec.pir
+parrot/runtime/parrot/library/File/Spec/Unix.pir
+parrot/runtime/parrot/library/File/Spec/Win32.pir
+parrot/runtime/parrot/library/Getopt/Long.pbc
+parrot/runtime/parrot/library/Getopt/Long.pir
+parrot/runtime/parrot/library/JSON.imc
+parrot/runtime/parrot/library/JSON/Parser.pir
+parrot/runtime/parrot/library/PGE.pbc
+parrot/runtime/parrot/library/PGE/Dumper.pir
+parrot/runtime/parrot/library/PGE/Glob.pir
+parrot/runtime/parrot/library/PGE/Hs.pir
+parrot/runtime/parrot/library/PGE/Text.pir
+parrot/runtime/parrot/library/PGE/Util.pir
+parrot/runtime/parrot/library/SDL.imc
+parrot/runtime/parrot/library/SDL/App.imc
+parrot/runtime/parrot/library/SDL/Button.imc
+parrot/runtime/parrot/library/SDL/Color.imc
+parrot/runtime/parrot/library/SDL/Constants.imc
+parrot/runtime/parrot/library/SDL/Event.imc
+parrot/runtime/parrot/library/SDL/EventHandler.imc
+parrot/runtime/parrot/library/SDL/Font.imc
+parrot/runtime/parrot/library/SDL/Image.imc
+parrot/runtime/parrot/library/SDL/LCD.imc
+parrot/runtime/parrot/library/SDL/LCD.png
+parrot/runtime/parrot/library/SDL/Rect.imc
+parrot/runtime/parrot/library/SDL/Sprite.imc
+parrot/runtime/parrot/library/SDL/StopWatch.imc
+parrot/runtime/parrot/library/SDL/Surface.imc
+parrot/runtime/parrot/library/Stream/Base.imc
+parrot/runtime/parrot/library/Stream/Base.pbc
+parrot/runtime/parrot/library/Stream/Combiner.imc
+parrot/runtime/parrot/library/Stream/Combiner.pbc
+parrot/runtime/parrot/library/Stream/Coroutine.imc
+parrot/runtime/parrot/library/Stream/Coroutine.pbc
+parrot/runtime/parrot/library/Stream/Filter.imc
+parrot/runtime/parrot/library/Stream/Filter.pbc
+parrot/runtime/parrot/library/Stream/Lines.imc
+parrot/runtime/parrot/library/Stream/Lines.pbc
+parrot/runtime/parrot/library/Stream/ParrotIO.imc
+parrot/runtime/parrot/library/Stream/ParrotIO.pbc
+parrot/runtime/parrot/library/Stream/Replay.imc
+parrot/runtime/parrot/library/Stream/Replay.pbc
+parrot/runtime/parrot/library/Stream/Sub.imc
+parrot/runtime/parrot/library/Stream/Sub.pbc
+parrot/runtime/parrot/library/Stream/Writer.imc
+parrot/runtime/parrot/library/Stream/Writer.pbc
+parrot/runtime/parrot/library/Test/Builder.pir
+parrot/runtime/parrot/library/Test/Builder/Output.pir
+parrot/runtime/parrot/library/Test/Builder/Test.pir
+parrot/runtime/parrot/library/Test/Builder/TestPlan.pir
+parrot/runtime/parrot/library/Test/Builder/Tester.pir
+parrot/runtime/parrot/library/Test/More.pir
+parrot/runtime/parrot/library/YAML/Parser/Syck.imc
+parrot/runtime/parrot/library/config.imc
+parrot/runtime/parrot/library/config.pbc
+parrot/runtime/parrot/library/dumper.imc
+parrot/runtime/parrot/library/dumper.pbc
+parrot/runtime/parrot/library/libpcre.imc
+parrot/runtime/parrot/library/ncurses.declarations
+parrot/runtime/parrot/library/ncurses.imc
+parrot/runtime/parrot/library/ncurses.pasm
+parrot/runtime/parrot/library/ncurses.pbc
+parrot/runtime/parrot/library/parrotlib.pbc
+parrot/runtime/parrot/library/pcore.pir
+parrot/runtime/parrot/library/pcre.imc
+parrot/runtime/parrot/library/pcre.pbc
+parrot/runtime/parrot/library/postgres.declarations
+parrot/runtime/parrot/library/postgres.imc
+parrot/runtime/parrot/library/postgres.pasm
+@dirrm parrot/runtime/parrot/library/YAML/Parser
+@dirrm parrot/runtime/parrot/library/YAML
+@dirrm parrot/runtime/parrot/library/Test/Builder
+@dirrm parrot/runtime/parrot/library/Test
+@dirrm parrot/runtime/parrot/library/Stream
+@dirrm parrot/runtime/parrot/library/SDL
+@dirrm parrot/runtime/parrot/library/PGE
+@dirrm parrot/runtime/parrot/library/JSON
+@dirrm parrot/runtime/parrot/library/Getopt
+@dirrm parrot/runtime/parrot/library/File/Spec
+@dirrm parrot/runtime/parrot/library/File
+@dirrm parrot/runtime/parrot/library/Digest
+@dirrm parrot/runtime/parrot/library/Data/Dumper
+@dirrm parrot/runtime/parrot/library/Data
+@dirrm parrot/runtime/parrot/library
+@dirrm parrot/runtime/parrot/include
+@dirrm parrot/runtime/parrot/dynext
+@dirrm parrot/runtime/parrot
+@dirrm parrot/runtime
+@dirrm parrot/imcc/examples
+@dirrm parrot/imcc/docs
+@dirrm parrot/imcc
+@dirrm parrot/examples/subs
+@dirrm parrot/examples/streams
+@dirrm parrot/examples/sdl/tetris
+@dirrm parrot/examples/sdl/minesweeper
+@dirrm parrot/examples/sdl
+@dirrm parrot/examples/pni
+@dirrm parrot/examples/pir
+@dirrm parrot/examples/pge
+@dirrm parrot/examples/past
+@dirrm parrot/examples/pasm
+@dirrm parrot/examples/mops
+@dirrm parrot/examples/library
+@dirrm parrot/examples/japh
+@dirrm parrot/examples/io
+@dirrm parrot/examples/compilers
+@dirrm parrot/examples/c
+@dirrm parrot/examples/benchmarks
+@dirrm parrot/examples
+@dirrm parrot/dynclasses
+@dirrm parrot/docs/resources
+@dirrm parrot/docs/req
+@dirrm parrot/docs/pmc
+@dirrm parrot/docs/pdds/clip
+@dirrm parrot/docs/pdds
+@dirrm parrot/docs/ops
+@dirrm parrot/docs/dev
+@dirrm parrot/docs
+@dirrm parrot/LICENSES
+@dirrm parrot
+@dirrm include/parrot/oplib
@dirrm include/parrot
-@dirrm share/doc/parrot
-@dirrm share/parrot
diff --git a/lang/parrot/buildlink3.mk b/lang/parrot/buildlink3.mk
new file mode 100644
index 00000000000..8db57e67787
--- /dev/null
+++ b/lang/parrot/buildlink3.mk
@@ -0,0 +1,20 @@
+# $NetBSD: buildlink3.mk,v 1.1 2006/01/03 19:25:06 wiz Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+PARROT_BUILDLINK3_MK:= ${PARROT_BUILDLINK3_MK}+
+
+.if !empty(BUILDLINK_DEPTH:M+)
+BUILDLINK_DEPENDS+= parrot
+.endif
+
+BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nparrot}
+BUILDLINK_PACKAGES+= parrot
+
+.if !empty(PARROT_BUILDLINK3_MK:M+)
+BUILDLINK_DEPENDS.parrot+= parrot>=0.4.0
+BUILDLINK_PKGSRCDIR.parrot?= ../../lang/parrot
+.endif # PARROT_BUILDLINK3_MK
+
+.include "../../textproc/icu/buildlink3.mk"
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/parrot/distinfo b/lang/parrot/distinfo
index 061733504c4..eca00499ded 100644
--- a/lang/parrot/distinfo
+++ b/lang/parrot/distinfo
@@ -1,5 +1,9 @@
-$NetBSD: distinfo,v 1.2 2005/02/24 09:03:10 agc Exp $
+$NetBSD: distinfo,v 1.3 2006/01/03 19:25:06 wiz Exp $
-SHA1 (parrot-0.0.1.tar.gz) = f32bc13e361d5bc557d68224a531a9de4dfa0286
-RMD160 (parrot-0.0.1.tar.gz) = 4b1e4e56fb4be7109b32d38c4f123b3d32d94264
-Size (parrot-0.0.1.tar.gz) = 21973 bytes
+SHA1 (parrot-0.4.0.tar.gz) = afddc542831affabe432f46a4891b2cae0e7322e
+RMD160 (parrot-0.4.0.tar.gz) = 8e97cf6acc727a5f0294468332cbb8674da54fba
+Size (parrot-0.4.0.tar.gz) = 2811017 bytes
+SHA1 (patch-aa) = b29ef494fa0fccfe3de5e5cb0bb27103074e619f
+SHA1 (patch-ab) = cc1ebdc737a70fb4771b5d097b8b0fb4c2f73537
+SHA1 (patch-ac) = 450953f049ae8311945864103398e7ca868ef078
+SHA1 (patch-ad) = 46f58e853005227aff4a8daeafa53074caca5063
diff --git a/lang/parrot/patches/patch-aa b/lang/parrot/patches/patch-aa
new file mode 100644
index 00000000000..eae85c66886
--- /dev/null
+++ b/lang/parrot/patches/patch-aa
@@ -0,0 +1,147 @@
+$NetBSD: patch-aa,v 1.1 2006/01/03 19:25:06 wiz Exp $
+
+--- MANIFEST.orig Tue Jan 3 00:31:28 2006
++++ MANIFEST Tue Jan 3 00:33:10 2006
+@@ -716,74 +716,74 @@
+ imcc/symreg.c []
+ imcc/symreg.h []
+ imcc/unit.h []
+-include/parrot/autoprefix.h [main]
+-include/parrot/builtin.h [main]
+-include/parrot/caches.h [main]
+-include/parrot/cclass.h [main]
+-include/parrot/charset.h [main]
+-include/parrot/datatypes.h [main]
+-include/parrot/debug.h [main]
+-include/parrot/dod.h [main]
+-include/parrot/dynext.h [main]
+-include/parrot/embed.h [main]
+-include/parrot/encoding.h [main]
+-include/parrot/enums.h [main]
+-include/parrot/events.h [main]
+-include/parrot/exceptions.h [main]
+-include/parrot/exec.h [main]
+-include/parrot/exec_save.h [main]
+-include/parrot/exit.h [main]
+-include/parrot/extend.h [main]
+-include/parrot/global.h [main]
+-include/parrot/global_setup.h [main]
+-include/parrot/hash.h [main]
+-include/parrot/headers.h [main]
+-include/parrot/hll.h [main]
+-include/parrot/inter_call.h [main]
+-include/parrot/interp_guts.h [main]
+-include/parrot/interpreter.h [main]
+-include/parrot/intlist.h [main]
+-include/parrot/io.h [main]
+-include/parrot/jit.h [main]
+-include/parrot/key.h [main]
+-include/parrot/library.h [main]
+-include/parrot/list.h [main]
+-include/parrot/longopt.h [main]
+-include/parrot/memory.h [main]
+-include/parrot/method_util.h [main]
+-include/parrot/misc.h [main]
+-include/parrot/mmd.h [main]
+-include/parrot/nci.h [main]
+-include/parrot/objects.h [main]
+-include/parrot/op.h [main]
+-include/parrot/oplib.h [main]
+-include/parrot/packfile.h [main]
+-include/parrot/parrot.h [main]
+-include/parrot/perltypes.h [main]
+-include/parrot/pic.h [main]
+-include/parrot/pmc.h [main]
+-include/parrot/pmc_freeze.h [main]
+-include/parrot/pobj.h [main]
+-include/parrot/register.h [main]
+-include/parrot/resources.h [main]
+-include/parrot/runops_cores.h [main]
+-include/parrot/settings.h [main]
+-include/parrot/slice.h [main]
+-include/parrot/smallobject.h [main]
+-include/parrot/stacks.h [main]
+-include/parrot/stat.h [main]
+-include/parrot/string.h [main]
+-include/parrot/string_funcs.h [main]
+-include/parrot/string_primitives.h [main]
+-include/parrot/sub.h [main]
+-include/parrot/thr_pthread.h [main]
+-include/parrot/thr_windows.h [main]
+-include/parrot/thread.h [main]
+-include/parrot/trace.h [main]
+-include/parrot/tsq.h [main]
+-include/parrot/unicode.h [main]
+-include/parrot/vtables.h [main]
+-include/parrot/warnings.h [main]
++include/parrot/autoprefix.h [main]include
++include/parrot/builtin.h [main]include
++include/parrot/caches.h [main]include
++include/parrot/cclass.h [main]include
++include/parrot/charset.h [main]include
++include/parrot/datatypes.h [main]include
++include/parrot/debug.h [main]include
++include/parrot/dod.h [main]include
++include/parrot/dynext.h [main]include
++include/parrot/embed.h [main]include
++include/parrot/encoding.h [main]include
++include/parrot/enums.h [main]include
++include/parrot/events.h [main]include
++include/parrot/exceptions.h [main]include
++include/parrot/exec.h [main]include
++include/parrot/exec_save.h [main]include
++include/parrot/exit.h [main]include
++include/parrot/extend.h [main]include
++include/parrot/global.h [main]include
++include/parrot/global_setup.h [main]include
++include/parrot/hash.h [main]include
++include/parrot/headers.h [main]include
++include/parrot/hll.h [main]include
++include/parrot/inter_call.h [main]include
++include/parrot/interp_guts.h [main]include
++include/parrot/interpreter.h [main]include
++include/parrot/intlist.h [main]include
++include/parrot/io.h [main]include
++include/parrot/jit.h [main]include
++include/parrot/key.h [main]include
++include/parrot/library.h [main]include
++include/parrot/list.h [main]include
++include/parrot/longopt.h [main]include
++include/parrot/memory.h [main]include
++include/parrot/method_util.h [main]include
++include/parrot/misc.h [main]include
++include/parrot/mmd.h [main]include
++include/parrot/nci.h [main]include
++include/parrot/objects.h [main]include
++include/parrot/op.h [main]include
++include/parrot/oplib.h [main]include
++include/parrot/packfile.h [main]include
++include/parrot/parrot.h [main]include
++include/parrot/perltypes.h [main]include
++include/parrot/pic.h [main]include
++include/parrot/pmc.h [main]include
++include/parrot/pmc_freeze.h [main]include
++include/parrot/pobj.h [main]include
++include/parrot/register.h [main]include
++include/parrot/resources.h [main]include
++include/parrot/runops_cores.h [main]include
++include/parrot/settings.h [main]include
++include/parrot/slice.h [main]include
++include/parrot/smallobject.h [main]include
++include/parrot/stacks.h [main]include
++include/parrot/stat.h [main]include
++include/parrot/string.h [main]include
++include/parrot/string_funcs.h [main]include
++include/parrot/string_primitives.h [main]include
++include/parrot/sub.h [main]include
++include/parrot/thr_pthread.h [main]include
++include/parrot/thr_windows.h [main]include
++include/parrot/thread.h [main]include
++include/parrot/trace.h [main]include
++include/parrot/tsq.h [main]include
++include/parrot/unicode.h [main]include
++include/parrot/vtables.h [main]include
++include/parrot/warnings.h [main]include
+ io/io.c []
+ io/io_buf.c []
+ io/io_layers.c []
diff --git a/lang/parrot/patches/patch-ab b/lang/parrot/patches/patch-ab
new file mode 100644
index 00000000000..33dbd857f25
--- /dev/null
+++ b/lang/parrot/patches/patch-ab
@@ -0,0 +1,60 @@
+$NetBSD: patch-ab,v 1.1 2006/01/03 19:25:06 wiz Exp $
+
+--- MANIFEST.generated.orig Sun Dec 4 13:23:09 2005
++++ MANIFEST.generated Tue Jan 3 15:19:45 2006
+@@ -1,16 +1,9 @@
+ installable_parrot [main]bin
+-pdump [main]bin
+ pdump_shared [main]bin
+-pdb [main]bin
+ pdb_shared [main]bin
+-pbc_info [main]bin
+ pbc_info_shared [main]bin
+-pbc_merge [main]bin
+ pbc_merge_shared [main]bin
+-disassemble [main]bin
+ disassemble_shared [main]bin
+-blib/lib/libparrot.a [main]lib
+-blib/lib/libparrot.so.0.4.0 [main]lib
+ runtime/parrot/library/Data/Dumper/Base.pbc [main]
+ runtime/parrot/library/Data/Dumper/Default.pbc [main]
+ runtime/parrot/library/Data/Dumper.pbc [main]
+@@ -60,22 +53,22 @@
+ runtime/parrot/include/tm.pasm [main]
+ runtime/parrot/include/vtable_methods.pasm [main]
+ runtime/parrot/include/warnings.pasm [main]
+-include/parrot/config.h [main]
+-include/parrot/core_pmcs.h [main]
+-include/parrot/exec_dep.h [main]
+-include/parrot/extend_vtable.h [main]
+-include/parrot/feature.h [main]
+-include/parrot/has_header.h [main]
+-include/parrot/jit_emit.h [main]
+-include/parrot/platform.h [main]
+-include/parrot/platform_interface.h [main]
+-include/parrot/string_private_cstring.h [main]
+-include/parrot/vtable.h [main]
+-include/parrot/oplib/core_ops.h [main]
+-include/parrot/oplib/core_ops_cg.h [main]
+-include/parrot/oplib/core_ops_cgp.h [main]
+-include/parrot/oplib/core_ops_switch.h [main]
+-include/parrot/oplib/ops.h [main]
++include/parrot/config.h [main]include
++include/parrot/core_pmcs.h [main]include
++include/parrot/exec_dep.h [main]include
++include/parrot/extend_vtable.h [main]include
++include/parrot/feature.h [main]include
++include/parrot/has_header.h [main]include
++include/parrot/jit_emit.h [main]include
++include/parrot/platform.h [main]include
++include/parrot/platform_interface.h [main]include
++include/parrot/string_private_cstring.h [main]include
++include/parrot/vtable.h [main]include
++include/parrot/oplib/core_ops.h [main]include
++include/parrot/oplib/core_ops_cg.h [main]include
++include/parrot/oplib/core_ops_cgp.h [main]include
++include/parrot/oplib/core_ops_switch.h [main]include
++include/parrot/oplib/ops.h [main]include
+ docs/ops/bit.pod [main]doc
+ docs/ops/cmp.pod [main]doc
+ docs/ops/core.pod [main]doc
diff --git a/lang/parrot/patches/patch-ac b/lang/parrot/patches/patch-ac
new file mode 100644
index 00000000000..8aced88aeea
--- /dev/null
+++ b/lang/parrot/patches/patch-ac
@@ -0,0 +1,14 @@
+$NetBSD: patch-ac,v 1.1 2006/01/03 19:25:06 wiz Exp $
+
+--- config/init/hints/freebsd.pm.orig Sun Nov 13 23:34:12 2005
++++ config/init/hints/freebsd.pm Tue Dec 27 09:27:08 2005
+@@ -22,8 +22,7 @@
+ $libs .= ' -pthread';
+ }
+ else {
+- $libs =~ s/-lc\b\s*//;
+- $libs .= ' -lc_r';
++ $libs .= ' -lpthread';
+ }
+
+ Parrot::Configure::Data->set(
diff --git a/lang/parrot/patches/patch-ad b/lang/parrot/patches/patch-ad
new file mode 100644
index 00000000000..f9bb3d1ee63
--- /dev/null
+++ b/lang/parrot/patches/patch-ad
@@ -0,0 +1,12 @@
+$NetBSD: patch-ad,v 1.1 2006/01/03 19:25:06 wiz Exp $
+
+--- tools/dev/install_files.pl.orig Tue Jan 3 15:03:48 2006
++++ tools/dev/install_files.pl Tue Jan 3 15:04:31 2006
+@@ -175,6 +175,7 @@
+ $dest = File::Spec->catdir($options{libdir}, $dest);
+ } elsif ($meta{bin}) {
+ $dest =~ s/^installable_//; # parrot with different config
++ $dest =~ s/_shared$//; # shared binaries shouldn't be named _shared
+ $dest = File::Spec->catdir($options{bindir}, $dest);
+ if ($exe) {
+ $src .= $exe;