aboutsummaryrefslogtreecommitdiff
path: root/skel
diff options
context:
space:
mode:
authorpmichaud <pmichaud@pobox.com>2012-08-28 00:36:53 -0500
committerpmichaud <pmichaud@pobox.com>2012-08-28 00:36:53 -0500
commitc012d8b882480151d8eb7da92c4cca80d1d9b814 (patch)
tree827354a3d38adfafe328ef55fa454147cc4af868 /skel
parentc3ff6182252a634e2ce8167a8bd367932e858dd5 (diff)
Move skel/ into top-level directory, to try building directly from the repo.
Diffstat (limited to 'skel')
-rw-r--r--skel/LICENSE201
-rw-r--r--skel/README165
-rw-r--r--skel/docs/CREDITS57
-rw-r--r--skel/docs/UsingPerl6-draft.pdfbin702794 -> 0 bytes
-rw-r--r--skel/docs/announce/2010.07125
-rw-r--r--skel/docs/announce/2010.0879
-rw-r--r--skel/docs/announce/2010.0980
-rw-r--r--skel/docs/announce/2010.1077
-rw-r--r--skel/docs/announce/2010.1172
-rw-r--r--skel/docs/announce/2010.1272
-rw-r--r--skel/docs/announce/2011.0173
-rw-r--r--skel/docs/announce/2011.0479
-rw-r--r--skel/docs/announce/2011.0784
-rw-r--r--skel/docs/announce/2012.01122
-rw-r--r--skel/docs/announce/2012.02101
-rw-r--r--skel/docs/announce/2012.0480
-rw-r--r--skel/docs/announce/2012.0567
-rw-r--r--skel/docs/announce/2012.0682
-rw-r--r--skel/docs/announce/2012.07108
-rw-r--r--skel/docs/announce/2012.08104
-rw-r--r--skel/docs/cheatsheet.txt64
-rw-r--r--skel/tools/build/Makefile.in162
-rw-r--r--skel/tools/build/bin-install.pl28
-rw-r--r--skel/tools/build/module-install.pl112
-rw-r--r--skel/tools/build/star-product.wxs68
-rw-r--r--skel/tools/lib/NQP/Configure.pm365
26 files changed, 0 insertions, 2627 deletions
diff --git a/skel/LICENSE b/skel/LICENSE
deleted file mode 100644
index 32efefc..0000000
--- a/skel/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- The Artistic License 2.0
-
- Copyright (c) 2000-2006, The Perl Foundation.
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-Preamble
-
-This license establishes the terms under which a given free software
-Package may be copied, modified, distributed, and/or redistributed.
-The intent is that the Copyright Holder maintains some artistic
-control over the development of that Package while still keeping the
-Package available as open source and free software.
-
-You are always permitted to make arrangements wholly outside of this
-license directly with the Copyright Holder of a given Package. If the
-terms of this license do not permit the full use that you propose to
-make of the Package, you should contact the Copyright Holder and seek
-a different licensing arrangement.
-
-Definitions
-
- "Copyright Holder" means the individual(s) or organization(s)
- named in the copyright notice for the entire Package.
-
- "Contributor" means any party that has contributed code or other
- material to the Package, in accordance with the Copyright Holder's
- procedures.
-
- "You" and "your" means any person who would like to copy,
- distribute, or modify the Package.
-
- "Package" means the collection of files distributed by the
- Copyright Holder, and derivatives of that collection and/or of
- those files. A given Package may consist of either the Standard
- Version, or a Modified Version.
-
- "Distribute" means providing a copy of the Package or making it
- accessible to anyone else, or in the case of a company or
- organization, to others outside of your company or organization.
-
- "Distributor Fee" means any fee that you charge for Distributing
- this Package or providing support for this Package to another
- party. It does not mean licensing fees.
-
- "Standard Version" refers to the Package if it has not been
- modified, or has been modified only in ways explicitly requested
- by the Copyright Holder.
-
- "Modified Version" means the Package, if it has been changed, and
- such changes were not explicitly requested by the Copyright
- Holder.
-
- "Original License" means this Artistic License as Distributed with
- the Standard Version of the Package, in its current version or as
- it may be modified by The Perl Foundation in the future.
-
- "Source" form means the source code, documentation source, and
- configuration files for the Package.
-
- "Compiled" form means the compiled bytecode, object code, binary,
- or any other form resulting from mechanical transformation or
- translation of the Source form.
-
-
-Permission for Use and Modification Without Distribution
-
-(1) You are permitted to use the Standard Version and create and use
-Modified Versions for any purpose without restriction, provided that
-you do not Distribute the Modified Version.
-
-
-Permissions for Redistribution of the Standard Version
-
-(2) You may Distribute verbatim copies of the Source form of the
-Standard Version of this Package in any medium without restriction,
-either gratis or for a Distributor Fee, provided that you duplicate
-all of the original copyright notices and associated disclaimers. At
-your discretion, such verbatim copies may or may not include a
-Compiled form of the Package.
-
-(3) You may apply any bug fixes, portability changes, and other
-modifications made available from the Copyright Holder. The resulting
-Package will still be considered the Standard Version, and as such
-will be subject to the Original License.
-
-
-Distribution of Modified Versions of the Package as Source
-
-(4) You may Distribute your Modified Version as Source (either gratis
-or for a Distributor Fee, and with or without a Compiled form of the
-Modified Version) provided that you clearly document how it differs
-from the Standard Version, including, but not limited to, documenting
-any non-standard features, executables, or modules, and provided that
-you do at least ONE of the following:
-
- (a) make the Modified Version available to the Copyright Holder
- of the Standard Version, under the Original License, so that the
- Copyright Holder may include your modifications in the Standard
- Version.
-
- (b) ensure that installation of your Modified Version does not
- prevent the user installing or running the Standard Version. In
- addition, the Modified Version must bear a name that is different
- from the name of the Standard Version.
-
- (c) allow anyone who receives a copy of the Modified Version to
- make the Source form of the Modified Version available to others
- under
-
- (i) the Original License or
-
- (ii) a license that permits the licensee to freely copy,
- modify and redistribute the Modified Version using the same
- licensing terms that apply to the copy that the licensee
- received, and requires that the Source form of the Modified
- Version, and of any works derived from it, be made freely
- available in that license fees are prohibited but Distributor
- Fees are allowed.
-
-
-Distribution of Compiled Forms of the Standard Version
-or Modified Versions without the Source
-
-(5) You may Distribute Compiled forms of the Standard Version without
-the Source, provided that you include complete instructions on how to
-get the Source of the Standard Version. Such instructions must be
-valid at the time of your distribution. If these instructions, at any
-time while you are carrying out such distribution, become invalid, you
-must provide new instructions on demand or cease further distribution.
-If you provide valid instructions or cease distribution within thirty
-days after you become aware that the instructions are invalid, then
-you do not forfeit any of your rights under this license.
-
-(6) You may Distribute a Modified Version in Compiled form without
-the Source, provided that you comply with Section 4 with respect to
-the Source of the Modified Version.
-
-
-Aggregating or Linking the Package
-
-(7) You may aggregate the Package (either the Standard Version or
-Modified Version) with other packages and Distribute the resulting
-aggregation provided that you do not charge a licensing fee for the
-Package. Distributor Fees are permitted, and licensing fees for other
-components in the aggregation are permitted. The terms of this license
-apply to the use and Distribution of the Standard or Modified Versions
-as included in the aggregation.
-
-(8) You are permitted to link Modified and Standard Versions with
-other works, to embed the Package in a larger work of your own, or to
-build stand-alone binary or bytecode versions of applications that
-include the Package, and Distribute the result without restriction,
-provided the result does not expose a direct interface to the Package.
-
-
-Items That are Not Considered Part of a Modified Version
-
-(9) Works (including, but not limited to, modules and scripts) that
-merely extend or make use of the Package, do not, by themselves, cause
-the Package to be a Modified Version. In addition, such works are not
-considered parts of the Package itself, and are not subject to the
-terms of this license.
-
-
-General Provisions
-
-(10) Any use, modification, and distribution of the Standard or
-Modified Versions is governed by this Artistic License. By using,
-modifying or distributing the Package, you accept this license. Do not
-use, modify, or distribute the Package, if you do not accept this
-license.
-
-(11) If your Modified Version has been derived from a Modified
-Version made by someone other than you, you are nevertheless required
-to ensure that your Modified Version complies with the requirements of
-this license.
-
-(12) This license does not grant you the right to use any trademark,
-service mark, tradename, or logo of the Copyright Holder.
-
-(13) This license includes the non-exclusive, worldwide,
-free-of-charge patent license to make, have made, use, offer to sell,
-sell, import and otherwise transfer the Package with respect to any
-patent claims licensable by the Copyright Holder that are necessarily
-infringed by the Package. If you institute patent litigation
-(including a cross-claim or counterclaim) against any party alleging
-that the Package constitutes direct or contributory patent
-infringement, then this Artistic License to you shall terminate on the
-date that such litigation is filed.
-
-(14) Disclaimer of Warranty:
-THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
-IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
-NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
-LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/skel/README b/skel/README
deleted file mode 100644
index 2194532..0000000
--- a/skel/README
+++ /dev/null
@@ -1,165 +0,0 @@
-This is Rakudo Star, a useful, usable Perl 6 distribution for "early adopters".
-
-This is the 2012.08 release of Rakudo Star.
-
-Rakudo Star is Copyright (C) 2010 - 2012 by the Rakudo Star Team.
-
-License Information
--------------------
-Rakudo Star is distributed under the terms of the Artistic License 2.0.
-This distribution contains software collected from other sources; see the
-individual source subdirectories (in parrot/, rakudo/, and modules/) for
-copyright and licensing information of those components.
-
-
-Build Prerequisites
--------------------
-To build Rakudo Star you need at least a C compiler, a 'make' utility,
-and Perl 5.8.4 or newer. You probably also want a machine with a fair
-amount of memory available: 1GB is known to be too small for building
-Rakudo, while 1.5GB is generally known to be sufficient.
-
-In order to fully support Unicode, you'll also want to have the
-ICU library installed (http://site.icu-project.org/).
-Rakudo can run without ICU, but some Unicode-related features
-will not work properly.
-
-On Debian GNU/Linux or Ubuntu Linux, the necessary components
-for building Rakudo can be installed via the command
-
- aptitude install build-essential libicu-dev
-
-Readline support also requires the "libreadline-dev" library.
-
-On RedHat/Fedora/CentOS, the components can be installed with
-
- yum groupinstall development-tools
- yum install libicu-devel readline-devel
-
-
-Building Rakudo Star
---------------------
-The basic steps to build Rakudo Star are:
-
- $ perl Configure.pl --gen-parrot
- $ make
- $ make install
-
-This will build a Perl 6 executable and install selected
-Perl 6 modules into the install/ subdirectory, which resides
-inside the source archive directory. Running make install
-will *not* install anything into /usr/local. Programs can
-then be run directly using a command like:
-
- $ ./perl6 hello.pl
-
-Programs can also be run by adding the "install/bin" directory
-to your PATH environment variable.
-
-The "--gen-parrot" option above tells Configure.pl to automatically
-build and install the version of Parrot that is distributed with
-Rakudo Star. The "--prefix=" option can be provided to Configure.pl
-to change the location of the install directory.
-
-If your system already has an installed Parrot, Configure.pl will
-look for "parrot_config" in your execution PATH, or the location
-of parrot_config can be explicitly provided to Configure.pl via
-the "--parrot_config" option:
-
- $ perl Configure.pl --parrot-config=/path/to/bin/parrot_config
-
-If the Rakudo compiler is invoked without an explicit script to
-run, it enters a small interactive mode that allows Perl 6 statements
-to be executed from the command line.
-
-
-Running the Perl 6 test suite
------------------------------
-Entering "make rakudo-test" will run a small test suite that comes
-bundled with Rakudo. This is a simple suite of tests, designed
-to make sure that the Rakudo compiler is basically working and that
-it's capable of running a simple test harness.
-
-Running "make spectest" in the rakudo/ subdirectory will import
-the official Perl 6 test suite from the roast repository
-(https://github.com/perl6/roast/) and run all of these tests
-that are currently known to pass.
-
-If you want to automatically submit the results of your spectest run
-to a central server, use 'make spectest_smolder' instead. You need
-the Perl 5 module 'TAP::Harness::Archive' and an active internet
-connection for that.
-
-For more details about running tests, see rakudo/README .
-
-
-Release information
--------------------
-Information about the current release is placed in the docs/
-directory, here is a brief overview:
-
- docs/cheatsheet.txt — Perl 6 cheat sheet
- docs/announce/ — detailed release announcements
-
-
-Where to get help or answers to questions
------------------------------------------
-The http://perl6.org/ website contains a great many links to
-resources for Perl 6 development, and is generally the starting
-point for information about Perl 6.
-
-There are several mailing lists, IRC channels, and wikis available
-with help for Perl 6 and Rakudo on Parrot. Figuring out the right
-one to use is often the biggest battle. Here are some rough
-guidelines:
-
-If you have a question about Perl 6 syntax or the right way to
-approach a problem using Perl 6, you probably want the
-perl6-users@perl.org mailing list. This list is primarily
-for the people who want to use Perl 6 to write programs, as
-opposed to those who are implementing or developing the Perl 6
-language itself.
-
-Questions about the Rakudo compiler for Parrot and the Parrot compiler
-tools can go to perl6-compiler@perl.org. Discussion about Parrot itself
-generally takes place on parrot-dev@lists.parrot.org.
-
-The Rakudo and Parrot development teams tend to hang out on IRC a fair
-bit, on irc.freenode.net/#perl6 and irc.parrot.org/#parrot, respectively.
-
-Rakudo's official web site is http://rakudo.org/ , where you can
-find useful information for developers and users alike.
-
-
-Reporting bugs
---------------
-Bug reports about Rakudo Star or the Perl 6 specification should be
-sent to rakudobug@perl.org with the moniker [BUG] (including the brackets)
-at the start of the subject so that it gets appropriately tagged in the
-RT system (https://rt.perl.org/rt3/). Please include or attach any sample
-source code that exhibits the bug, and include either the release name/date
-or the git commit identifier. You find that information in the output from
-"perl6 --version". There's no need to Cc: the perl6-compiler
-mailing list, as the RT system will handle this on its own.
-
-
-Submitting patches
-------------------
-Patches to the Rakudo compiler itself should be submitted to
-'rakudobug@perl.org'. Patches for individual modules should be
-submitted to the module authors (see the module source code for
-details).
-
-We'll generally accept patches in any form if we can get them to work,
-but unified diff from the 'git' command is greatly preferred.
-See further instructions in the rakudo/ subdirectory for more details.
-Other ways to create and submit patches are discussed at
-http://wiki.github.com/rakudo/rakudo/steps-to-create-a-patch.
-
-AUTHOR
-------
-Patrick Michaud (pmichaud@pobox.com) is the primary author and
-maintainer for Rakudo Star. See docs/CREDITS for further Rakudo
-Star authors, and */CREDITS for authors of other collected
-components.
-
diff --git a/skel/docs/CREDITS b/skel/docs/CREDITS
deleted file mode 100644
index f933c37..0000000
--- a/skel/docs/CREDITS
+++ /dev/null
@@ -1,57 +0,0 @@
-=pod
-
- Following in the steps of other open source projects that
- eventually take over the world, here is the partial list
- of people who have contributed to Rakudo and its supporting
- works. It is sorted by name and formatted to allow easy
- grepping and beautification by scripts.
- The fields are: name (N), email (E), web-address (W),
- description (D), repository username (U) and snail-mail
- address (S).
-
- Thanks,
-
- The Rakudo Star Team
- PS: Yes, this looks remarkably like the Linux CREDITS format
- PPS: This file is encoded in UTF-8
-
-----------
-
-N: Carl Masak
-E: cmasak@gmail.com
-U: masak
-
-N: Jonathan Scott Duff
-U: perlpilot
-E: duff@pobox.com
-
-N: Jonathan Worthington
-U: jnthn
-E: jnthn@jnthn.net
-W: http://www.jnthn.net/
-
-N: Martin Berends
-E: mberends@autoexec.demon.nl
-D: Rakudo patch(es)
-
-N: Moritz Lenz
-E: moritz@faui2k3.org
-U: moritz
-U: moritz_
-D: Test infrastructure, tests, various Rakudo features and built-ins
-
-N: Patrick R. Michaud
-U: pmichaud
-D: Perl 6 (Rakudo Perl) lead developer, pumpking
-E: pmichaud@pobox.com
-
-N: Dave Olszewski
-E: cxreg@pobox.com
-U: cxreg
-D: Bugfixes and moral support
-
-N: Tadeusz Sośnierz
-E: tadzikes@gmail.com
-U: tadzik
-
-=cut
diff --git a/skel/docs/UsingPerl6-draft.pdf b/skel/docs/UsingPerl6-draft.pdf
deleted file mode 100644
index 0a3ded4..0000000
--- a/skel/docs/UsingPerl6-draft.pdf
+++ /dev/null
Binary files differ
diff --git a/skel/docs/announce/2010.07 b/skel/docs/announce/2010.07
deleted file mode 100644
index 5896acc..0000000
--- a/skel/docs/announce/2010.07
+++ /dev/null
@@ -1,125 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the July 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the July 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". "Rakudo Star" is a distribution that includes
-release #31 of the Rakudo Perl 6 compiler [1], version 2.6.0 of
-the Parrot Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community. We
-plan to make Rakudo Star releases on a monthly schedule, with
-occasional special releases in response to important bugfixes or
-changes.
-
-Some of the many cool Perl 6 features that are available in this
-release of Rakudo Star:
- * Perl 6 grammars and regexes
- * formal parameter lists and signatures
- * metaoperators
- * gradual typing
- * a powerful object model, including roles and classes
- * lazy list evaluation
- * multiple dispatch
- * smart matching
- * junctions and autothreading
- * operator overloading (limited forms for now)
- * introspection
- * currying
- * a rich library of builtin operators, functions, and types
- * an interactive read-evaluation-print loop
- * Unicode at the codepoint level
- * resumable exceptions
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-
-Rakudo Star also bundles a number of modules; a partial list of
-the modules provided by this release include:
- * Blizkost
- - enables some Perl 5 modules to be used from within Rakudo Perl 6
- * MiniDBI
- - a simple database interface for Rakudo Perl 6
- * Zavolaj
- - call C library functions from Rakudo Perl 6
- * SVG and SVG::Plot
- - create scalable vector graphics
- * HTTP::Daemon
- - a simple HTTP server
- * XML::Writer
- - generate XML
- * YAML
- - dump Perl 6 objects as YAML
- * Term::ANSIColor
- - color screen output using ANSI escape sequences
- * Test::Mock
- - create mock objects and check what methods were called
- * Math::Model
- - describe and run mathematical models
- * Config::INI
- - parse and write configuration files
- * File::Find
- - find files in a given directory
- * LWP::Simple
- - fetch resources from the web
-
-These are not considered "core Perl 6 modules", and as module
-development for Perl 6 continues to mature, future releases
-of Rakudo Star will likely come bundled with a different set
-of modules. Deprecation policies for bundled modules will be
-created over time, and other Perl 6 distributions may choose
-different sets of modules or policies. More information about
-Perl 6 modules can be found at http://modules.perl6.org/.
-
-Rakudo Star also contains a draft of a Perl 6 book -- see
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a monthly cycle or as needed
-in response to important bug fixes or improvements. The next planned
-release of Rakudo Star will be on August 24, 2010.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2010.08 b/skel/docs/announce/2010.08
deleted file mode 100644
index 42ac145..0000000
--- a/skel/docs/announce/2010.08
+++ /dev/null
@@ -1,79 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the August 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the August 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The August 2010 Star release includes release #32
-of the Rakudo Perl 6 compiler [1], version 2.7.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * Nil is now undefined
- * Many regex modifiers are now recognized on the outside of regexes
- * Mathematic and range operations are now faster (they're still slow,
- but they're significantly faster than they were in the previous release)
- * Initial implementations of .pack and .unpack
- * MAIN can parse short arguments
- * Removed a significant memory leak for loops and other repeated blocks
-
-This release (temporarily?) omits the Config::INI module that was
-included in the 2010.07 release, as it no longer builds with the
-shipped version of Rakudo. We hope to see Config::INI return soon.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a monthly cycle or as needed
-in response to important bug fixes or improvements. The next planned
-release of Rakudo Star will be on September 28, 2010.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2010.09 b/skel/docs/announce/2010.09
deleted file mode 100644
index 5fac9da..0000000
--- a/skel/docs/announce/2010.09
+++ /dev/null
@@ -1,80 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the September 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the September 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The September 2010 Star release includes release #33
-of the Rakudo Perl 6 compiler [1], version 2.8.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * Several performance improvements have been implemented;
- notably in the slurp() and reverse() functions
- * The series operator has been refactored and updated to the current
- specification
- * Temporal objects (DateTime, Date, Instant, and Duration) are now
- completely implemented
- * Enumeration objects now conform much closer to the specification
- * 'now' and 'time' are now terms instead of functions. This means
- you can write 'time - 1' and it will do what you mean, but
- 'time()' is no longer valid.
- * The Perl 6 specification tests [3] are now included in the distribution.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a monthly cycle or as needed
-in response to important bug fixes or improvements. The next planned
-release of Rakudo Star will be on October 26, 2010.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
-[3] http://github.com/perl6/roast
diff --git a/skel/docs/announce/2010.10 b/skel/docs/announce/2010.10
deleted file mode 100644
index e85bf33..0000000
--- a/skel/docs/announce/2010.10
+++ /dev/null
@@ -1,77 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the October 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the October 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The October 2010 Star release includes release #34
-of the Rakudo Perl 6 compiler [1], version 2.9.1 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * A simple implementation of 'require'
- * Local timezone is available in $*TZ
- * Implementations of ms// ss/// (samespace)
- * Speed improvements to Str.flip
- * Hyperoperator versions of +=
- * Improved diagnostic messages and warning messages
- * True and False now stringify properly
- * Attribute modification via introspection
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a monthly cycle or as needed
-in response to important bug fixes or improvements. The next planned
-release of Rakudo Star will be on November 23, 2010.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
-[3] http://github.com/perl6/roast
diff --git a/skel/docs/announce/2010.11 b/skel/docs/announce/2010.11
deleted file mode 100644
index 294159d..0000000
--- a/skel/docs/announce/2010.11
+++ /dev/null
@@ -1,72 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the November 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the November 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The November 2010 Star release includes release #35
-of the Rakudo Perl 6 compiler [1], version 2.10.1 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * qw// is implemented
- * The .trans method is 5x faster
- * Indexing with ranges and Whatever offsets now works
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a monthly cycle or as needed
-in response to important bug fixes or improvements. The next planned
-release of Rakudo Star will be on December 28, 2010.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
-[3] http://github.com/perl6/roast
diff --git a/skel/docs/announce/2010.12 b/skel/docs/announce/2010.12
deleted file mode 100644
index 67d088f..0000000
--- a/skel/docs/announce/2010.12
+++ /dev/null
@@ -1,72 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the December 2010 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the December 2010 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The December 2010 Star release includes release #36
-of the Rakudo Perl 6 compiler [1], version 2.11.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * New .trans algorithm
- * Configuration improvements
- * More bug fixes
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Thus, we do not consider Rakudo Star to be a
-"Perl 6.0.0" or "1.0" release. Some of the not-quite-there
-features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Starting with the January 2011 release, Rakudo Star releases will be
-created on a three-month cycle, or as needed in response to important
-bug fixes or improvements. The next planned release of Rakudo Star
-will be on January 25, 2011.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2011.01 b/skel/docs/announce/2011.01
deleted file mode 100644
index be3c8a3..0000000
--- a/skel/docs/announce/2011.01
+++ /dev/null
@@ -1,73 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the January 2011 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the January 2011 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The January 2011 Star release includes release #37
-of the Rakudo Perl 6 compiler [1], version 3.0.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * faster subroutine calls (type cache)
- * implemented 'handles Rolename' trait
- * 'use Devel::Trace' debugging pragma
- * improved parsing of keyword boundaries
- * faster .comb
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Starting with this January 2011 release, Rakudo Star releases will be
-created on a three-month cycle, or as needed in response to important
-bug fixes or improvements. (The Rakudo compiler will continue with
-monthly releases.) The next planned release of Rakudo Star will be
-in April 2011.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2011.04 b/skel/docs/announce/2011.04
deleted file mode 100644
index c441c12..0000000
--- a/skel/docs/announce/2011.04
+++ /dev/null
@@ -1,79 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the April 2011 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the April 2011 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-Rakudo Star is aimed at "early adopters" of Perl 6. We know that
-it still has some bugs, it is far slower than it ought to be, and
-there are some advanced pieces of the Perl 6 language specification
-that aren't implemented yet. But Rakudo Perl 6 in its current form
-is also proving to be viable (and fun) for developing applications
-and exploring a great new language. These "Star" releases are
-intended to make Perl 6 more widely available to programmers, grow
-the Perl 6 codebase, and gain additional end-user feedback about the
-Perl 6 language and Rakudo's implementation of it.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The April 2011 Star release includes release #40
-of the Rakudo Perl 6 compiler [1], version 3.3.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * Modules MiniDBI, form, HTTP::Daemon, Yaml and Module::Tools are
- removed in this release.
- * New modules Pies (including panda, the module installer) and
- HTTP::Server::Simple have been added.
- * New implementation of IO::Socket::INET, with basic IPv6 support
- * -p and -n command-line options are now available
- * Many new IO improvements, including stat-related methods
- * New --ll-backtrace command-line switch for printing PIR level stack traces
- * Preliminary implementation of Infix 'orelse'
- * Added Str.indent
- * Bugfixes to negation meta operator
- * Support for complex conjugation
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-Rakudo Star releases are created on a three-month cycle, or as
-needed in response to important bug fixes or improvements.
-(The Rakudo compiler will continue with monthly releases.)
-The next planned release of Rakudo Star will be in July 2011.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2011.07 b/skel/docs/announce/2011.07
deleted file mode 100644
index b51858b..0000000
--- a/skel/docs/announce/2011.07
+++ /dev/null
@@ -1,84 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the July 2011 release of "Rakudo Star", a useful and usable
-distribution of Perl 6. The tarball for the July 2011 release is
-available from <http://github.com/rakudo/star/downloads>.
-
-IMPORTANT NOTE ABOUT UPCOMING RELEASES: This is the last Rakudo Star
-release to use a compiler from the current "master" branch of Rakudo.
-For the past several months, Rakudo compiler development has
-primarily occurred in a separate "nom" ("New Object Model") branch of
-its repository. Shortly after this release, the "nom" branch will
-become the new "master" branch and will be the source for future
-compiler and Star releases.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". The July 2011 Star release includes release #43
-of the Rakudo Perl 6 compiler [1], version 3.6.0 of the Parrot
-Virtual Machine [2], and various modules, documentation,
-and other resources collected from the Perl 6 community.
-
-The Rakudo team plans to issue another distribution release
-in August 2011 based on the new "nom" compiler. The new
-compiler contains many improvements over the current line
-of development (including vastly improved performance), but also
-will not be 100% backwards-compatible due to changes in the
-Perl 6 language specification and elimination of some workarounds.
-Existing Rakudo Star users looking for stability should continue
-to use the July 2011 release as the new distribution releases
-stabilize over the next several months.
-
-Details about deprecations and migration guidelines will be
-provided in future releases and on rakudo.org .
-
-This release of Rakudo Star adds the following features over the
-previous Star release:
- * 10%-30% improvement in compile and execution speed
- * New gcd (greatest common divisor) and lcm (largest common multiple) operators
- * Int.base
- * Call counter for Perl 6-level subroutines
- * Better handling of &infix:<=> right associativity
- * Fix bug in exponentiation of negative numbers
- * Fix building on systems with smaller RAM
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * nested package definitions
- * binary objects, native types, pack and unpack
- * typed arrays
- * macros
- * state variables
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * backslash escapes in regex <[...]> character classes
- * non-blocking I/O
- * most of Synopsis 9
- * perl6doc or pod manipulation tools
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2011.07 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.01 b/skel/docs/announce/2012.01
deleted file mode 100644
index 44b1f11..0000000
--- a/skel/docs/announce/2012.01
+++ /dev/null
@@ -1,122 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the January 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the January 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release #48 of the
-Rakudo Perl 6 compiler [1], version 3.11 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Significantly, this is the first distribution release based on the
-"nom" (New Object Model) development branch of Rakudo. This work
-has been carried out with the aim of increasing performance and
-correctness, as well as providing a better base for taking on a
-range of missing features. Here are some of the major improvements
-in this release over the previous distribution release.
-
-* Greatly improved performance in many areas. For some scripts, this
- release offers an order of magnitude performance improvement.
-
-* POD6 support, including the $=POD variable to make the POD available
- at runtime and a --doc option to get at the POD
-
-* The Int type now has big integer semantics
-
-* Initial work on native types, which can be used to write much
- more efficient code
-
-* LTM-driven protoregexes
-
-* Meta-programming support, including custom meta-classes, overriding
- method dispatch and much more
-
-* Exception handling is much closer to the specification, and thus much
- more useful
-
-* Better package handling, including true separate compilation, lexical
- packages and better nested package handling
-
-* An optimizer, which improves generated code as well as catching
- a range of issues at compile-time that previously made it to runtime
-
-* Backslash sequences in character classes
-
-* Stubbed methods from roles are now required, providing interface
- style functionality
-
-* Typed arrays and hashes, as well as supporting for binding to
- array and hash elements
-
-Due to improvements in the Perl 6 language specification, and
-changes to Rakudo to track them, some existing code will need
-changes. Here are some of the major differences to be aware of.
-
-* Attributes can no longer be initialized using "new" unless they
- are declared as having an accessor; either give them one or write
- a BUILD submethod
-
-* The proto keyword is no longer used to declare a multi-dispatch
- fallback
-
-* You may no longer do 'filename'.lines; use 'filename'.IO.lines
-
-We have maintained backwards compatibility with some changed pieces
-of syntax, but will drop them in an upcoming release:
-
-* "<...>" in proto regex bodies; now this should be written "*"
-
-* The use of "**" with a separator in regexes; this is now done by
- using "%" or "%%" on another quantifier
-
-While this release does contain a great number of improvements,
-unfortunately we have regressed in a few places. Of note:
-
-* Some cases of auto-vivification do not work
-
-* The binding of a capture against a signature literal is
- broken
-
-We will be working to restore this functionality for future
-Rakudo Star releases; if you depend heavily on it, you may
-wish to stick with the previous Rakudo Star release for
-another month.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * pack and unpack
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.01 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.02 b/skel/docs/announce/2012.02
deleted file mode 100644
index a32f5da..0000000
--- a/skel/docs/announce/2012.02
+++ /dev/null
@@ -1,101 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the February 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the February 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release #49 of the
-Rakudo Perl 6 compiler [1], version 4.1 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Here are some of the major improvements in this release over the
-previous distribution release.
-
-* The FatRat type is implemented, and Rat arithmetic now properly
- defaults to Num if the denominator is too big
-
-* Object hashes are implemented, and can be declared with the syntax
- my %h{Any} (for a hash with keys of type Any)
-
-* The <Some::Grammar::rulename> syntax is now implemented in regexes;
- <foo> can also be used to call predeclared lexical rules
-
-* The Int($x) coercion syntax is implemented
-
-* &rename and &copy are now implemented
-
-* Improvements to the reduction meta-operator (order of magnitude faster,
- some parsing issues fixed)
-
-* The <prior> regex built-in is now available, and matches whatever the
- last successful match matched
-
-* A $match.make(...) method is available to set the AST for a match
- object not stored in the $/ variable
-
-* Improved backtraces
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. Many more exceptions are thrown
-as typed exceptions.
-
-Due to continued evolution of and convergence with the Perl 6 spec, there
-are some changes to existing functionality that may affect your code:
-
-* You may no longer use the $.x form in submethods and attribute
- initializers, as per spec; use the non-virtual $!x instead.
-
-* The LHS of the xx operator is now thunked
-
-* .conjugate is now called .conj
-
-* Enumeration values .gist to just the key, not the full name
-
-* An empty Buf is now False in boolean context
-
-Currently, we have maintained backwards compatibility with some
-changed pieces of syntax, but will drop them in an upcoming release:
-
-* "<...>" in proto regex bodies; now this should be written "*"
-
-* The use of "**" with a separator in regexes; this is now done by
- using "%" or "%%" on another quantifier
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * pack and unpack
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * pre and post constraints, and some other phasers
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.02 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.04 b/skel/docs/announce/2012.04
deleted file mode 100644
index 3acad8c..0000000
--- a/skel/docs/announce/2012.04
+++ /dev/null
@@ -1,80 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the April 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the April 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release 2012.04.1 [0] of the
-Rakudo Perl 6 compiler [1], version 4.3 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Here are some of the major improvements in this release over the
-previous distribution release.
-
-* much improved startup time
-
-* much more robust module precompilation
-
-* autovivification for arrays and hashes is implemented again
-
-* many phasers like PRE, POST and REDO are now implemented
-
-* improved support for calling C functions and modelling structs and arrays
- via NativeCall.pm6
-
-* now includes modules URI, LWP::Simple, jsonrpc and Bailador (a Perl 6 port
- of Dancer)
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. Many more exceptions are thrown
-as typed exceptions.
-
-Some notable incompatible changes from the previous release include
-
- * the 'lib' directory is not included in the default module search path
- anymore. You can manipulate the search path with the PERL6LIB environment
- variable
-
- * 'defined' used to be a prefix operator, and is now a regular subroutine.
- This means you must updated code that relies 'defined' taking only one
- argument. For example 'defined $x ?? $a !! $b' should be written as
- '$x.defined ?? $a !! $b' or 'defined($x) ?? $a !! $b'.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
- * pack and unpack
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.04 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.04.1
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.05 b/skel/docs/announce/2012.05
deleted file mode 100644
index d6f2575..0000000
--- a/skel/docs/announce/2012.05
+++ /dev/null
@@ -1,67 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the May 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the May 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release 2012.05 [0] of the
-Rakudo Perl 6 compiler [1], version 4.4 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Here are some of the major improvements in this release over the
-previous distribution release.
-
-* -I and -M command-line options
-* support for non-Int enums
-* 'use' now accepts positional arguments and is able to import by tag name
-* 'import' now works
-* basic support for Version literals
-* %*ENV now propagates into subprocesses
-* basic implementation of pack and unpack ported from 'ng' branch
-* fff flip-flop operator is now implemented, ff has been improved
-* various new regex features and improvements
-
-Rakudo now also includes the lib.pm module.
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. More exceptions are thrown
-as typed exceptions.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
-
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.05 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.05
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.06 b/skel/docs/announce/2012.06
deleted file mode 100644
index 0384ded..0000000
--- a/skel/docs/announce/2012.06
+++ /dev/null
@@ -1,82 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the June 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the June 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release 2012.06 [0] of the
-Rakudo Perl 6 compiler [1], version 4.5 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Here are some of the major improvements in this release over the
-previous distribution release.
-
-* Transitive longest-token matching in protoregexes
-
-* Longest token matching for alternations
-
-* Enhanced list and .map handling, including laziness fixes and performance
- improvements
-
-* Can use an argument list with require
-
-* Compile time errors in loaded modules now show a module loading backtrace
-
-* String to number conversion now recognizes radix notation
-
-* The &push and &unshift functions can now autovivify
-
-* Rakudo is now compiled with the same regex engine that user-space
- regexes use; some parsing bugs are fixed as a result
-
-* p6doc is now shipped with Rakudo Star. It is a small collection of
- user-oriented documentation, along with the `p6doc` script for viewing
- them.
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. More exceptions are thrown as typed
-exceptions, and more meta-model errors have been fixed to properly
-report line numbers.
-
-This release contains an important breaking change to number parsing.
-Previously, a string such as "foo" would numify to 0. Now this will
-return a Failure.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
-
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.06 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.06
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.07 b/skel/docs/announce/2012.07
deleted file mode 100644
index d8f5d56..0000000
--- a/skel/docs/announce/2012.07
+++ /dev/null
@@ -1,108 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the July 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the July 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release 2012.07 [0] of the
-Rakudo Perl 6 compiler [1], version 4.6 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Some of the new features added to this release include:
-
-* Built-in metaobjects (e.g. Metamodel::ClassHOW) now inherit from Any
-
-* &open now supports the :enc/:encoding option
-
-* anonymous subset types (e.g., 'subset :: of Int where { $_ > 0 }')
-
-* Rakudo Star now ships with the Template::Mojo module
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. More exceptions are thrown as typed
-exceptions, and more meta-model errors have been fixed to properly
-report line numbers.
-
-Starting with this release, we will also identify changes to the
-implementation or specification that can cause breakages in existing
-Perl 6 code. The following features have been deprecated or modified
-due to changes in the Perl 6 specification, and are being removed
-or changed as follows:
-
-* IO::File and IO::Dir will go away, and &dir now returns values of type
- IO::Path (which is currently the superclass of IO::File and IO::Dir).
- The return values of &dir will still stringify to the base name of the
- returned file and directory names, and you can call .path on them to
- obtain the full path.
-
-* Leading whitespace in rules and under :sigspace will no longer be
- converted to <.ws> . For existing regexes that expect this conversion,
- add a <?> in front of leading whitespace to make it meta again.
- Scheduled for the 2012.08 release.
-
-* The ?-quantifier on captures in regexes currently binds the capture
- slot to a List containing either zero or one Match objects; i.e., it
- is equivalent to "** 0..1". In the future, the ?-quantifier will
- bind the slot directly to a captured Match or to Nil. Existing code
- can manage the transition by changing existing ?-quantifiers to
- use "** 0..1", which will continue to return a List of matches.
- Scheduled for the 2012.08 release, but may end up in 2012.09 .
-
-* The method Str.bytes will be removed. To get the number of codepoints
- in a string, use .codes instead. To get the number of bytes in a
- given encoding, use $str.encode($encoding).bytes .
- Scheduled for the 2012.08 release.
-
-* The method Str.lcfirst will be removed without replacement.
- Scheduled for the 2012.08 release.
-
-* The method Str.ucfirst will eventually be removed, and replaced by
- Str.tc.
- No schedule yet, depends on having tc implemented first.
-
-* 'abs' is currently a prefix operator, and will be changed to a normal
- subroutine.
- Scheduled for the 2012.08 release.
-
-* The integer argument to IO::Socket.recv will be interpreted as number of
- characters/codepoints.
- Scheduled for the 2012.08 release.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
-
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.07 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.07
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/announce/2012.08 b/skel/docs/announce/2012.08
deleted file mode 100644
index f734c36..0000000
--- a/skel/docs/announce/2012.08
+++ /dev/null
@@ -1,104 +0,0 @@
-Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6
-
-On behalf of the Rakudo and Perl 6 development teams, I'm happy to
-announce the August 2012 release of "Rakudo Star", a useful and
-usable distribution of Perl 6. The tarball for the August 2012
-release is available from <http://github.com/rakudo/star/downloads>.
-A Windows .MSI version of Rakudo star will usually appear in
-the downloads area shortly after the tarball release.
-
-In the Perl 6 world, we make a distinction between the language
-("Perl 6") and specific implementations of the language such as
-"Rakudo Perl". This Star release includes release 2012.08 [0] of the
-Rakudo Perl 6 compiler [1], version 4.6 of the Parrot Virtual
-Machine [2], and various modules, documentation, and other
-resources collected from the Perl 6 community.
-
-Some of the new features added to this release include:
-
-This release also contains a range of bug fixes, improvements to error
-reporting and better failure modes. More exceptions are thrown as typed
-exceptions, and more meta-model errors have been fixed to properly
-report line numbers.
-
-Starting with this release, we will also identify changes to the
-implementation or specification that can cause breakages in existing
-Perl 6 code. The following features have been deprecated or modified
-due to changes in the Perl 6 specification, and are being removed
-or changed as follows:
-
-[TODO: update the below list]
-
-* IO::File and IO::Dir will go away, and &dir now returns values of type
- IO::Path (which is currently the superclass of IO::File and IO::Dir).
- The return values of &dir will still stringify to the base name of the
- returned file and directory names, and you can call .path on them to
- obtain the full path.
-
-* Leading whitespace in rules and under :sigspace will no longer be
- converted to <.ws> . For existing regexes that expect this conversion,
- add a <?> in front of leading whitespace to make it meta again.
- Scheduled for the 2012.08 release.
-
-* The ?-quantifier on captures in regexes currently binds the capture
- slot to a List containing either zero or one Match objects; i.e., it
- is equivalent to "** 0..1". In the future, the ?-quantifier will
- bind the slot directly to a captured Match or to Nil. Existing code
- can manage the transition by changing existing ?-quantifiers to
- use "** 0..1", which will continue to return a List of matches.
- Scheduled for the 2012.08 release, but may end up in 2012.09 .
-
-* The method Str.bytes will be removed. To get the number of codepoints
- in a string, use .codes instead. To get the number of bytes in a
- given encoding, use $str.encode($encoding).bytes .
- Scheduled for the 2012.08 release.
-
-* The method Str.lcfirst will be removed without replacement.
- Scheduled for the 2012.08 release.
-
-* The method Str.ucfirst will eventually be removed, and replaced by
- Str.tc.
- No schedule yet, depends on having tc implemented first.
-
-* 'abs' is currently a prefix operator, and will be changed to a normal
- subroutine.
- Scheduled for the 2012.08 release.
-
-* The integer argument to IO::Socket.recv will be interpreted as number of
- characters/codepoints.
- Scheduled for the 2012.08 release.
-
-There are some key features of Perl 6 that Rakudo Star does not
-yet handle appropriately, although they will appear in upcoming
-releases. Some of the not-quite-there features include:
-
- * macros
- * threads and concurrency
- * Unicode strings at levels other than codepoints
- * interactive readline that understands Unicode
- * non-blocking I/O
- * much of Synopsis 9
-
-There is a new online resource at http://perl6.org/compilers/features
-that lists the known implemented and missing features of Rakudo Star
-2012.08 and other Perl 6 implementations.
-
-In many places we've tried to make Rakudo smart enough to inform the
-programmer that a given feature isn't implemented, but there are
-many that we've missed. Bug reports about missing and broken
-features are welcomed at <rakudobug@perl.org>.
-
-See http://perl6.org/ for links to much more information about
-Perl 6, including documentation, example code, tutorials, reference
-materials, specification documents, and other supporting resources.
-An updated draft of a Perl 6 book is available as
-<docs/UsingPerl6-draft.pdf> in the release tarball.
-
-The development team thanks all of the contributors and sponsors
-for making Rakudo Star possible. If you would like to contribute,
-see <http://rakudo.org/how-to-help>, ask on the perl6-compiler@perl.org
-mailing list, or join us on IRC #perl6 on freenode.
-
-[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.08
-[1] http://github.com/rakudo/rakudo
-[2] http://parrot.org/
diff --git a/skel/docs/cheatsheet.txt b/skel/docs/cheatsheet.txt
deleted file mode 100644
index 8b8d104..0000000
--- a/skel/docs/cheatsheet.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-Perl 6 cheat sheet v2 »ö«
-
-SIGILS MAJOR/MINOR CONTEXTS ACCESS ARRAYS HASHES
-$scalar item list sink whole: @array[] %hash{}
-@array Str flat/slice element: @array[0] %hash{'a'}
-%hash Num lazy/eager/hyper (or) %hash<a>
-&code Bool slice: @array[0,2] %hash{'a','b'}
- COMPOSERS (or) %hash<a b>
-TWIGILS [ ] array
-$normal-lexical { } block/hash AUTOMATIC DEREFERENCE
-$?compiler-constant < > quotewords &($foo)(1,2) == $foo(1,2)
-$*dynamic-or-global (,) parcel @($foo)[1] == $foo[1]
-$.public-accessor :() signature %($foo){'bar'} == $foo<bar>
-$!private-attribute \() capture @(@($foo)[1])[2] == $foo[1][2]
-$^positional-param
-$:named-parameter CONTROL SYNTAX
-$=pod-info for LIST { } # implicit $_ arg
-$<named-match-capture> for LIST -> $a, $b { } # explicit args
-$~slang-variable while/until EXPR { }
- repeat while/until EXPR { } # do at least once
-OPERATOR PRECEDENCE loop { } loop (a;b;c) { } # parens required!
-.method .[] i if EXPR { } elsif EXPR { } else { }
-++ -- unless EXPR { } # no else allowed!
-** given EXPR { when EXPR { } default { } }
-unary + - ~ ! ? ^ EXPR if EXPR for LIST; # list comprehension
-* / % %% div next, last, redo # loop controls
-+ - proceed, succeed # switch controls
-x xx TYPES
-~ Bool Bit Int Rat FatRat UInt Num Complex int32 complex64 etc.
-& Str Cat Blob Char Byte Codepoint Grapheme Buf buf8 buf32 utf8
-| ^ IO Mu Any Cool Junction Whatever Match
-sleep abs sin temp Parcel Capture Signature
-<=> leg cmp .. but SCOPE DECLARATORS Pair Range Set Bag
-~~ > == gt eq === eqv !op my lexical scope KeyHash KeySet KeyBag
-&& our package scope Scalar Array Hash Code
-|| ^^ // min max has instance scope Enum Order TrigBase
-??!! ff anon no scope at all Block Routine Sub
-= := op= => state persistent lexical Method Regex
-so not augment benign parasitic Failure Exception
-, : supersede deadly parasitic Instant Duration
-X Xop Z Zop ... Date DateTime
-say die map etc. OPERATOR DOMAINS
-and Numeric: == !==(!=) + < > <=> <= >=
-or xor Stringy: eq !eq(ne) ~ lt gt leg le ge
-<== ==> Value: eqv !eqv before after cmp !after !before
- ObjectID: === !===
-METAOPERATORS LINKS IRC
-[op] reduce listop to A op B op C... perl6.org #perl6 irc.freenode.net
-op= A = A op B rakudo.org #parrot irc.perl.org
-!op !(A op B)
-»op« hyper/vectorize REGEX METACHARS REGEX MODIFIERS
-Zop zip with op ^ $ string begin/end :i ignore case
-Xop cross with op ^^ $$ line begin/end :m ignore marks
-Rop reverse args + one or more :g global
-Sop sequentialize * zero or more :r ratchet
- ? zero or one :s sigspace
-SPECIAL VARIABLES **1..3 repeat in range :4th nth occurrence
-$_ current topic () capture to $0,$1 :4x n times
-$/ regex result [] no capture
-$! error object <foo> subrule REGEX CHARCLASSES
-@*ARGS command line <[]> character class . == anychar, \N non \n
-@*INC include path | parallel or \s == <space>, \S non
-%*ENV environment || serial or \d == <digit>, \D non
-$*PID process id « » word boundary \w == <+alpha+digit+[_]>
diff --git a/skel/tools/build/Makefile.in b/skel/tools/build/Makefile.in
deleted file mode 100644
index 733793b..0000000
--- a/skel/tools/build/Makefile.in
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright (C) 2006-2012, The Perl Foundation.
-# $Id$
-
-PARROT = parrot-4.6.0
-NQP = nqp-2012.08
-RAKUDO = rakudo-2012.08
-STAR_VERSION = 2012.08
-
-PARROT_ARGS =
-
-# values from parrot_config
-PREFIX_DIR = @prefix@
-PARROT_BIN_DIR = @bindir@
-PARROT_VERSION = @versiondir@
-PARROT_INCLUDE_DIR = @includedir@$(PARROT_VERSION)
-PARROT_LIB_DIR = @libdir@$(PARROT_VERSION)
-PARROT_SRC_DIR = @srcdir@$(PARROT_VERSION)
-HAS_ICU = @has_icu@
-
-CC = @cc@
-CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @gc_flag@
-EXE = @exe@
-LD = @ld@
-LDFLAGS = @ldflags@ @ld_debug@
-LD_LOAD_FLAGS = @ld_load_flags@
-LIBPARROT = @inst_libparrot_ldflags@
-O = @o@
-LOAD_EXT = @load_ext@
-PERL = @perl@
-CP = @cp@
-MV = @mv@
-RM_F = @rm_f@
-MKPATH = $(PERL) -MExtUtils::Command -e mkpath
-CHMOD = $(PERL) -MExtUtils::Command -e chmod
-POD2MAN = @pod2man@
-
-# locations of parrot resources
-PARROT = $(PARROT_BIN_DIR)/parrot$(EXE)
-NQP_EXE = $(PARROT_BIN_DIR)/nqp$(EXE)
-PBC_TO_EXE = $(PARROT_BIN_DIR)/pbc_to_exe$(EXE)
-PARROT_CONFIG = $(PARROT_BIN_DIR)/parrot_config$(EXE)
-PARROT_TOOLS_DIR = $(PARROT_LIB_DIR)/tools
-PARROT_PERL_LIB = $(PARROT_TOOLS_DIR)/lib
-OPS2C = $(PARROT_BIN_DIR)/ops2c$(EXE)
-PMC2C = $(PERL) $(PARROT_TOOLS_DIR)/build/pmc2c.pl
-PMC2C_INCLUDES = --include src/pmc --include $(PARROT_SRC_DIR) --include $(PARROT_SRC_DIR)/pmc
-CINCLUDES = -I$(PARROT_INCLUDE_DIR) -I$(PARROT_INCLUDE_DIR)/pmc
-LINKARGS = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @libs@ @icu_shared@
-
-PERL6_EXE = perl6$(EXE)
-PERL6_LANG_DIR = $(PARROT_LIB_DIR)/languages/perl6
-
-# This list must be kept in order, modules always coming after their
-# dependencies
-MODULES = \
- modules/zavolaj \
- modules/xml-writer \
- modules/svg \
- modules/svg-plot \
- modules/Math-RungeKutta \
- modules/Math-Model \
- modules/perl6-Term-ANSIColor \
- modules/test-mock \
- modules/Grammar-Profiler-Simple \
- modules/grammar-debugger \
- modules/Perl6-MIME-Base64 \
- modules/uri \
- modules/perl6-lwp-simple \
- modules/json \
- modules/perl6-digest-md5 \
- modules/perl6-File-Tools \
- modules/panda \
- modules/perl6-http-status \
- modules/perl6-http-easy \
- modules/Template-Mojo \
- modules/Bailador \
- modules/DBIish \
- modules/jsonrpc \
- modules/Pod-To-HTML \
- modules/doc \
-
-all: rakudo
-
-rakudo: $(RAKUDO)/$(PERL6_EXE)
-$(RAKUDO)/$(PERL6_EXE):
- @echo "== Configuring and building Rakudo"
- cd $(RAKUDO) && $(PERL) Configure.pl --with-nqp=$(NQP_EXE) && $(MAKE)
-rakudo-test: rakudo
- cd $(RAKUDO) && $(MAKE) test
-rakudo-spectest: rakudo
- cd $(RAKUDO) && $(MAKE) spectest
-rakudo-install: rakudo
- cd $(RAKUDO) && $(MAKE) install
- @win32_libparrot_copy@
- $(CP) $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) .
- $(CHMOD) 755 $(PERL6_EXE)
-
-modules-install: rakudo
- @echo "== Installing 'ufo'"
- $(PERL) tools/build/module-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PERL6_LANG_DIR)/lib $(MODULES)
- @echo "== Installing binaries"
- $(PERL) tools/build/bin-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PARROT_BIN_DIR) modules/ufo/bin/ufo modules/panda/bin/panda
-
-install: rakudo-install modules-install
-
-test:
- @echo ""
- @echo "To run the Rakudo compiler tests, use 'make rakudo-test'"
- @echo "To run the Perl 6 spectests, use 'make rakudo-spectest'"
- @echo ""
- @echo "To run tests for individual modules, try:"
- @echo " prove -e ./perl6 -r modules/<name>/t"
- @echo ""
-
-## cleaning
-clean:
- $(RM_F) $(CLEANUPS)
-
-distclean: realclean
-
-realclean: clean
- $(RM_F) Makefile
-
-testclean:
-
-
-## miscellaneous targets
-# a listing of all targets meant to be called by users
-help:
- @echo ""
- @echo "Following targets are available for the user:"
- @echo ""
- @echo "Maintenance:"
- @echo " perlcritic: Run Perl::Critic on all the Perl 5 code."
- @echo ""
- @echo "Cleaning:"
- @echo " clean: Basic cleaning up."
- @echo " distclean: Removes also anything built, in theory."
- @echo " realclean: Removes also files generated by 'Configure.pl'."
- @echo " testclean: Clean up test results."
- @echo ""
- @echo "Misc:"
- @echo " help: Print this help message."
- @echo ""
-
-config:
- $(PERL) Configure.pl
-
-$(PARROT):
-
-CRITIC_FILES=Configure.pl tools/build/
-
-perlcritic:
- perlcritic -1 --profile tools/util/perlcritic.conf $(CRITIC_FILES)
-
-msi:
- -$(CP) c:/strawberry/c/bin/libgcc_s_sjlj-1.dll $(PARROT_BIN_DIR)
- cmd /c heat dir $(PREFIX_DIR) -gg -sfrag -cg RakudoStar -dr INSTALLROOT -srd -out star-files.wxs
- cmd /c candle star-files.wxs
- cmd /c candle -dSTARVERSION=$(STAR_VERSION) tools/build/star-product.wxs
- cmd /c light -b $(PREFIX_DIR) -ext WixUIExtension star-files.wixobj star-product.wixobj -o rakudo-star-$(STAR_VERSION).msi
-
diff --git a/skel/tools/build/bin-install.pl b/skel/tools/build/bin-install.pl
deleted file mode 100644
index 1c71cea..0000000
--- a/skel/tools/build/bin-install.pl
+++ /dev/null
@@ -1,28 +0,0 @@
-#! perl
-
-use strict;
-use warnings;
-use File::Spec;
-
-my ($p6bin, $dest, @files) = @ARGV;
-die "Usage: $0 <perl6_binary> <destination_path> <source_files>"
- unless $p6bin && $dest;
-
-for my $filename (@files) {
- open my $IN, '<', $filename
- or die "Cannot read file '$filename' for installing it: $!";
- my $basename = (File::Spec->splitpath($filename))[2];
- open my $OUT, '>', "$dest/$basename"
- or die "Cannot write file '$dest/$basename' for installing it: $!";
- while (<$IN>) {
- if ($. == 1 && /^#!/) {
- print { $OUT } "#!$p6bin\n";
- }
- else {
- print { $OUT } $_;
- }
- }
- close $OUT or die "Error while closing file '$dest/$basename': $!";
- close $IN;
- chmod 0755, "$dest/$basename";
-}
diff --git a/skel/tools/build/module-install.pl b/skel/tools/build/module-install.pl
deleted file mode 100644
index 8d69c78..0000000
--- a/skel/tools/build/module-install.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-#! perl
-
-use warnings;
-use strict;
-use File::Find;
-use File::Copy;
-use File::Path;
-use File::Basename;
-
-my $perl6bin = shift @ARGV;
-my $perl6lib = shift @ARGV;
-
-my @pmfiles;
-my @mod_pms;
-while (@ARGV) {
- my $module = shift @ARGV;
- print "== Installing module $module\n";
- our $mlib = "$module/lib";
-
- @mod_pms = ();
- find({ no_chdir=>1, wanted => \&libcopy }, $mlib);
-
- sub libcopy {
- return unless /\.pm6?|\.pod/;
- my $source = $File::Find::name;
- my $target = $source;
- $target =~ s/\Q$mlib\E/$perl6lib/;
- print "$source => $target\n";
- mkpath dirname($target);
- copy($source, $target) or die "copy failed: $!\n";
- push @mod_pms, $target if $target =~ /\.pm6?/;
- }
-
- my %usages_of;
- my @modules;
- my %module_to_path;
- for my $module_file (@mod_pms) {
- open(my $fh, '<', $module_file) or die $!;
- my $module = path_to_module_name($module_file);
- push @modules, $module;
- $module_to_path{$module} = $module_file;
- $usages_of{$module} = [];
- while (<$fh>) {
- if (/^\s* (?:use|need) \s+ (\w+ (?: :: \w+)*)/x and my $used = $1) {
- next if $used eq 'v6';
- next if $used eq 'MONKEY_TYPING';
-
- push @{$usages_of{$module}}, $used;
- }
- }
- }
-
- my @order = topo_sort(\@modules, \%usages_of);
- my @sources = map { $module_to_path{$_} } @order;
- push @pmfiles, @sources;
-}
-
-# Internally, we treat the module names as module names, '::' and all.
-# But since they're really files externally, they have to be converted
-# from paths to module names, and back again.
-
-sub path_to_module_name {
- $_ = shift;
- s/^.+\blib\///;
- s/^.+\blib6\///;
- s/\.pm6?$//;
- s/\//::/g;
- $_;
-}
-
-chdir 'rakudo';
-foreach my $pm (@pmfiles) {
- my $out = $pm;
- $out =~ s/\.pm6?$/.pir/;
- my @cmd = ($perl6bin, '--target=pir', "--output=$out", $pm);
- print join(' ', @cmd), "\n";
- system(@cmd);
-}
-
-
-# According to "Introduction to Algorithms" by Cormen et al., topological
-# sort is just a depth-first search of a graph where you pay attention to
-# the order in which you get done with a dfs-visit() for each node.
-
-sub topo_sort {
- my ($modules, $dependencies) = @_;
- my @modules = @$modules;
- my @order;
- my %color_of = map { $_ => 'not yet visited' } @modules;
-
- for my $module (@modules) {
- if ($color_of{$module} eq 'not yet visited') {
- dfs_visit($module, \%color_of, $dependencies, \@order);
- }
- }
- return @order;
-}
-
-sub dfs_visit {
- my $module = shift;
- my $color_of = shift;
- my $dependencies = shift;
- my $order = shift;
- $color_of->{$module} = 'visited';
- for my $used (@{$dependencies->{$module}}) {
- $color_of->{$used} ||= '';
- if ($color_of->{$used} eq 'not yet visited') {
- dfs_visit($used, $color_of, $dependencies, $order);
- }
- }
- push @$order, $module;
-}
diff --git a/skel/tools/build/star-product.wxs b/skel/tools/build/star-product.wxs
deleted file mode 100644
index c950e97..0000000
--- a/skel/tools/build/star-product.wxs
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <Product Id="*" Language="1033" Manufacturer="Rakudo Perl 6" Name="Rakudo Star $(var.STARVERSION)" UpgradeCode="{08B7EB05-7EAC-4B60-9F5B-AF6E367FE0FD}" Version="1.0.0">
- <Package Compressed="yes" InstallerVersion="200" />
-
- <!-- force installation to C: drive -->
- <Property Id="ROOTDRIVE"><![CDATA[C:\]]></Property>
-
- <Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="INSTALLROOT" Name="rakudo" />
-
- <!-- start menu shortcuts, adapted from http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm -->
- <Directory Id="ProgramMenuFolder">
- <Directory Id="RakudoMenuFolder" Name="Rakudo Perl 6">
- <Component Id="RakudoStartItems" Guid="B5BD7AEC-C8dC-4F84-AF2E-4A417350D642">
- <Shortcut Id="RakudoShortcut"
- Name="Rakudo Perl 6"
- Target="[INSTALLROOT]bin\perl6.exe"
- WorkingDirectory="INSTALLROOT" />
- <RemoveFolder Id="RakudoMenuFolder" On="uninstall" />
- <RegistryValue Root="HKCU" Key="Software\Microsoft\RakudoPerl6" Name="installed" Type="integer" Value="1" KeyPath="yes" />
- </Component>
- </Directory>
- </Directory>
- </Directory>
-
- <Feature Id="ProductFeature" Level="1" Title="Rakudo Star $(var.STARVERSION)">
- <ComponentGroupRef Id="RakudoStar" />
- <ComponentRef Id="RakudoStartItems" />
- </Feature>
- <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
-
- <!-- This is just like WixUI_Minimal but we skip the EULA part -->
- <UI Id="WixUI_Minimal">
- <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
- <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
- <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
-
- <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
- <Property Id="WixUI_Mode" Value="Minimal" />
-
- <DialogRef Id="ErrorDlg" />
- <DialogRef Id="FatalError" />
- <DialogRef Id="FilesInUse" />
- <DialogRef Id="MsiRMFilesInUse" />
- <DialogRef Id="PrepareDlg" />
- <DialogRef Id="ProgressDlg" />
- <DialogRef Id="ResumeDlg" />
- <DialogRef Id="UserExit" />
- <DialogRef Id="WelcomeDlg" />
-
- <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="PrepareDlg">1</Publish>
- <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
-
- <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
-
- <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
-
- <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
- <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
- <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
-
- <Property Id="ARPNOMODIFY" Value="1" />
- </UI>
-
- <UIRef Id="WixUI_Common" />
- </Product>
-</Wix>
diff --git a/skel/tools/lib/NQP/Configure.pm b/skel/tools/lib/NQP/Configure.pm
deleted file mode 100644
index e93c366..0000000
--- a/skel/tools/lib/NQP/Configure.pm
+++ /dev/null
@@ -1,365 +0,0 @@
-package NQP::Configure;
-use strict;
-use warnings;
-use Cwd;
-
-use base qw(Exporter);
-our @EXPORT_OK = qw(sorry slurp system_or_die
- cmp_rev
- read_parrot_config read_config
- fill_template_file fill_template_text
- git_checkout
- verify_install
- gen_nqp gen_parrot);
-
-our $exe = $^O eq 'MSWin32' ? '.exe' : '';
-
-our @required_parrot_files = qw(
- @bindir@/parrot@exe@
- @bindir@/pbc_to_exe@exe@
- @bindir@/ops2c@exe@
- @libdir@@versiondir@/tools/build/pmc2c.pl
- @srcdir@@versiondir@/pmc
- @includedir@@versiondir@/pmc
-);
-
-our @required_nqp_files = qw(
- @bindir@/nqp@exe@
-);
-
-our $nqp_git = 'git://github.com/perl6/nqp.git';
-our $par_git = 'git://github.com/parrot/parrot.git';
-
-sub sorry {
- my @msg = @_;
- die join("\n", '', '===SORRY!===', @msg, "\n");
-}
-
-sub slurp {
- my $filename = shift;
- open my $fh, '<', $filename
- or die "Unable to read $filename\n";
- local $/ = undef;
- my $text = <$fh>;
- close $fh or die $!;
- return $text;
-}
-
-
-sub system_or_die {
- my @cmd = @_;
- system( @cmd ) == 0
- or die "Command failed (status $?): @cmd\n";
-}
-
-
-sub parse_revision {
- my $rev = shift;
- my $sep = qr/[_.]/;
- $rev =~ /(\d+)$sep(\d+)(?:$sep(\d+))?(?:-(\d+)-g[a-f0-9]*)?$/
- or die "Unrecognized revision specifier '$rev'\n";
- return ($1, $2, $3 || 0, $4 || 0);
-}
-
-
-sub cmp_rev {
- my ($a, $b) = @_;
- my @a = parse_revision($a);
- my @b = parse_revision($b);
- my $cmp = 0;
- for (0..3) {
- $cmp = $a[$_] <=> $b[$_];
- last if $cmp;
- }
- $cmp;
-}
-
-
-sub read_config {
- my @config_src = @_;
- my %config = ();
- for my $file (@config_src) {
- no warnings;
- if (open my $CONFIG, '-|', "$file --show-config") {
- while (<$CONFIG>) {
- if (/^([\w:]+)=(.*)/) { $config{$1} = $2 }
- }
- close($CONFIG);
- }
- last if %config;
- }
- return %config;
-}
-
-
-sub read_parrot_config {
- my @parrot_config_src = @_;
- my %config = ();
- open my $CONFIG_PIR, '>', 'parrot-config.pir'
- or die "Unable to write parrot-config.pir\n";
- print $CONFIG_PIR <<'END';
- .include 'iglobals.pasm'
- .sub "main" :main
- .local pmc interp, config_hash, config_iter
- interp = getinterp
- config_hash = interp[.IGLOBALS_CONFIG_HASH]
- config_iter = iter config_hash
- config_loop:
- unless config_iter goto config_done
- $P0 = shift config_iter
- print "parrot::"
- $S0 = $P0.'key'()
- print $S0
- print "="
- $S0 = $P0.'value'()
- print $S0
- print "\n"
- goto config_loop
- config_done:
- .return ()
- .end
-END
- close($CONFIG_PIR);
-
- for my $file (@parrot_config_src) {
- no warnings;
- if ($file =~ /.pir$/ && open my $PARROT_CONFIG, '<', $file) {
- while (<$PARROT_CONFIG>) {
- if (/P0\["(.*?)"\], "(.*?)"/) { $config{"parrot::$1"} = $2 }
- }
- close($PARROT_CONFIG) or die $!;
- }
- elsif (open my $PARROT, '-|', "$file parrot-config.pir") {
- while (<$PARROT>) {
- if (/^([\w:]+)=(.*)/) { $config{$1} = $2 }
- }
- close($PARROT);
- }
- last if %config;
- }
- unlink('parrot-config.pir');
- return %config;
-}
-
-
-sub fill_template_file {
- my $infile = shift;
- my $outfile = shift;
- my %config = @_;
- my $text = slurp( $infile );
- $text = fill_template_text($text, %config);
- print "\nCreating $outfile ...\n";
- open(my $OUT, '>', $outfile)
- or die "Unable to write $outfile\n";
- print $OUT $text;
- close($OUT) or die $!;
-}
-
-
-sub fill_template_text {
- my $text = shift;
- my %config = @_;
-
- $text =~ s/@([:\w]+)@/$config{$1} || $config{"parrot::$1"} || ''/ge;
- if ($text =~ /nqp::makefile/) {
- if ($^O eq 'MSWin32') {
- $text =~ s{/}{\\}g;
- $text =~ s{\\\*}{\\\\*}g;
- $text =~ s{(?:git|http):\S+}{ do {my $t = $&; $t =~ s'\\'/'g; $t} }eg;
- $text =~ s/.*curl.*/do {my $t = $&; $t =~ s'%'%%'g; $t}/meg;
- }
- if ($config{'makefile-timing'}) {
- $text =~ s{ (?<!\\\n) # not after line ending in '\'
- ^ # beginning of line
- (\t(?>@?[ \t]*)) # capture tab, optional @, and hspace
- (?!-) # not before - (ignore error) lines
- (?!cd) # not before cd lines
- (?!echo) # not before echo lines
- (?=\S) # must be before non-blank
- }
- {$1time\ }mgx;
- }
- }
- $text;
-}
-
-
-sub git_checkout {
- my $repo = shift;
- my $dir = shift;
- my $checkout = shift;
- my $pwd = cwd();
-
- # get an up-to-date repository
- if (! -d $dir) {
- system_or_die('git', 'clone', $repo, $dir);
- chdir($dir);
- }
- else {
- chdir($dir);
- system_or_die('git', 'fetch');
- }
-
- if ($checkout) {
- system_or_die('git', 'checkout', $checkout);
- system_or_die('git', 'pull')
- if slurp('.git/HEAD') =~ /^ref:/;
- }
-
- my $git_describe;
- if (open(my $GIT, '-|', "git describe --tags")) {
- $git_describe = <$GIT>;
- close($GIT);
- chomp $git_describe;
- }
- chdir($pwd);
- $git_describe;
-}
-
-
-sub verify_install {
- my $files = shift;
- my %config = @_;
- print "Verifying installation ...\n";
- my @missing;
- for my $reqfile ( @{$files} ) {
- my $f = fill_template_text($reqfile, %config);
- push @missing, " $f" unless -e $f;
- }
- if (@missing) {
- unshift @missing, "I'm missing some needed files:";
- }
- @missing;
-}
-
-
-sub gen_nqp {
- my $nqp_want = shift;
- my %options = @_;
-
- my $gen_nqp = $options{'gen-nqp'};
- my $with_parrot = $options{'with-parrot'};
- my $gen_parrot = $options{'gen-parrot'};
- my $prefix = $options{'prefix'} || cwd().'/install';
- my $startdir = cwd();
- my $nqpdir = "$startdir/nqp";
-
- my $PARROT_REVISION = 'nqp/tools/build/PARROT_REVISION';
-
- my %config;
- my $nqp_exe;
- if ($with_parrot) {
- %config = read_parrot_config($with_parrot)
- or die "Unable to read parrot configuration from $with_parrot\n";
- $prefix = $config{'parrot::prefix'};
- $nqp_exe = fill_template_text('@bindir@/nqp@ext@', %config);
- %config = read_config($nqp_exe);
- }
- elsif ($prefix) {
- $nqp_exe = "$prefix/bin/nqp$exe";
- %config = read_config($nqp_exe);
- }
-
- my $nqp_have = $config{'nqp::version'} || '';
- my $nqp_ok = $nqp_have && cmp_rev($nqp_have, $nqp_want) >= 0;
- if ($gen_nqp && -d $gen_nqp) {
- $nqpdir = $gen_nqp;
- print "Building NQP from source in $nqpdir\n";
- }
- elsif ($gen_nqp) {
- my $nqp_repo = git_checkout($nqp_git, 'nqp', $gen_nqp);
- $nqp_ok = $nqp_have eq $nqp_repo;
- }
- elsif (!$nqp_ok || defined $gen_parrot && !-f $PARROT_REVISION) {
- git_checkout($nqp_git, 'nqp', $nqp_want);
- }
-
- if (defined $gen_parrot) {
- $PARROT_REVISION = "$nqpdir/tools/build/PARROT_REVISION";
- my ($par_want) = split(' ', slurp($PARROT_REVISION));
- $with_parrot = gen_parrot($par_want, %options, prefix => $prefix);
- %config = read_parrot_config($with_parrot);
- }
- elsif (!%config) {
- %config = read_parrot_config("$prefix/bin/parrot$exe", "parrot$exe");
- $with_parrot = fill_template_text('@bindir@/parrot@exe@', %config);
- }
-
- if ($nqp_ok && -M $nqp_exe < -M $with_parrot) {
- print "$nqp_exe is NQP $nqp_have.\n";
- return $nqp_exe;
- }
-
- my @cmd = ($^X, 'Configure.pl', "--with-parrot=$with_parrot",
- "--make-install");
- print "Building NQP ...\n";
- chdir($nqpdir);
- print "@cmd\n";
- system_or_die(@cmd);
- chdir($startdir);
- return fill_template_text('@bindir@/nqp@exe@', %config);
-}
-
-
-sub gen_parrot {
- my $par_want = shift;
- my %options = @_;
-
- my $prefix = $options{'prefix'} || cwd()."/install";
- my $gen_parrot = $options{'gen-parrot'};
- my @opts = @{ $options{'parrot-option'} || [] };
- push @opts, "--optimize";
- my $startdir = cwd();
- my $parrotdir = "$startdir/parrot";
-
- my $par_exe = "$options{'prefix'}/bin/parrot$exe";
- my %config = read_parrot_config($par_exe);
-
- my $par_have = $config{'parrot::git_describe'} || '';
- my $par_ok = $par_have && cmp_rev($par_have, $par_want) >= 0;
- if ($gen_parrot && -d $gen_parrot) {
- $parrotdir = $gen_parrot;
- print "Building Parrot from source in $parrotdir\n";
- }
- elsif ($gen_parrot) {
- my $par_repo = git_checkout($par_git, 'parrot', $gen_parrot);
- $par_ok = $par_have eq $par_repo;
- }
- elsif (!$par_ok) {
- git_checkout($par_git, 'parrot', $par_want);
- }
-
- if ($par_ok) {
- print "$par_exe is Parrot $par_have.\n";
- return $par_exe;
- }
- chdir($parrotdir) or die $!;
- if (-f 'Makefile') {
- %config = read_parrot_config('config_lib.pir');
- my $make = $config{'parrot::make'};
- if ($make) {
- print "\nPerforming '$make realclean' ...\n";
- system_or_die($make, 'realclean');
- }
- }
-
- $prefix =~ s{\\}{/}g;
-
- print "\nConfiguring Parrot ...\n";
- my @cmd = ($^X, "Configure.pl", @opts, "--prefix=$prefix");
- print "@cmd\n";
- system_or_die(@cmd);
-
- print "\nBuilding Parrot ...\n";
- %config = read_parrot_config('config_lib.pir');
- my $make = $config{'parrot::make'} or
- die "Unable to determine value for 'make' from parrot config\n";
- system_or_die($make, 'install-dev');
- chdir($startdir);
-
- print "Parrot installed.\n";
- return fill_template_text('@bindir@/parrot@exe@', %config);
-}
-
-
-1;