path: root/README
diff options
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 /README
parentc3ff6182252a634e2ce8167a8bd367932e858dd5 (diff)
Move skel/ into top-level directory, to try building directly from the repo.
Diffstat (limited to 'README')
1 files changed, 157 insertions, 27 deletions
diff --git a/README b/README
index faa2aa7..2194532 100644
--- a/README
+++ b/README
@@ -1,35 +1,165 @@
-Rakudo Star -- a useful, usable, "early adopter" distribution of Perl 6
+This is Rakudo Star, a useful, usable Perl 6 distribution for "early adopters".
-Rakudo Star is a distribution of Perl 6 aimed at early adopters.
-This git repository isn't the distribution itself; the repository
-contains the tools and scripts used to create a distribution.
+This is the 2012.08 release of Rakudo Star.
-If you're looking to simply download and run the latest release
-of Rakudo Star, please download a .tar.gz file from
-http://github.com/rakudo/star/downloads .
+Rakudo Star is Copyright (C) 2010 - 2012 by the Rakudo Star Team.
-If you're still reading this, we assume you're a Rakudo Star
-release manager, or someone that is looking to create new
-Perl 6 distributions based on the tools here. Run
-"make VERSION=yyyy.mm" to populate a distribution image
-into the rakudo-star-yyyy.mm/ directory.
+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.
-The build system assumes that you have the following tools available:
- * perl
- * make
- * git
- * wget
- * cp
- * find
- * tar
- * touch
+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.
-See <https://github.com/rakudo/rakudo/wiki/What's-going-into-Rakudo-*%3F> for a list
-of modules we want included in the distribution.
+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.
-The skel/ directory contains the basic layout of documentation and
-other support files, other components are then populated into
-the target directory via the make command above.
+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
+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
+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
+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
-To create a candidate release tarball, try "make release VERSION=yyyy.mm".