aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortyil <p.spek@tyil.nl>2019-10-31 11:34:14 +0000
committertyil <p.spek@tyil.nl>2019-10-31 11:34:14 +0000
commit127a83fb91826f98243ae0cd291115d95beb93dd (patch)
tree52737900faed6502e842888682267bbcac765119
parent139ba6333a8b7497b5349a6ed9fde963ea7a90e7 (diff)
parent5511989854671aa28628a43cf723603211297241 (diff)
Merge branch '2019.07' into 'master'
Get Rakudo Star builds up and running again See merge request tyil/rakudo-star!1
-rw-r--r--.gitignore18
-rw-r--r--.gitlab-ci.yml34
-rw-r--r--.gitmodules299
-rwxr-xr-xbin/mkrelease.sh23
-rw-r--r--bundle/Configure.pl (renamed from Configure.pl)51
-rw-r--r--bundle/README.md (renamed from README)0
-rw-r--r--bundle/build_msi.bat (renamed from build_msi.bat)0
-rw-r--r--docs/announce/2019.07.md4
m---------modules/App::Prove60
m---------modules/DBIish0
m---------modules/DateTime::Format (renamed from modules/perl6-datetime-format)0
m---------modules/DateTime::Parse0
m---------modules/Debugger::UI::CommandLine0
m---------modules/Digest0
m---------modules/Digest::MD5 (renamed from modules/perl6-digest-md5)0
m---------modules/File::Directory::Tree (renamed from modules/p6-file-directory-tree)0
m---------modules/File::Find (renamed from modules/file-find)0
m---------modules/File::Temp (renamed from modules/p6-File-Temp)0
m---------modules/File::Which (renamed from modules/perl6-file-which)0
m---------modules/Getopt::Long0
m---------modules/Grammar::Debugger (renamed from modules/grammar-debugger)0
m---------modules/Grammar::Profiler::Simple (renamed from modules/Grammar-Profiler-Simple)0
m---------modules/HTTP::Easy (renamed from modules/perl6-http-easy)0
m---------modules/HTTP::Status (renamed from modules/perl6-http-status)0
m---------modules/HTTP::UserAgent0
m---------modules/IO::Capture::Simple (renamed from modules/io-capture-simple)0
m---------modules/IO::Socket::SSL (renamed from modules/io-socket-ssl)0
m---------modules/IO::String (renamed from modules/p6-io-string)0
m---------modules/JSON-Class0
m---------modules/JSON-Marshal0
m---------modules/JSON::Class0
m---------modules/JSON::Fast0
m---------modules/JSON::Marshal0
m---------modules/JSON::Name (renamed from modules/JSON-Name)0
m---------modules/JSON::RPC (renamed from modules/jsonrpc)0
m---------modules/JSON::Tiny (renamed from modules/json)0
m---------modules/JSON::Unmarshal (renamed from modules/JSON-Unmarshal)0
m---------modules/LWP::Simple0
m---------modules/LibraryMake (renamed from modules/library-make)0
m---------modules/License-SPDX0
m---------modules/License::SPDX0
m---------modules/META60
m---------modules/MIME::Base64 (renamed from modules/Perl6-MIME-Base64)0
-rw-r--r--modules/MODULES.txt106
m---------modules/NativeHelpers::Blob (renamed from modules/NativeHelpers-Blob)0
m---------modules/OO::Monitors (renamed from modules/oo-monitors)0
m---------modules/OpenSSL (renamed from modules/openssl)0
m---------modules/Pod-To-HTML0
m---------modules/Pod::Load0
m---------modules/Pod::To::BigPage (renamed from modules/perl6-pod-to-bigpage)0
m---------modules/Pod::To::HTML0
m---------modules/SVG (renamed from modules/svg)0
m---------modules/SVG::Plot (renamed from modules/svg-plot)0
m---------modules/Shell::Command (renamed from modules/shell-command)0
m---------modules/TAP0
m---------modules/Temp::Path (renamed from modules/perl6-Temp-Path)0
m---------modules/Template::Mojo (renamed from modules/Template-Mojo)0
m---------modules/Template::Mustache (renamed from modules/p6-Template-Mustache)0
m---------modules/Terminal::ANSIColor (renamed from modules/Terminal-ANSIColor)0
m---------modules/Test::META (renamed from modules/Test-META)0
m---------modules/Test::Mock0
m---------modules/Test::Output0
m---------modules/Test::Util::ServerPort (renamed from modules/test-util-serverport)0
m---------modules/Test::When (renamed from modules/perl6-Test-When)0
m---------modules/Testo (renamed from modules/perl6-Testo)0
m---------modules/URI0
m---------modules/XML::Writer (renamed from modules/xml-writer)0
m---------modules/app-prove60
m---------modules/datetime-parse0
m---------modules/debugger-ui-commandline0
m---------modules/doc0
m---------modules/getopt-long60
m---------modules/http-useragent0
m---------modules/json_fast0
m---------modules/libdigest-perl60
m---------modules/p6-pod-load0
m---------modules/p6doc0
m---------modules/perl6-Test-Output0
m---------modules/perl6-encode0
m---------modules/perl6-lwp-simple0
m---------modules/tap-harness60
m---------modules/test-mock0
m---------modules/uri0
m---------modules/zef0
-rw-r--r--tools/build/Makefile.in2
-rw-r--r--tools/build/module-install.pl4
-rw-r--r--tools/lib/NQP/Configure.pm3
-rw-r--r--tools/star/Makefile97
88 files changed, 365 insertions, 276 deletions
diff --git a/.gitignore b/.gitignore
index a80f75d..435fc1e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,12 @@
-MANIFEST
-rakudo
-nqp
-MoarVM
-src
-config.status
-Makefile
-install
-perl6
+# Editor specific files
*.swp
*~
\#*#
+
+# Temporary files used to build a new Rakudo Star release
+MANIFEST
+Makefile
+config.status
+perl6
+release
+work
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..b5977fd
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+stages:
+ - Package
+ - Build
+
+Tarball:
+ stage: Package
+ image: alpine:latest
+ before_script:
+ - apk add --no-cache git make perl
+ script:
+ - git submodule sync
+ - git submodule update --init --recursive
+ - bin/mkrelease.sh "$CI_COMMIT_REF_NAME"
+ artifacts:
+ paths:
+ - work/release
+
+MoarVM:
+ stage: Build
+ image: alpine:latest
+ before_script:
+ - apk add --no-cache bash build-base git perl
+ - cd -- "$(mktemp -d)"
+ - tar xzf "$CI_PROJECT_DIR/work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz"
+ script:
+ - cd "rakudo-star-$CI_COMMIT_REF_NAME"
+ - perl Configure.pl --prefix="$CI_PROJECT_DIR/work/install" --backend=moar --gen-moar --make-install
+ artifacts:
+ paths:
+ - work/install
+
+# TODO: Run tests
+# TODO: Release an updated Docker container
+# TODO: Release the tarball to some Raku server
diff --git a/.gitmodules b/.gitmodules
index 5d1be8c..9cd06e3 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,177 +1,174 @@
-[submodule "modules/debugger-ui-commandline"]
- path = modules/debugger-ui-commandline
- url = git://github.com/jnthn/rakudo-debugger
-[submodule "modules/xml-writer"]
- path = modules/xml-writer
- url = git://github.com/masak/xml-writer
-[submodule "modules/svg"]
- path = modules/svg
- url = git://github.com/moritz/svg
-[submodule "modules/svg-plot"]
- path = modules/svg-plot
- url = git://github.com/moritz/svg-plot
-[submodule "modules/test-mock"]
- path = modules/test-mock
- url = git://github.com/jnthn/test-mock
-[submodule "modules/Grammar-Profiler-Simple"]
- path = modules/Grammar-Profiler-Simple
- url = git://github.com/perlpilot/Grammar-Profiler-Simple
-[submodule "modules/grammar-debugger"]
- path = modules/grammar-debugger
- url = git://github.com/jnthn/grammar-debugger
-[submodule "modules/json"]
- path = modules/json
- url = git://github.com/moritz/json
-[submodule "modules/perl6-digest-md5"]
- path = modules/perl6-digest-md5
- url = git://github.com/cosimo/perl6-digest-md5
-[submodule "modules/perl6-http-status"]
- path = modules/perl6-http-status
- url = git://github.com/supernovus/perl6-http-status
-[submodule "modules/perl6-http-easy"]
- path = modules/perl6-http-easy
- url = git://github.com/supernovus/perl6-http-easy
-[submodule "modules/Template-Mojo"]
- path = modules/Template-Mojo
- url = git://github.com/tadzik/Template-Mojo
+[submodule "modules/Debugger::UI::CommandLine"]
+ path = modules/Debugger::UI::CommandLine
+ url = git://github.com/jnthn/rakudo-debugger.git
+[submodule "modules/XML::Writer"]
+ path = modules/XML::Writer
+ url = git://github.com/masak/xml-writer.git
+[submodule "modules/SVG"]
+ path = modules/SVG
+ url = git://github.com/moritz/svg.git
+[submodule "modules/SVG::Plot"]
+ path = modules/SVG::Plot
+ url = git://github.com/moritz/svg-plot.git
+[submodule "modules/Test::Mock"]
+ path = modules/Test::Mock
+ url = git://github.com/jnthn/test-mock.git
+[submodule "modules/Grammar::Profiler::Simple"]
+ path = modules/Grammar::Profiler::Simple
+ url = git://github.com/perlpilot/Grammar-Profiler-Simple.git
+[submodule "modules/Grammar::Debugger"]
+ path = modules/Grammar::Debugger
+ url = git://github.com/jnthn/grammar-debugger.git
+[submodule "modules/JSON::Tiny"]
+ path = modules/JSON::Tiny
+ url = git://github.com/moritz/json.git
+[submodule "modules/Digest::MD5"]
+ path = modules/Digest::MD5
+ url = git://github.com/cosimo/perl6-digest-md5.git
+[submodule "modules/HTTP::Status"]
+ path = modules/HTTP::Status
+ url = git://github.com/supernovus/perl6-http-status.git
+[submodule "modules/HTTP::Easy"]
+ path = modules/HTTP::Easy
+ url = git://github.com/supernovus/perl6-http-easy.git
+[submodule "modules/Template::Mojo"]
+ path = modules/Template::Mojo
+ url = git://github.com/tadzik/Template-Mojo.git
[submodule "modules/DBIish"]
path = modules/DBIish
- url = git://github.com/perl6/DBIish
-[submodule "modules/uri"]
- path = modules/uri
- url = git://github.com/perl6-community-modules/uri
-[submodule "modules/perl6-lwp-simple"]
- path = modules/perl6-lwp-simple
- url = git://github.com/perl6/perl6-lwp-simple
-[submodule "modules/jsonrpc"]
- path = modules/jsonrpc
- url = git://github.com/bbkr/jsonrpc
-[submodule "modules/Pod-To-HTML"]
- path = modules/Pod-To-HTML
- url = git://github.com/perl6/Pod-To-HTML
-[submodule "modules/doc"]
- path = modules/doc
- url = git://github.com/perl6/doc
-[submodule "modules/Perl6-MIME-Base64"]
- path = modules/Perl6-MIME-Base64
- url = git://github.com/perl6/Perl6-MIME-Base64
+ url = git://github.com/perl6/DBIish.git
+[submodule "modules/URI"]
+ path = modules/URI
+ url = git://github.com/perl6-community-modules/uri.git
+[submodule "modules/LWP::Simple"]
+ path = modules/LWP::Simple
+ url = git://github.com/perl6/perl6-lwp-simple.git
+[submodule "modules/JSON::RPC"]
+ path = modules/JSON::RPC
+ url = git://github.com/bbkr/jsonrpc.git
+[submodule "modules/Pod::To::HTML"]
+ path = modules/Pod::To::HTML
+ url = git://github.com/perl6/Pod-To-HTML.git
+[submodule "modules/p6doc"]
+ path = modules/p6doc
+ url = git://github.com/perl6/doc.git
+[submodule "modules/MIME::Base64"]
+ path = modules/MIME::Base64
+ url = git://github.com/perl6/Perl6-MIME-Base64.git
[submodule "modules/PSGI"]
path = modules/PSGI
- url = git://github.com/supernovus/perl6-psgi
-[submodule "modules/shell-command"]
- path = modules/shell-command
- url = git://github.com/tadzik/Shell-Command
-[submodule "modules/file-find"]
- path = modules/file-find
- url = git://github.com/tadzik/File-Find
-[submodule "modules/p6-Template-Mustache"]
- path = modules/p6-Template-Mustache
- url = git://github.com/softmoth/p6-Template-Mustache
-[submodule "modules/p6-File-Temp"]
- path = modules/p6-File-Temp
- url = git://github.com/perlpilot/p6-File-Temp
-[submodule "modules/p6-file-directory-tree"]
- path = modules/p6-file-directory-tree
- url = git://github.com/labster/p6-file-directory-tree
-[submodule "modules/Terminal-ANSIColor"]
- path = modules/Terminal-ANSIColor
- url = git://github.com/tadzik/Terminal-ANSIColor
-[submodule "modules/json_fast"]
- path = modules/json_fast
- url = git://github.com/timo/json_fast
-[submodule "modules/library-make"]
- path = modules/library-make
- url = https://github.com/retupmoca/P6-LibraryMake/
+ url = git://github.com/supernovus/perl6-psgi.git
+[submodule "modules/Shell::Command"]
+ path = modules/Shell::Command
+ url = git://github.com/tadzik/Shell-Command.git
+[submodule "modules/File::Find"]
+ path = modules/File::Find
+ url = git://github.com/tadzik/File-Find.git
+[submodule "modules/Template::Mustache"]
+ path = modules/Template::Mustache
+ url = git://github.com/softmoth/p6-Template-Mustache.git
+[submodule "modules/File::Temp"]
+ path = modules/File::Temp
+ url = git://github.com/perlpilot/p6-File-Temp.git
+[submodule "modules/File::Directory::Tree"]
+ path = modules/File::Directory::Tree
+ url = git://github.com/labster/p6-file-directory-tree.git
+[submodule "modules/Terminal::ANSIColor"]
+ path = modules/Terminal::ANSIColor
+ url = git://github.com/tadzik/Terminal-ANSIColor.git
+[submodule "modules/JSON::Fast"]
+ path = modules/JSON::Fast
+ url = git://github.com/timo/json_fast.git
+[submodule "modules/LibraryMake"]
+ path = modules/LibraryMake
+ url = git://github.com/retupmoca/P6-LibraryMake.git
[submodule "modules/Linenoise"]
path = modules/Linenoise
- url = https://github.com/hoelzro/p6-linenoise/
-[submodule "modules/perl6-file-which"]
- path = modules/perl6-file-which
- url = git://github.com/azawawi/perl6-file-which
-[submodule "modules/NativeHelpers-Blob"]
- path = modules/NativeHelpers-Blob
- url = git://github.com/salortiz/NativeHelpers-Blob
-[submodule "modules/perl6-pod-to-bigpage"]
- path = modules/perl6-pod-to-bigpage
+ url = git://github.com/hoelzro/p6-linenoise.git
+[submodule "modules/File::Which"]
+ path = modules/File::Which
+ url = git://github.com/azawawi/perl6-file-which.git
+[submodule "modules/NativeHelpers::Blob"]
+ path = modules/NativeHelpers::Blob
+ url = git://github.com/salortiz/NativeHelpers-Blob.git
+[submodule "modules/Pod::To::BigPage"]
+ path = modules/Pod::To::BigPage
url = git://github.com/gfldex/perl6-pod-to-bigpage.git
[submodule "modules/zef"]
path = modules/zef
url = git://github.com/ugexe/zef.git
-[submodule "modules/oo-monitors"]
- path = modules/oo-monitors
- url = git://github.com/jnthn/oo-monitors
-[submodule "modules/tap-harness6"]
- path = modules/tap-harness6
+[submodule "modules/OO::Monitors"]
+ path = modules/OO::Monitors
+ url = git://github.com/jnthn/oo-monitors.git
+[submodule "modules/TAP"]
+ path = modules/TAP
url = git://github.com/perl6/tap-harness6.git
-[submodule "modules/p6-io-string"]
- path = modules/p6-io-string
+[submodule "modules/IO::String"]
+ path = modules/IO::String
url = git://github.com/hoelzro/p6-io-string.git
-[submodule "modules/perl6-Test-When"]
- path = modules/perl6-Test-When
+[submodule "modules/Test::When"]
+ path = modules/Test::When
url = git://github.com/zoffixznet/perl6-Test-When.git
-[submodule "modules/perl6-encode"]
- path = modules/perl6-encode
- url = git://github.com/sergot/perl6-encode.git
-[submodule "modules/Test-META"]
- path = modules/Test-META
+[submodule "modules/Test::META"]
+ path = modules/Test::META
url = git://github.com/jonathanstowe/Test-META.git
-[submodule "modules/perl6-datetime-format"]
- path = modules/perl6-datetime-format
+[submodule "modules/DateTime::Format"]
+ path = modules/DateTime::Format
url = git://github.com/supernovus/perl6-datetime-format.git
[submodule "modules/META6"]
path = modules/META6
url = git://github.com/jonathanstowe/META6.git
-[submodule "modules/JSON-Class"]
- path = modules/JSON-Class
+[submodule "modules/JSON::Class"]
+ path = modules/JSON::Class
url = git://github.com/jonathanstowe/JSON-Class.git
-[submodule "modules/JSON-Marshal"]
- path = modules/JSON-Marshal
+[submodule "modules/JSON::Marshal"]
+ path = modules/JSON::Marshal
url = git://github.com/jonathanstowe/JSON-Marshal.git
-[submodule "modules/JSON-Name"]
- path = modules/JSON-Name
+[submodule "modules/JSON::Name"]
+ path = modules/JSON::Name
url = git://github.com/jonathanstowe/JSON-Name
-[submodule "modules/JSON-Unmarshal"]
- path = modules/JSON-Unmarshal
+[submodule "modules/JSON::Unmarshal"]
+ path = modules/JSON::Unmarshal
url = git://github.com/tadzik/JSON-Unmarshal.git
-[submodule "modules/http-useragent"]
- path = modules/http-useragent
+[submodule "modules/HTTP::UserAgent"]
+ path = modules/HTTP::UserAgent
url = git://github.com/sergot/http-useragent.git
-[submodule "modules/datetime-parse"]
- path = modules/datetime-parse
+[submodule "modules/DateTime::Parse"]
+ path = modules/DateTime::Parse
url = git://github.com/sergot/datetime-parse.git
-[submodule "modules/io-capture-simple"]
- path = modules/io-capture-simple
+[submodule "modules/IO::Capture::Simple"]
+ path = modules/IO::Capture::Simple
url = git://github.com/sergot/IO-Capture-Simple.git
-[submodule "modules/test-util-serverport"]
- path = modules/test-util-serverport
+[submodule "modules/Test::Util::ServerPort"]
+ path = modules/Test::Util::ServerPort
url = git://github.com/jonathanstowe/Test-Util-ServerPort.git
-[submodule "modules/openssl"]
- path = modules/openssl
- url = git://github.com/sergot/openssl
-[submodule "modules/io-socket-ssl"]
- path = modules/io-socket-ssl
- url = git://github.com/sergot/io-socket-ssl
-[submodule "modules/app-prove6"]
- path = modules/app-prove6
- url = git://github.com/Leont/app-prove6
-[submodule "modules/getopt-long6"]
- path = modules/getopt-long6
- url = git://github.com/Leont/getopt-long6
-[submodule "modules/p6-pod-load"]
- path = modules/p6-pod-load
- url = git@github.com:JJ/p6-pod-load
-[submodule "modules/perl6-Temp-Path"]
- path = modules/perl6-Temp-Path
- url = git@github.com:ufobat/perl6-Temp-Path
-[submodule "modules/libdigest-perl6"]
- path = modules/libdigest-perl6
- url = git@github.com:grondilu/libdigest-perl6
-[submodule "modules/perl6-Testo"]
- path = modules/perl6-Testo
- url = git@github.com:perl6-community-modules/perl6-Testo
-[submodule "modules/License-SPDX"]
- path = modules/License-SPDX
- url = git@github.com:jonathanstowe/License-SPDX
-[submodule "modules/perl6-Test-Output"]
- path = modules/perl6-Test-Output
- url = git@github.com:perl6-community-modules/perl6-Test-Output
+[submodule "modules/OpenSSL"]
+ path = modules/OpenSSL
+ url = git://github.com/sergot/openssl.git
+[submodule "modules/IO::Socket::SSL"]
+ path = modules/IO::Socket::SSL
+ url = git://github.com/sergot/io-socket-ssl.git
+[submodule "modules/App::Prove6"]
+ path = modules/App::Prove6
+ url = git://github.com/Leont/app-prove6.git
+[submodule "modules/Getopt::Long"]
+ path = modules/Getopt::Long
+ url = git://github.com/Leont/getopt-long6.git
+[submodule "modules/Pod::Load"]
+ path = modules/Pod::Load
+ url = git://github.com/JJ/p6-pod-load.git
+[submodule "modules/Temp::Path"]
+ path = modules/Temp::Path
+ url = git://github.com/ufobat/perl6-Temp-Path.git
+[submodule "modules/Digest"]
+ path = modules/Digest
+ url = git://github.com/grondilu/libdigest-perl6.git
+[submodule "modules/Testo"]
+ path = modules/Testo
+ url = git://github.com/perl6-community-modules/perl6-Testo.git
+[submodule "modules/License::SPDX"]
+ path = modules/License::SPDX
+ url = git://github.com/jonathanstowe/License-SPDX.git
+[submodule "modules/Test::Output"]
+ path = modules/Test::Output
+ url = git://github.com/perl6-community-modules/perl6-Test-Output.git
diff --git a/bin/mkrelease.sh b/bin/mkrelease.sh
new file mode 100755
index 0000000..7c712e0
--- /dev/null
+++ b/bin/mkrelease.sh
@@ -0,0 +1,23 @@
+#! /usr/bin/env sh
+
+readonly BASEDIR=$(CDPATH="" cd -- "$(dirname -- "$0")/.." && pwd -P)
+
+main()
+{
+ if [ -z "$1" ]
+ then
+ usage
+ exit 1
+ fi
+
+ cd -- "$BASEDIR"
+ make -f tools/star/Makefile all VERSION="$1"
+ make -f tools/star/Makefile release VERSION="$1"
+}
+
+usage()
+{
+ print "NYI"
+}
+
+main "$@"
diff --git a/Configure.pl b/bundle/Configure.pl
index 0627b2f..4a1984e 100644
--- a/Configure.pl
+++ b/bundle/Configure.pl
@@ -49,53 +49,56 @@ MAIN: {
}
if (-d '.git') {
- worry( $options{'force'},
- "I see a .git directory here -- you appear to be trying",
- "to run Configure.pl from a clone of the Rakudo Star git",
- "repository.",
- "You most probably should be following",
- " tools/star/release-guide.pod",
- "instead. Please be aware that running Configure.pl from",
- "a clone of the rakudo star git repo will never be",
- "the right thing to do.",
- $options{'force'}
- ? '--force specified, continuing'
- : download_text()
+ worry(
+ $options{'force'},
+ "I see a .git directory here -- you appear to be trying",
+ "to run Configure.pl from a clone of the Rakudo Star git",
+ "repository.",
+ "You most probably should be following",
+ " tools/star/release-guide.pod",
+ "instead. Please be aware that running Configure.pl from",
+ "a clone of the rakudo star git repo will never be",
+ "the right thing to do.",
+ $options{'force'} ? '--force specified, continuing' : download_text()
);
}
unless (defined $options{prefix}) {
- my $default = defined($options{sysroot}) ? '/usr' : File::Spec->catdir(getcwd, 'install');
+
+ my $default = defined($options{sysroot}) ? '/usr' : File::Spec->catdir(getcwd, 'install');
print "ATTENTION: no --prefix supplied, building and installing to $default\n";
+
$options{prefix} = $default;
}
+
$options{prefix} = File::Spec->rel2abs($options{prefix});
my $prefix = $options{'prefix'};
my %known_backends = (jvm => 1, moar => 1);
my %letter_to_backend;
my $default_backend;
+
for (keys %known_backends) {
$letter_to_backend{ substr($_, 0, 1) } = $_;
}
+
my %backends;
+
if (defined $options{backends}) {
- $options{backends} = 'moar,jvm'
- if lc($options{backends}) eq 'all';
+ $options{backends} = 'moar,jvm' if lc($options{backends}) eq 'all';
+
for my $b (split /,\s*/, $options{backends}) {
$b = lc $b;
- if ($b eq 'parrot') {
- die "Parrot support has been suspended from Rakudo Star. Please use version 2015.02 if you need Parrot support, or otherwise the MoarVM backend.\n";
- }
- unless ($known_backends{$b}) {
- die "Unknown backend '$b'; Supported backends are: " .
- join(", ", sort keys %known_backends) .
- "\n";
+
+ if (!$known_backends{$b}) {
+ die "Unknown backend '$b'; Supported backends are: " . join(", ", sort keys %known_backends) . "\n";
}
+
$backends{$b} = 1;
$default_backend ||= $b;
}
- unless (%backends) {
+
+ if (!%backends) {
die "--prefix given, but no valid backend?!\n";
}
}
@@ -171,7 +174,7 @@ MAIN: {
my @prefixes = sort map substr($_, 0, 1), keys %backends;
# determine the version of NQP we want
- my ($nqp_want) = split(' ', slurp('rakudo/tools/build/NQP_REVISION'));
+ my ($nqp_want) = split(' ', slurp('rakudo/tools/templates/NQP_REVISION'));
my %binaries;
my %impls = gen_nqp($nqp_want, prefix => $prefix, backends => join(',', sort keys %backends), %options);
diff --git a/README b/bundle/README.md
index 857b3a6..857b3a6 100644
--- a/README
+++ b/bundle/README.md
diff --git a/build_msi.bat b/bundle/build_msi.bat
index 270c5f9..270c5f9 100644
--- a/build_msi.bat
+++ b/bundle/build_msi.bat
diff --git a/docs/announce/2019.07.md b/docs/announce/2019.07.md
new file mode 100644
index 0000000..dfe2a37
--- /dev/null
+++ b/docs/announce/2019.07.md
@@ -0,0 +1,4 @@
+# Rakudo Star (2019.07)
+
+This is a test release.
+
diff --git a/modules/App::Prove6 b/modules/App::Prove6
new file mode 160000
+Subproject c3e62325e3400fc6147b27682a967568e1027a7
diff --git a/modules/DBIish b/modules/DBIish
-Subproject 606089631fdbfc526dd86eac7070d736951c786
+Subproject 1131284aa434b630e1ee7bd2602cf5cc73f78c9
diff --git a/modules/perl6-datetime-format b/modules/DateTime::Format
-Subproject 3f3c99314e36029e36738097685a51dd94a188c
+Subproject 3f3c99314e36029e36738097685a51dd94a188c
diff --git a/modules/DateTime::Parse b/modules/DateTime::Parse
new file mode 160000
+Subproject acf2f4f493891d3accdc25e8209ce275899d5dd
diff --git a/modules/Debugger::UI::CommandLine b/modules/Debugger::UI::CommandLine
new file mode 160000
+Subproject a18de77df33b9189f093511b6b6249230cd6dc4
diff --git a/modules/Digest b/modules/Digest
new file mode 160000
+Subproject 42ba6bef6ca5a9e532ad1436465df7af0cd5f70
diff --git a/modules/perl6-digest-md5 b/modules/Digest::MD5
-Subproject 2194250ff2d50a37f92d4f82fac216729f4eba8
+Subproject 2194250ff2d50a37f92d4f82fac216729f4eba8
diff --git a/modules/p6-file-directory-tree b/modules/File::Directory::Tree
-Subproject 25faef927c83eea1b688b5a324d5e11011f7305
+Subproject 25faef927c83eea1b688b5a324d5e11011f7305
diff --git a/modules/file-find b/modules/File::Find
-Subproject 41421e8f1aec7207a1633de17f7630b7ceba1ff
+Subproject 41421e8f1aec7207a1633de17f7630b7ceba1ff
diff --git a/modules/p6-File-Temp b/modules/File::Temp
-Subproject 7f128adc5bbad8d172f87e868c52eb85339fc90
+Subproject 7f128adc5bbad8d172f87e868c52eb85339fc90
diff --git a/modules/perl6-file-which b/modules/File::Which
-Subproject 1dfbeba2f92f8b2b04e8b26619eb20d599198d2
+Subproject 1dfbeba2f92f8b2b04e8b26619eb20d599198d2
diff --git a/modules/Getopt::Long b/modules/Getopt::Long
new file mode 160000
+Subproject 2f83c23fac987fbabcb4bbcc0ee386edff7a27a
diff --git a/modules/grammar-debugger b/modules/Grammar::Debugger
-Subproject 0375008027c8caa216bd869476ce59ae09b2a70
+Subproject 0375008027c8caa216bd869476ce59ae09b2a70
diff --git a/modules/Grammar-Profiler-Simple b/modules/Grammar::Profiler::Simple
-Subproject c0aca5fab323b2974821dabd6b89330c609e0b7
+Subproject c0aca5fab323b2974821dabd6b89330c609e0b7
diff --git a/modules/perl6-http-easy b/modules/HTTP::Easy
-Subproject 8742272c4913e6e05895f90c96262cd0c37772d
+Subproject 8742272c4913e6e05895f90c96262cd0c37772d
diff --git a/modules/perl6-http-status b/modules/HTTP::Status
-Subproject c8226cfcfe5ee65536880287fcd0c332f7f409f
+Subproject c8226cfcfe5ee65536880287fcd0c332f7f409f
diff --git a/modules/HTTP::UserAgent b/modules/HTTP::UserAgent
new file mode 160000
+Subproject c8c96b4fef7f4e3146153a6dec528db9d692c47
diff --git a/modules/io-capture-simple b/modules/IO::Capture::Simple
-Subproject 360a6bed347723940b9f0fb12be04cb5ec84f35
+Subproject 360a6bed347723940b9f0fb12be04cb5ec84f35
diff --git a/modules/io-socket-ssl b/modules/IO::Socket::SSL
-Subproject f07010c8965855ff734de297466c883afffbb56
+Subproject f07010c8965855ff734de297466c883afffbb56
diff --git a/modules/p6-io-string b/modules/IO::String
-Subproject 364df2753eef8976d902ed51b4085e77f1dda23
+Subproject 364df2753eef8976d902ed51b4085e77f1dda23
diff --git a/modules/JSON-Class b/modules/JSON-Class
deleted file mode 160000
-Subproject 691e59138925d9bfd9130abcabbe5b2d2913f5a
diff --git a/modules/JSON-Marshal b/modules/JSON-Marshal
deleted file mode 160000
-Subproject c40bec636cc5948932fa467841725c93e30db32
diff --git a/modules/JSON::Class b/modules/JSON::Class
new file mode 160000
+Subproject 13b01e7c831d6c1dba4ebe1104c8c87711c4f72
diff --git a/modules/JSON::Fast b/modules/JSON::Fast
new file mode 160000
+Subproject 3a29ede8ec738b185a71f11b462cbb63bc8b8b7
diff --git a/modules/JSON::Marshal b/modules/JSON::Marshal
new file mode 160000
+Subproject 492264295dd88aa7753048c46edce3f546ad399
diff --git a/modules/JSON-Name b/modules/JSON::Name
-Subproject f9d52e032da0f9621a3f38cd03a825b93ab6567
+Subproject f9d52e032da0f9621a3f38cd03a825b93ab6567
diff --git a/modules/jsonrpc b/modules/JSON::RPC
-Subproject ebccb25d505ef544e016038f39e21ad9c59c3bd
+Subproject ebccb25d505ef544e016038f39e21ad9c59c3bd
diff --git a/modules/json b/modules/JSON::Tiny
-Subproject a5ef8c179350dae44ce7fb1abb684fc62c1c2b9
+Subproject a5ef8c179350dae44ce7fb1abb684fc62c1c2b9
diff --git a/modules/JSON-Unmarshal b/modules/JSON::Unmarshal
-Subproject e1b6288c5f3165058f36c0f4e171cdf2dfd640d
+Subproject e1b6288c5f3165058f36c0f4e171cdf2dfd640d
diff --git a/modules/LWP::Simple b/modules/LWP::Simple
new file mode 160000
+Subproject eb48ab98b3422b40cd0def8faa882abb9184c26
diff --git a/modules/library-make b/modules/LibraryMake
-Subproject 7aae514f09c18b54e2a5d584df340b70d9776a6
+Subproject 7aae514f09c18b54e2a5d584df340b70d9776a6
diff --git a/modules/License-SPDX b/modules/License-SPDX
deleted file mode 160000
-Subproject 4f435605326fe8530917d0fdc0e64c5d22b3066
diff --git a/modules/License::SPDX b/modules/License::SPDX
new file mode 160000
+Subproject 6e7d5477a59b364317bee162eb1b00ef8884a25
diff --git a/modules/META6 b/modules/META6
-Subproject 04fc2e8ea2c428cb30fdcbad9f4455af235896b
+Subproject d40ed95d205a7dfecb7b7e3edd5b67c37ade4f3
diff --git a/modules/Perl6-MIME-Base64 b/modules/MIME::Base64
-Subproject 71f046ab176a6dd77a5a4103a44778ed5cf1b17
+Subproject 71f046ab176a6dd77a5a4103a44778ed5cf1b17
diff --git a/modules/MODULES.txt b/modules/MODULES.txt
index 81a3f2f..8e267fa 100644
--- a/modules/MODULES.txt
+++ b/modules/MODULES.txt
@@ -1,61 +1,59 @@
# The order of modules here is significant; a module must be listed after
# all of its dependencies.
-uri
-json_fast
-JSON-Name
-JSON-Unmarshal
-JSON-Marshal
-JSON-Class
+URI
+JSON::Fast
+JSON::Name
+JSON::Unmarshal
+JSON::Marshal
+JSON::Class
META6
-License-SPDX
-Test-META
-xml-writer
-svg # uses XML::Writer
-svg-plot # uses SVG
-Terminal-ANSIColor
-oo-monitors
-test-mock
-Grammar-Profiler-Simple
-grammar-debugger # uses Terminal::ANSIColor
-Perl6-MIME-Base64
-uri
-json
-perl6-encode
-openssl
-io-socket-ssl
-perl6-lwp-simple # uses MIME::Base64, URI, JSON::Tiny
-perl6-digest-md5
-perl6-http-status
-p6-Template-Mustache
+License::SPDX
+Test::META
+XML::Writer
+SVG # XML::Writer
+SVG::Plot # SVG
+Terminal::ANSIColor
+OO::Monitors
+Test::Mock
+Grammar::Profiler::Simple
+Grammar::Debugger # Terminal::ANSIColor
+MIME::Base64
+JSON::Tiny
+OpenSSL
+IO::Socket::SSL
+LWP::Simple # MIME::Base64, URI, JSON::Tiny
+Digest::MD5
+HTTP::Status
+Template::Mustache
PSGI
-perl6-http-easy # uses PSGI
+HTTP-Easy # PSGI
Template-Mojo
NativeHelpers-Blob
-DBIish # uses NativeHelpers::Blob
-perl6-Test-When
-p6-file-directory-tree
-libdigest-perl6
-perl6-Testo
-perl6-Temp-Path # uses Digest::SHA, File::Directory::Tree
-p6-pod-load # uses Temp::Path
-perl6-Test-Output
-Pod-To-HTML # uses Pod::Load
-perl6-pod-to-bigpage
-p6-File-Temp # uses File::Directory::Tree
-file-find
-doc # uses File::Temp
-debugger-ui-commandline
-shell-command
-library-make # check needed?
+DBIish # NativeHelpers::Blob
+Test::When
+File-Directory-Tree
+Digest
+Testo
+Temp-Path # Digest::SHA, File::Directory::Tree
+Pod::Load # Temp::Path
+Test::Output
+Pod::To::HTML # Pod::Load
+Pod::To::BigPage
+File::Temp # File::Directory::Tree
+File::Find
+p6doc # File::Temp
+Debugger::UI::CommandLine
+Shell::Command
+LibraryMake # check needed?
Linenoise
-perl6-file-which
-p6-io-string
-perl6-datetime-format
-datetime-parse # dependency for http-useragent
-io-capture-simple
-test-util-serverport
-http-useragent
-jsonrpc # uses PSGI & http-useragent
-getopt-long6
-tap-harness6 # have last so faster perl5 prove used
-app-prove6
+File::Which
+IO::String
+DateTime::Format
+DateTime::Parse # HTTP::UserAgent
+IO::Capture::Simple
+Test::Util::ServerPort
+HTTP::Useragent
+JSON::RPC # PSGI, HTTP::Useragent
+Getopt::Long
+TAP
+App::Prove6
diff --git a/modules/NativeHelpers-Blob b/modules/NativeHelpers::Blob
-Subproject b00a4899ce219dae5fe97e9e414d01dd92874f5
+Subproject b00a4899ce219dae5fe97e9e414d01dd92874f5
diff --git a/modules/oo-monitors b/modules/OO::Monitors
-Subproject 6dc1a363c7859b760bf973d0ada0773cfdb1435
+Subproject 6dc1a363c7859b760bf973d0ada0773cfdb1435
diff --git a/modules/openssl b/modules/OpenSSL
-Subproject 597e836c73684bb53ac5cb4511edca9b4f10ea8
+Subproject 597e836c73684bb53ac5cb4511edca9b4f10ea8
diff --git a/modules/Pod-To-HTML b/modules/Pod-To-HTML
deleted file mode 160000
-Subproject 98d16f6aac7ec45e0902e23db347c1f153f0e5f
diff --git a/modules/Pod::Load b/modules/Pod::Load
new file mode 160000
+Subproject 53df2215d8e9980fde1308b4f8e0e5a28edef21
diff --git a/modules/perl6-pod-to-bigpage b/modules/Pod::To::BigPage
-Subproject 92f2e4ef9f20a5031a5f033dc876e72f9d54455
+Subproject 92f2e4ef9f20a5031a5f033dc876e72f9d54455
diff --git a/modules/Pod::To::HTML b/modules/Pod::To::HTML
new file mode 160000
+Subproject 8ddda65e0504ef2ca3f21c17f611aca00011dcc
diff --git a/modules/svg b/modules/SVG
-Subproject 07190c0602aa276e5319f06aa0012452dbff358
+Subproject 07190c0602aa276e5319f06aa0012452dbff358
diff --git a/modules/svg-plot b/modules/SVG::Plot
-Subproject 062570a78fd38c3c6baba29dfe2fbb8ca014f4d
+Subproject 062570a78fd38c3c6baba29dfe2fbb8ca014f4d
diff --git a/modules/shell-command b/modules/Shell::Command
-Subproject 1145ea0ff71507b2fe932fca6d2a68d4004c7d1
+Subproject 1145ea0ff71507b2fe932fca6d2a68d4004c7d1
diff --git a/modules/TAP b/modules/TAP
new file mode 160000
+Subproject 4b272219941a75809774d6a382d615bfb7779de
diff --git a/modules/perl6-Temp-Path b/modules/Temp::Path
-Subproject 5a6acee907d65fc5b681a6ea022aa18217f6e99
+Subproject 5a6acee907d65fc5b681a6ea022aa18217f6e99
diff --git a/modules/Template-Mojo b/modules/Template::Mojo
-Subproject 3d38f92636a0c44dfd4cec2e7b8b67f12e43c02
+Subproject 3d38f92636a0c44dfd4cec2e7b8b67f12e43c02
diff --git a/modules/p6-Template-Mustache b/modules/Template::Mustache
-Subproject 4f09e0a97f38fe5d8c75514ca0c858cdfb26d09
+Subproject 4f09e0a97f38fe5d8c75514ca0c858cdfb26d09
diff --git a/modules/Terminal-ANSIColor b/modules/Terminal::ANSIColor
-Subproject eeb2dadd2cc2b7df34588be7869768213fd9fff
+Subproject eeb2dadd2cc2b7df34588be7869768213fd9fff
diff --git a/modules/Test-META b/modules/Test::META
-Subproject 498d80bf64af6fbecd6dde40406fbaf8c3e2672
+Subproject 498d80bf64af6fbecd6dde40406fbaf8c3e2672
diff --git a/modules/Test::Mock b/modules/Test::Mock
new file mode 160000
+Subproject 1130427f4d9f3866fa39e113251bb142d7fa5cc
diff --git a/modules/Test::Output b/modules/Test::Output
new file mode 160000
+Subproject 16bafe1f6d0e5a83b73563d4afd8ced097f559e
diff --git a/modules/test-util-serverport b/modules/Test::Util::ServerPort
-Subproject 184ed7e575b48c4a1db50dae9bfb606a7de59ad
+Subproject 184ed7e575b48c4a1db50dae9bfb606a7de59ad
diff --git a/modules/perl6-Test-When b/modules/Test::When
-Subproject a1a0040520911ed8d56e839e2e00d8ab9a0a24e
+Subproject a1a0040520911ed8d56e839e2e00d8ab9a0a24e
diff --git a/modules/perl6-Testo b/modules/Testo
-Subproject d1134ec7c3b40baf766384d004fd9b379eac27c
+Subproject d1134ec7c3b40baf766384d004fd9b379eac27c
diff --git a/modules/URI b/modules/URI
new file mode 160000
+Subproject abe8c9bb65947760cb656c6c154f466cd87f6e5
diff --git a/modules/xml-writer b/modules/XML::Writer
-Subproject 4d30a9d8e06033ca97387971b653817becd5a75
+Subproject 4d30a9d8e06033ca97387971b653817becd5a75
diff --git a/modules/app-prove6 b/modules/app-prove6
deleted file mode 160000
-Subproject ace4c7c758084d5ae62519cc072f3b6937721d6
diff --git a/modules/datetime-parse b/modules/datetime-parse
deleted file mode 160000
-Subproject ab2401b046dc9ea893f8e3282e497136c9399f0
diff --git a/modules/debugger-ui-commandline b/modules/debugger-ui-commandline
deleted file mode 160000
-Subproject f81ab6323f1fb1051aa750e414c75797e6b1bb0
diff --git a/modules/doc b/modules/doc
deleted file mode 160000
-Subproject 99c20ef5b400cdb1073fdcab2133f9cffcd8d2b
diff --git a/modules/getopt-long6 b/modules/getopt-long6
deleted file mode 160000
-Subproject 6f6fb5e83916038ba36483c69fa0fc23bf6c43f
diff --git a/modules/http-useragent b/modules/http-useragent
deleted file mode 160000
-Subproject cfdfc48c55d312049f90f1db61042718c1de990
diff --git a/modules/json_fast b/modules/json_fast
deleted file mode 160000
-Subproject 5ce76c039dc143fa9a068f1dfa47b42e5804682
diff --git a/modules/libdigest-perl6 b/modules/libdigest-perl6
deleted file mode 160000
-Subproject 39bb469a81485ede064de7c7aa9284d1c4b327c
diff --git a/modules/p6-pod-load b/modules/p6-pod-load
deleted file mode 160000
-Subproject 5a1a2ffdf881bdb9c21ea8e42bb1ee2e211ac5c
diff --git a/modules/p6doc b/modules/p6doc
new file mode 160000
+Subproject cfa072a239efb33d9517a21534b561cc5f24c99
diff --git a/modules/perl6-Test-Output b/modules/perl6-Test-Output
deleted file mode 160000
-Subproject 32f2a33cc94b1aa137fe30a1d881ad573652642
diff --git a/modules/perl6-encode b/modules/perl6-encode
deleted file mode 160000
-Subproject 702214dcedd05ea62d815ffb4c287e1596cee4c
diff --git a/modules/perl6-lwp-simple b/modules/perl6-lwp-simple
deleted file mode 160000
-Subproject 46d3fdb698b5ec0cd819e533abf2e8d235f1876
diff --git a/modules/tap-harness6 b/modules/tap-harness6
deleted file mode 160000
-Subproject e1e1d221ed7e3d15d096ced64d1976f489a9369
diff --git a/modules/test-mock b/modules/test-mock
deleted file mode 160000
-Subproject bfa37f639d42796fcd21ab477d294a054bf22a1
diff --git a/modules/uri b/modules/uri
deleted file mode 160000
-Subproject c5f7d74feacb752e2dcfb07b17006e24fb47306
diff --git a/modules/zef b/modules/zef
-Subproject a56b65a120d27e2dfb6c470e5f179993ef5c8c9
+Subproject 9db010a4f32c4af866832c3979d0fcf5211a64a
diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in
index 7152691..59f9480 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 = 2019.07
# install location
PREFIX_DIR = @prefix@
diff --git a/tools/build/module-install.pl b/tools/build/module-install.pl
index 9f7e038..0bd4cee 100644
--- a/tools/build/module-install.pl
+++ b/tools/build/module-install.pl
@@ -14,9 +14,7 @@ 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";
+ '--force', '--/test', 'install', "./modules$path_sep$module";
}
exit $exit;
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..a1b879a 100644
--- a/tools/star/Makefile
+++ b/tools/star/Makefile
@@ -2,20 +2,22 @@
# 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 = 2019.07.1
+NQP_VER = 2019.07.1
+MOAR_VER = 2019.07.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_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://dist.tyil.nl/raku/nqp/$(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 +28,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 +59,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