aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/build/Makefile.in6
-rw-r--r--tools/build/module-install.pl36
-rw-r--r--tools/build/modules-test.pl60
-rw-r--r--tools/lib/NQP/Configure.pm3
-rw-r--r--tools/star/Makefile98
-rw-r--r--tools/star/mac-dmg.pod142
-rw-r--r--tools/star/release-guide.pod350
-rw-r--r--tools/star/windows-msi.pod155
8 files changed, 144 insertions, 706 deletions
diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in
index 7152691..29d5071 100644
--- a/tools/build/Makefile.in
+++ b/tools/build/Makefile.in
@@ -3,7 +3,7 @@
MOAR_DIR = moarvm
NQP_DIR = nqp
RAKUDO_DIR = rakudo
-STAR_VERSION = 2019.03
+STAR_VERSION = 2020.01
# install location
PREFIX_DIR = @prefix@
@@ -67,12 +67,12 @@ modules-install-m: rakudo-install
modules-test: @backend_modules_test@
verbose-modules-test: @backend_modules_test@
-modules-test-j: modules-install-j
+modules-test-j:
$(PERL) tools/build/modules-test.pl $(CURDIR) $(DESTDIR)$(PERL6_J_INSTALL) $(MODULES)
verbose-modules-test-j: modules-install-j
$(PERL) tools/build/modules-test.pl --verbose $(CURDIR) $(DESTDIR)$(PERL6_J_INSTALL) $(MODULES)
-modules-test-m: modules-install-m
+modules-test-m:
$(PERL) tools/build/modules-test.pl $(CURDIR) $(DESTDIR)$(PERL6_M_INSTALL) $(MODULES)
verbose-modules-test-m: modules-install-m
$(PERL) tools/build/modules-test.pl --verbose $(CURDIR) $(DESTDIR)$(PERL6_M_INSTALL) $(MODULES)
diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl
index 9f7e038..eadb99e 100644
--- a/tools/build/module-install.pl
+++ b/tools/build/module-install.pl
@@ -2,21 +2,37 @@
use warnings;
use strict;
+
my $perl6bin = shift @ARGV;
my $zefbin = shift @ARGV;
+my $exit = 0;
+my $path_sep = $^O eq 'MSWin32' ? '\\' : '/';
-my $exit = 0;
+while (<>) {
+ # Skip comments
+ next if /^\s*(#|$)/;
-my $path_sep = "/";
-$path_sep = "\\" if ( $^O eq 'MSWin32' );
+ # Extract only the module name from the current line
+ my ($module) = /(\S+)/;
-while (<>) {
- next if /^\s*(#|$)/;
- my ($module) = /(\S+)/;
- $exit ||= system $perl6bin, $zefbin,
- '--/build-depends', '--/test-depends', '--/depends',
- '--/p6c', '--/metacpan', '--/cpan',
- '--force', 'install', "./modules$path_sep$module";
+ # Create the command list
+ my @cmd = (
+ $perl6bin,
+ $zefbin,
+ '--/build-depends',
+ '--/depends',
+ '--/test',
+ '--/test-depends',
+ '--force',
+ 'install',
+ "./modules$path_sep$module"
+ );
+
+ # Show the command that's going to be ran, for debugging purposes
+ printf "@cmd\n";
+
+ # Actually run the command
+ $exit ||= system "@cmd";
}
exit $exit;
diff --git a/tools/build/modules-test.pl b/tools/build/modules-test.pl
index 396f066..c4b9d00 100644
--- a/tools/build/modules-test.pl
+++ b/tools/build/modules-test.pl
@@ -1,5 +1,8 @@
#! perl
+use warnings;
+use strict;
+
use Cwd;
use Getopt::Long;
@@ -7,19 +10,52 @@ GetOptions('verbose' => \my $verbose);
my $base = shift @ARGV;
my $perl6 = shift @ARGV;
+my @failures;
while (<>) {
- next if /^\s*(#|$)/;
- my ($moduledir) = /(\S+)/;
- print "Testing modules/$moduledir with $perl6...\n";
- if (-d "$base/modules/$moduledir/t") {
- chdir("$base/modules/$moduledir");
- system('prove', $verbose ? '-v' : (), '-e', $perl6, '-r', 't');
- }
- else {
- print "...no t/ directory found.\n";
- }
- print "\n";
+ # Skip comments
+ next if /^\s*(#|$)/;
+
+ # Extract only the module name from the current line
+ my ($moduledir) = /(\S+)/;
+
+ if (! -d "$base/modules/$moduledir/t") {
+ print "[" . getcwd . "] ...no t/ directory found.\n";
+ next;
+ }
+
+ # Run the tests through prove
+ chdir("$base/modules/$moduledir");
+
+ my @cmd = (
+ 'prove',
+ $verbose ? '-v' : (),
+ '-e', $perl6,
+ '-r',
+ 't',
+ );
+
+ # Show the command that's going to be ran, for debugging purposes
+ print "[" . getcwd . "] @cmd\n";
+
+ # Actually run the command
+ my $exit = system "@cmd";
+
+ # Exit early if any errors occurred
+ if ($exit) {
+ push @failures, $_;
+ }
+
+ print "\n";
}
-0;
+# If we reach this, no errors have been found
+if (@failures) {
+ print "The following modules failed their tests:\n";
+
+ foreach (@failures) {
+ print "- $_\n";
+ }
+
+ exit 1;
+}
diff --git a/tools/lib/NQP/Configure.pm b/tools/lib/NQP/Configure.pm
index 2f67bf1..b63fffb 100644
--- a/tools/lib/NQP/Configure.pm
+++ b/tools/lib/NQP/Configure.pm
@@ -221,8 +221,7 @@ sub gen_nqp {
my $sdkroot = $options{'sdkroot'} || '';
my $startdir = cwd();
- my $PARROT_REVISION = 'nqp/tools/build/PARROT_REVISION';
- my $MOAR_REVISION = 'nqp/tools/build/MOAR_REVISION';
+ my $MOAR_REVISION = 'nqp/tools/templates/MOAR_REVISION';
my (%impls, %need);
diff --git a/tools/star/Makefile b/tools/star/Makefile
index 661b299..b2d4673 100644
--- a/tools/star/Makefile
+++ b/tools/star/Makefile
@@ -2,20 +2,23 @@
# eg. 2017.07 etc.
# Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt')
# eg. 2017.07-9-gc0abee7 etc.
-RAKUDO_VER = 2019.03.1
-NQP_VER = 2019.03
-MOAR_VER = 2019.03
+RAKUDO_VER = 2020.01
+NQP_VER = 2020.01
+MOAR_VER = 2020.01.1
STAR_REL = rakudo-star-$(VERSION)
STAR_TGZ = $(STAR_REL).tar.gz
-SRC_DIR = src
+SRC_DIR = work/src
+WORKDIR ?= $(shell pwd)/work/rakudo-star-$(VERSION)
+RELEASE_DIR = $(shell pwd)/work/release
RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz
RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ)
+RAKUDO_URL = https://github.com/rakudo/rakudo/releases/download/$(RAKUDO_VER)/$(RAKUDO_TGZ)
RAKUDO_SRC = $(SRC_DIR)/$(RAKUDO_TGZ)
NQP_TGZ = nqp-$(NQP_VER).tar.gz
-NQP_URL = https://rakudo.perl6.org/downloads/nqp/$(NQP_TGZ)
+NQP_URL = https://github.com/perl6/nqp/releases/download/$(NQP_VER)/$(NQP_TGZ)
NQP_SRC = $(SRC_DIR)/$(NQP_TGZ)
MOAR_TGZ = MoarVM-$(MOAR_VER).tar.gz
MOAR_URL = https://www.moarvm.org/releases/$(MOAR_TGZ)
@@ -26,29 +29,27 @@ PREFIX = $(PERL) $(CURDIR)/tools/star/prefix.pl
WGET = wget
TAR = tar
-all: rakudo nqp moar manifest
-
-always:
+all: rakudo nqp moarvm manifest
rakudo: nqp $(RAKUDO_SRC)
- mkdir rakudo
- $(TAR) -C rakudo --strip-components 1 -xvzf $(RAKUDO_SRC)
+ mkdir -p $(WORKDIR)/rakudo
+ $(TAR) -C $(WORKDIR)/rakudo --strip-components 1 -xzf $(RAKUDO_SRC)
$(RAKUDO_SRC):
mkdir -p $(SRC_DIR)
$(WGET) $(RAKUDO_URL) -O $(RAKUDO_SRC)
-nqp: moar $(NQP_SRC)
- mkdir nqp
- $(TAR) -C nqp --strip-components 1 -xvzf $(NQP_SRC)
+nqp: moarvm $(NQP_SRC)
+ mkdir -p $(WORKDIR)/nqp
+ $(TAR) -C $(WORKDIR)/nqp --strip-components 1 -xzf $(NQP_SRC)
$(NQP_SRC):
mkdir -p $(SRC_DIR)
$(WGET) $(NQP_URL) -O $(NQP_SRC)
-moar: $(MOAR_SRC)
- mkdir MoarVM
- $(TAR) -C MoarVM --strip-components 1 -xvzf $(MOAR_SRC)
+moarvm: $(MOAR_SRC)
+ mkdir -p $(WORKDIR)/MoarVM
+ $(TAR) -C $(WORKDIR)/MoarVM --strip-components 1 -xzf $(MOAR_SRC)
$(MOAR_SRC):
mkdir -p $(SRC_DIR)
@@ -59,26 +60,59 @@ modules/DBIish/lib:
git submodule init
git submodule update
-manifest: modules/DBIish/lib
- echo MANIFEST >MANIFEST
- git ls-files >>MANIFEST
- $(PREFIX) rakudo/ rakudo/MANIFEST >>MANIFEST
- $(PREFIX) nqp/ nqp/MANIFEST >>MANIFEST
- $(PREFIX) MoarVM/ MoarVM/MANIFEST >>MANIFEST
- git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >>MANIFEST
- grep -v -f tools/star/MANIFEST.exclude MANIFEST >MANIFEST.1
- $(PERL) -n -e 'chomp; -f && print "$$_\n"' MANIFEST.1 >MANIFEST
- sort -o MANIFEST MANIFEST
- rm MANIFEST.1
+manifest:
+ printf "%s\n" MANIFEST >> "$(WORKDIR)/MANIFEST"
+
+ # Add an assortment of files from this repository
+ git ls-files | grep -E '^docs' >> "$(WORKDIR)/MANIFEST"
+ git ls-files | grep -E '^modules' >> "$(WORKDIR)/MANIFEST"
+ git ls-files | grep -E '^ports' >> "$(WORKDIR)/MANIFEST"
+ git ls-files | grep -E '^tools' >> "$(WORKDIR)/MANIFEST"
+
+ printf "%s\n" build_msi.bat >> "$(WORKDIR)/MANIFEST"
+ printf "%s\n" Configure.pl >> "$(WORKDIR)/MANIFEST"
+ printf "%s\n" LICENSE >> "$(WORKDIR)/MANIFEST"
+ printf "%s\n" README.md >> "$(WORKDIR)/MANIFEST"
+
+ # Add the 3 core parts for Raku
+ cd -- "$(WORKDIR)" && $(PREFIX) rakudo/ rakudo/MANIFEST >> "$(WORKDIR)/MANIFEST"
+ cd -- "$(WORKDIR)" && $(PREFIX) nqp/ nqp/MANIFEST >> "$(WORKDIR)/MANIFEST"
+ cd -- "$(WORKDIR)" && $(PREFIX) MoarVM/ MoarVM/MANIFEST >> "$(WORKDIR)/MANIFEST"
+
+ # Add ecosystem modules
+ git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >> $(WORKDIR)/MANIFEST
+
+ # Remove explicitly removed files
+ grep -v -f tools/star/MANIFEST.exclude $(WORKDIR)/MANIFEST > $(WORKDIR)/MANIFEST.1
+ mv -- "$(WORKDIR)/MANIFEST.1" "$(WORKDIR)/MANIFEST"
+
+ # Clean up whitespace
+ $(PERL) -n -e 'chomp; print "$$_\n"' $(WORKDIR)/MANIFEST > $(WORKDIR)/MANIFEST.1
+ mv -- "$(WORKDIR)/MANIFEST.1" "$(WORKDIR)/MANIFEST"
+
+ # Sort the MANIFEST
+ sort -o $(WORKDIR)/MANIFEST $(WORKDIR)/MANIFEST
patch:
patch -p1 < patches/star-ver.patch
-tarball: manifest patch
+tarball: manifest
[ -n "$(VERSION)" ] || ( echo "\nTry '$(MAKE) release VERSION=yyyy.mm'\n\n"; exit 1 )
- [ -d $(STAR_REL) ] || ln -s . $(STAR_REL)
- $(PREFIX) $(STAR_REL)/ MANIFEST | \
- $(TAR) -zcv -T - -f $(STAR_TGZ)
- rm $(STAR_REL)
+
+ mkdir -p "$(RELEASE_DIR)"
+ cp -r modules "$(WORKDIR)/."
+ cp -r docs "$(WORKDIR)/."
+ cp -r ports "$(WORKDIR)/."
+ cp -r tools "$(WORKDIR)/."
+ cp LICENSE "$(WORKDIR)/."
+ cp bundle/README.md "$(WORKDIR)/."
+ cp bundle/build_msi.bat "$(WORKDIR)/."
+ cp bundle/Configure.pl "$(WORKDIR)/."
+
+ cd -- work && $(PREFIX) $(STAR_REL)/ "$(WORKDIR)/MANIFEST" \
+ | $(TAR) -zc -T - -f "$(RELEASE_DIR)/$(STAR_TGZ)"
release: tarball
+
+clean:
+ rm -fr work
diff --git a/tools/star/mac-dmg.pod b/tools/star/mac-dmg.pod
deleted file mode 100644
index 7ebc64a..0000000
--- a/tools/star/mac-dmg.pod
+++ /dev/null
@@ -1,142 +0,0 @@
-=head1 Guide to building DMG packages
-
-Rakudo Star releases are based on Rakudo compiler releases.
-Since some time is often needed for module updates and testing
-after each Rakudo compiler release, the timing of Star releases
-varies from one release to the next. The dmg packages are based
-on these Star releases.
-
-Also, while the Rakudo compiler issues monthly releases; Star
-releases are free to choose a longer release cycle. Star releases
-are also free to choose older releases of the compiler, NQP, and/or
-MoarVM. The goal is to balance end-user stability needs with
-progress being made on the compiler, modules, and other runtime
-components.
-
-=head2 Steps to create an DMG package
-
-A C<.dmg> is a file extension used for an Apple Disk Image which is the most
-popular way of running an installer on the Mac desktop
-
-If this is your first time releasing, B<read the whole guide before
-starting>. That way you can ask questions and clear up any confusions before
-you're in the thick of it.
-
-If you have done this before, you might want to check for and read any changes
-to this release guide since your last run.
-
-=over 4
-
-=item Step 0
-
-Download and install C<Xcode> from Apple if you don't already have the C<clang> C
-compiler installed. This process was tested on OS X 10.11.x as a build system
-using clang-700.1.76 and the result is known to run on as least far back as OS
-X 10.9 (and probably further).
-
-=item Step 1
-
-Use your browser to download the latest star release, replace YYYY.MM by year and month:
-https://rakudo.perl6.org/downloads/star/rakudo-star-YYYY.MM.tar.gz
-
-Unpack this C<.tar.gz> to your hard disk. You will get a folder C<rakudo-star-YYYY.MM>, again
-YYYY.MM is year and month of the star release.
-
-=item Step 2
-
-Change the path to the directory created in the previous step, and run:
-
- cd ports/darwin_dmg
- perl package_darwin_dmg.pl --build -v YYYY MM
-
-This should automatically compile the MoarVM version of star and all modules and create the C<.dmg>
-
-In theory this all that needs doing and you can jump to step 4 below.
-
-=item Step 3
-
-Watch the scrollback for errors.
-
-If the build is interrupted you will have to manually C<make clean> in the top
-level directory before rerunning the previous step.
-
-Note the C<--build> option will automatically delete the binary destination
-directory of C</Applications/Rakudo> if it exists before running but leaves it in
-place after finishing.
-
-Omitting the C<--build> option will just rebuild the C<.dmg> from C</Applications/Rakudo> which is useful when debugging the final stage of C<.dmg> build since it's much faster.
-
-=item Step 4
-
-A correct build will create C<ports/darwin_dmg/Temp_build/Rakudo-Star-YYYY-MM.dmg>
-
-To sanity test
-
- open Temp_build/Rakudo-Star-YYYY-MM.dmg
-
-This should automount C</Volumes/Rakudo> and open a Finder window with a
-background image of Camelia and "Drag the Rakudo Folder to Applications"
-containing a README.txt, a Rakudo folder, Docs folder and a folder representing
-a sym link to Applications.
-
-Delete the directory used to create the C<.dmg>.
-
- rm -rf /Applications/Rakudo
-
-Now dragging the C<Rakudo> folder to the Applications Link folder (with arrow)
-should repopulate C</Applications/Rakudo>.
-
-Append your C<PATH> as suggested in the C<README.txt> and look for reasonable output
-from the following kind of commands.
-
- perl6 -e "say 'hello'"
- zef list --installed
- p6doc -l
-
-=item Step 5
-
-Stop the release process if you see serious issues with no obvious fix and post
-them to the IRC channel or mailing list. If you alter scripts recommit them.
-
-=item Step 6
-
-Generate a SHA256 sum:
-
- sha256sum rakudo-star-YYYY.MM.dmg | cut -f1 -d" " > rakudo-star-YYYY.MM.dmg.sha256.txt
-
-=item Step 7
-
-Generate a GPG signature for the DMG file:
-
- gpg --armor --detach-sig rakudo-star-YYYY.MM.dmg
-
-This will create C<rakudo-star-YYYY.MM.dmg.asc>.
-
-=item Step 8
-
-Upload the dmg and SHA256 to L<https://rakudo.perl6.org/downloads/star>:
-
- rsync -avz rakudo-star-YYYY.MM.dmg* rakudo@www.p6c.org:public_html/downloads/star
-
-If you don't have permission to do this step, please ask one(pmichaud, jnthn,
-masak, PerlJam/perlpilot, tadzik, moritz) on C<#perl6> to do it for you.
-
-=item Step 9
-
-Publicize the dmg packages in the appropriate places. These include:
-
-=over 4
-
-=item * rakudo.org
-
-=item * #perl6
-
-=back
-
-=item Step 10
-
-You're done! Celebrate with the appropriate amount of fun.
-
-=back
-
-=cut
diff --git a/tools/star/release-guide.pod b/tools/star/release-guide.pod
deleted file mode 100644
index 584ee17..0000000
--- a/tools/star/release-guide.pod
+++ /dev/null
@@ -1,350 +0,0 @@
-=head1 Guide to Rakudo Star releases
-
-Rakudo Star releases are based on Rakudo compiler releases.
-Since some time is often needed for module updates and testing
-after each Rakudo compiler release, the timing of Star releases
-varies from one release to the next.
-
-Also, while the Rakudo compiler issues monthly releases, Star
-releases are free to choose a longer release cycle. Star releases
-are also free to choose older releases of the compiler, NQP, or
-MoarVM. The goal is to balance end-user stability needs with
-progress being made on the compiler, modules, and other runtime
-components. Currently, Star is on a quarterly release cycle.
-
-=head2 Steps to create a release
-
-If this is your first time releasing, B<read the whole guide before
-starting>. That way you can ask questions and clear up and confusions before
-you're in the thick of it.
-
-If you have done this before, you might want to check for and read any changes
-to this release guide since your last run.
-
-Any time this guide tells you to commit changes, you may also push them if you
-wish to do so. Step 8 will make sure you do this regardless.
-
-=over 4
-
-=item Step 0
-
-Make sure you have a working C<perl6> binary in your C<$PATH>. Refer to
-L<http://rakudo.org/how-to-get-rakudo/> for how to do that. The exact version
-isn't very important at the moment, it just shouldn't be a year out of date.
-
-=item Step 1
-
-Clone the git@github.com:rakudo/star repository.
-
- $ git clone git@github.com:rakudo/star
-
-If you already have a clone of rakudo/star, make sure it is in sync
-with github:
-
- $ git checkout master
- $ git pull origin master
- $ git submodule sync
- $ git submodule update --init --recursive
-
-Verify that
-
- $ git status
-
-reports a clean repository.
-
-=item Step 2
-
-Change to the star repository directory and edit the first three
-lines of F<tools/star/Makefile> to indicate the desired releases of
-Rakudo, NQP, and MoarVM to use.
-
-Usually that means the last Rakudo release, the NQP version that is in the
-released Rakudo's F<tools/build/NQP_REVISION> file, and the MoarVM version that
-is in the F<tools/build/MOAR_REVISION> file that is included in the NQP
-release.
-
- $ cd star
- $ vi tools/star/Makefile
-
-=item Step 3
-
-Run C<make -f tools/star/Makefile> to populate the star directory
-with the needed tarballs and module repositories for building Rakudo Star:
-
- $ make -f tools/star/Makefile
-
-You may at times be prompted for your SSH key/pass combo.
-
-Assuming the Makefile ran successfully, you should now commit your changes.
-
- $ git commit tools
-
-=item Step 4
-
-If there are any new modules to be added, use C<git submodule> to add
-its repo to the modules/ directory. Also add the module directory
-name to the C<modules/MODULES.txt> file.
-
- $ git submodule add git@github.com:user/acme-example modules/acme-example
- $ echo acme-example >>modules/MODULES.txt
- $ git commit . -m "Added acme-example to installed modules."
-
-=item Step 5
-
-Verify that all of the git submodules are at the desired commit
-for the Star release. To bring all modules up to the current
-C<master> branch, one can do:
-
- # pull master in each submodule dir
- $ git submodule foreach git pull origin master
-
-Create a temporary file as a basis for the module changelog to be
-included in release announcement below:
-
- $ git diff --submodule=log > /tmp/mod.txt
-
-Then you may commit your update of the submodules:
-
- # commit submodules state to star repo
- $ git commit modules
-
-=item Step 6
-
-If one doesn't already exist, create a release announcement in
-C<docs/announce/YYYY.MM.md>. You can often use the previous release's
-file as a starting point, updating the release number, version
-information, name, etc., as appropriate. Be sure to pay attention
-to any changes listed in Rakudo's ChangeLog.
-
- $ vi docs/announce/YYYY.MM.md
- $ git add docs/announce/YYYY.MM.md
- $ git commit docs
-
-The module changelog temporary file above can be used to help with
-the corresponding section in the announcement.
-
-At this point it is strongly advised that you push your changes so far, to get
-feedback on your announcement while you do other steps.
-
- $ git push
-
-=item Step 7
-
-Update the release number in the C<README> and C<Makefile.in> files.
-
- $ vi README tools/build/Makefile.in
- $ git commit README tools/build/Makefile.in
-
-=item Step 8
-
-Make sure any locally modified files have been pushed
-back to github.
-
- $ git status
- $ git push
-
-=item Step 9
-
-Create a candidate release tarball:
-
- $ make -f tools/star/Makefile release VERSION=2012.08
-
-This will create a tarball C<rakudo-star-2012.08.tar.gz> in the
-current directory.
-
-=item Step 10
-
-Unpack the tarball somewhere else, and do a test build/install:
-
- $ mkdir work
- $ cd work
- $ tar xvfz ../rakudo-star-2012.08.tar.gz
- $ cd rakudo-star-2012.08
- $ perl Configure.pl --gen-moar
- $ make install
- $ make rakudo-test
- $ make rakudo-spectest
- $ make modules-test
-
-If there are failures in any of C<rakudo-test>, C<rakudo-spectest>, or
-C<modules-test>, then do your best to fix them and return to step 8.
-
-STOP THE RELEASE PROCESS (i.e., do not issue a release) if there
-are any errors that you're unable to fix. File issue tickets
-(https://github.com/rakudo/star/issues) for failing tests
-and report them to C<#perl6>.
-
-=item Step 11
-
-Tag the release by its release month ("YYYY.MM").
-
- $ git tag -s -a -m"tag release YYYY.MM" YYYY.MM # e.g. 2012.08
- $ git push --tags
-
-The C<-s> tells git to sign the release with your PGP/GPG key, so it will
-likely ask you for the passphrase of your secret key. Note some versions of
-git/gpg don't correctly prompt for passphrase or display a meaningful error
-when it's absent.
-
-If you have no PGP key, you might need to
-L<create one first|https://fedoraproject.org/wiki/Creating_GPG_Keys>. Should
-that prove impossible, you can omit the C<-s> from the command line.
-
-Also sign the release tarball with GPG and a suitable key
-eg. C<gpg --armor --detach-sig rakudo-star-2018.01.tar.gz>
-
-Generate a SHA256 sum eg.
-
- $ sha256sum rakudo-star-2018.01.tar.gz | cut -f1 -d" " > rakudo-star-2018.01.tar.gz.sha256.txt
-
-=item Step 12
-
-Upload the release tarball to L<http://rakudo.org/downloads/star> and L<https://rakudo.perl6.org/downloads/star/>:
-
- $ scp rakudo-star-2012.08.tar.gz rakudo@rakudo.org:public_html/downloads/star
-
-Also upload the detached signature eg. C<rakudo-star-2018.01.tar.gz.asc>
-and sha256 sum eg. C<rakudo-star-2018.01.tar.gz.sha256.txt>
-
-If you don't have permission to do this step, please ask one of the core devs
-(pmichaud, jnthn, masak, PerlJam/perlpilot, tadzik, or moritz) on C<#perl6> to do
-it for you.
-
-=item Step 13
-
-Commit announcement to the rakudo.org repo automatically by running the following
-command. You will need C<perl6> in the C<PATH> and to C<zef install WWW> if you don't
-have it.
-
-You can also make and commit the post manually, but if you do, be sure
-to add C<%% title:> and C<%% date:> metadate to the top of the file:
-
- cd $(mktemp -d) &&
- git clone git@github.com:perl6/rakudo.org/. &&
- ./push-latest-rakudo-star-announcement.p6 2018.01
-
-You will also have to bump versions manually in C<templates/files.html.ep> in
-the rakudo.org repo.
-
-Publicize the release in the appropriate places. These include:
-
-=over 4
-
-=item * http://perl6.org/
-
-=item * perl6-users@perl.org
-
-=item * perl6-language@perl.org
-
-=item * perl6-compiler@perl.org
-
-=item * http://en.wikipedia.org/wiki/Rakudo_Perl_6 (latest release date is mentioned in the main text)
-
-=item * http://en.wikipedia.org/wiki/Perl_6
-
-=back
-
-Actively ask others to advertise the release as well. This includes their social
-media accounts and blogs. Notable places include:
-
-=over 4
-
-=item * L<http://blogs.perl.org/>
-
-=item * L<Perl 6 Facebook Page|https://www.facebook.com/groups/1595443877388632/>
-
-=item * Reddit: L<r/perl|https://www.reddit.com/r/perl/>, L<r/perl6|https://www.reddit.com/r/perl6/>,
-and L<r/programming|https://www.reddit.com/r/programming/>
-
-=item * L<Hacker News|https://news.ycombinator.com/news>
-
-=item * L<Rakudo's Twitter account|https://twitter.com/rakudoperl>
-
-=back
-
-=item Step 14
-
-Add this release and your name to the list of releases at the end of this
-document (F<tools/star/release-guide.pod>).
-
- $ vim tools/star/release-guide.pod
- $ git add tools/star/release-guide.pod
- $ git commit -m 'note YYYY.MM release in release-guide.pod
-
-=item Step 15
-
-You're done! Celebrate with the appropriate amount of fun.
-
-=back
-
-=head2 Star Releases
-
- Release Release Manager
- ======= ===============
-
- 2010.07 pmichaud
- 2010.08 pmichaud
- 2010.09 pmichaud
- 2010.10 pmichaud
- 2010.11 pmichaud
- 2010.12 pmichaud
-
- 2011.01 pmichaud
- 2011.04 pmichaud
- 2011.07 pmichaud
-
- 2012.01 jnthn
- 2012.02 jnthn
- 2012.04 moritz
- 2012.05 moritz
- 2012.06 moritz
- 2012.07 pmichaud
- 2012.08 pmichaud
- 2012.09 pmichaud
- 2012.10 jnthn
- 2012.11 moritz
- 2012.12 moritz
-
- 2013.01 moritz
- 2013.02 moritz
- 2013.05 pmichaud
- 2013.08 moritz
- 2013.09 moritz
- 2013.10 lue
- 2013.11 moritz
- 2013.12 lue
-
- 2014.01 tadzik
- 2014.03 FROGGS
- 2014.04 jnthn
- 2014.08 FROGGS
- 2014.09 FROGGS
- 2014.12 moritz
-
- 2015.01 moritz
- 2015.02 moritz
- 2015.03 moritz
- 2015.06 FROGGS
- 2015.07 moritz
- 2015.09 moritz
- 2015.11 moritz
-
- 2016.01 FROGGS
- 2016.04 stmuk
- 2016.07 stmuk
- 2016.10 stmuk
- 2016.11 stmuk
-
- 2017.01 stmuk
- 2017.04 stmuk
- 2017.07 stmuk
- 2017.10 stmuk
-
- 2018.01 stmuk
- 2018.04 stmuk
- 2018.06 stmuk
- 2018.10 stmuk
-
- 2019.03 hankache, clarkema
-
-=cut
diff --git a/tools/star/windows-msi.pod b/tools/star/windows-msi.pod
deleted file mode 100644
index 8674c22..0000000
--- a/tools/star/windows-msi.pod
+++ /dev/null
@@ -1,155 +0,0 @@
-=head1 Guide to build MSI packages
-
-Rakudo Star releases are based on Rakudo compiler releases.
-Since some time is often needed for module updates and testing
-after each Rakudo compiler release, the timing of Star releases
-varies from one release to the next. The MSI packages are based
-on these Star releases.
-
-Also, while the Rakudo compiler issues monthly releases; Star
-releases are free to choose a longer release cycle. Star releases
-are also free to choose older releases of the compiler, NQP, and/or
-MoarVM. The goal is to balance end-user stability needs with
-progress being made on the compiler, modules, and other runtime
-components.
-
-=head2 Steps to create an MSI package
-
-If this is your first time releasing, B<read the whole guide before starting>.
-That way you can ask questions and clear up and confusions before you're in the
-thick of it.
-
-If you have done this before, you might want to check for and read any changes
-to this release guide since your last run.
-
-=over 4
-
-=item Step 0
-
-Download and install WiX Toolset, if needed adjust the PATH environment
-variable to point to its bin directory. The tools C<heat>, C<candle> and C<light>
-should be available now.
-
-Install ActivePerl and make sure it is in C<PATH>. C<perl -V> should give a
-sensible output.
-
-If you do not have the C compiler C<cl> installed yet, install the Microsoft
-Visual C++ Express for version 2010 or perhaps newer.
-
-Finally, install the Windows Software Development Kit (SDK) for your Windows
-version.
-
-An alternative to ActivePerl and the Microsoft toolchain is to use Strawberry
-Perl which ships with GCC and a mingw toolchain. Run these tools under C<cmd.exe>
-and replace all following references to C<nmake> by C<gmake>.
-
-=item Step 1
-
-Make sure there is no C<C:\rakudo> directory, as this will be our installation
-target. If there is one, remove it, perhaps after creating backup.
-
-=item Step 2
-
-Use your browser to download the latest star release, replace YYYY.MM by year
-and month: https://rakudo.perl6.org/downloads/star/rakudo-star-YYYY.MM.tar.gz
-
-Unpack this C<.tar.gz> to your hard disk. You will get a folder
-C<rakudo-star-YYYY.MM>, again YYYY.MM is year and month of the star release.
-
-=item Step 3
-
-Run the Command Line for Visual Studio from the start menu. Alternatively you
-can run C<cmd.exe> followed by C<vcvars32.bat>.
-
-In either case, this should return a valid path:
-
- echo %VSINSTALLDIR%
-
-=item Step 4
-
-Change the path to the directory created in step 2, and run:
-
- perl Configure.pl --prefix=C:\rakudo --gen-moar
-
-This will create a Makefile and will start to compile the MoarVM backend.
-
-=item Step 5
-
-Compile NQP and Rakudo by doing:
-
- nmake install
-
-This will also precompile all modules and install binaries like C<zef>.
-
-=item Step 6
-
-Finally create the MSI package.
-
- nmake msi
-
-(Note if you are using Strawberry Perl's GCC use C<build_msi> at this point)
-
-Depending on your architecture you either rename that msi to:
-
- rakudo-star-YYYY.MM-x86 (no JIT).msi
-
-or:
-
- rakudo-star-YYYY.MM-x86_64 (JIT).msi
-
-
-=item Step 7
-
-Delete your C<C:\rakudo> folder and make sure it got deleted. Then run the just
-created installer, and do some sanity tests:
-
- perl6 -e "say $*KERNEL.bits"
- zef list --installed
- zef install openssl
-
-If you are using Strawberry Perl then move its directory temporarily to a
-different name in order to check all DDLs are correctly installed in the
-C<C:\rakudo> folder.
-
-=item Step 8
-
-Stop the release process if step 7 failed. Post any issues to the irc channel
-or mailing list.
-
-=item Step 9
-
-Generate a SHA256 sum eg.
-
- $ sha256sum "rakudo-star-YYYY.MM-x86_64 (JIT).msi" | cut -f1 -d" " > "rakudo-star-YYYY.MM-x86_64 (JIT).msi.sha256.txt"
-
-=item Step 10
-
-Upload the msi package to L<http://rakudo.org/downloads/star> and L<https://rakudo.perl6.org/downloads/star/>:
-
- scp "rakudo-star-YYYY.MM-x86 (no JIT).msi" rakudo@rakudo.org:public_html/downloads/star
- scp "rakudo-star-YYYY.MM-x86 (no JIT).msi" rakudo@www.p6c.org:public_html/downloads/star
-
-If you don't have permission to do this step, please ask one(pmichaud, jnthn,
-masak, PerlJam/perlpilot, tadzik, moritz) on C<#perl6> to do it for you.
-
-Also upload the sha256 sum eg. C<rakudo-star-YYYY.MM-x86_64 (JIT).msi.sha256.txt>
-
-=item Step 11
-
-Publicize the msi packages in the appropriate places. These include:
-
-=over 4
-
-=item * rakudo.org
-
-=item * #perl6
-
-=back
-
-=item Step 12
-
-You're done! Celebrate with the appropriate amount of fun.
-
-=back
-
-=cut