diff options
author | tyil <p.spek@tyil.nl> | 2019-10-31 11:34:14 +0000 |
---|---|---|
committer | tyil <p.spek@tyil.nl> | 2019-10-31 11:34:14 +0000 |
commit | 127a83fb91826f98243ae0cd291115d95beb93dd (patch) | |
tree | 52737900faed6502e842888682267bbcac765119 | |
parent | 139ba6333a8b7497b5349a6ed9fde963ea7a90e7 (diff) | |
parent | 5511989854671aa28628a43cf723603211297241 (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-- | .gitignore | 18 | ||||
-rw-r--r-- | .gitlab-ci.yml | 34 | ||||
-rw-r--r-- | .gitmodules | 299 | ||||
-rwxr-xr-x | bin/mkrelease.sh | 23 | ||||
-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.md | 4 | ||||
m--------- | modules/App::Prove6 | 0 | ||||
m--------- | modules/DBIish | 0 | ||||
m--------- | modules/DateTime::Format (renamed from modules/perl6-datetime-format) | 0 | ||||
m--------- | modules/DateTime::Parse | 0 | ||||
m--------- | modules/Debugger::UI::CommandLine | 0 | ||||
m--------- | modules/Digest | 0 | ||||
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::Long | 0 | ||||
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::UserAgent | 0 | ||||
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-Class | 0 | ||||
m--------- | modules/JSON-Marshal | 0 | ||||
m--------- | modules/JSON::Class | 0 | ||||
m--------- | modules/JSON::Fast | 0 | ||||
m--------- | modules/JSON::Marshal | 0 | ||||
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::Simple | 0 | ||||
m--------- | modules/LibraryMake (renamed from modules/library-make) | 0 | ||||
m--------- | modules/License-SPDX | 0 | ||||
m--------- | modules/License::SPDX | 0 | ||||
m--------- | modules/META6 | 0 | ||||
m--------- | modules/MIME::Base64 (renamed from modules/Perl6-MIME-Base64) | 0 | ||||
-rw-r--r-- | modules/MODULES.txt | 106 | ||||
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-HTML | 0 | ||||
m--------- | modules/Pod::Load | 0 | ||||
m--------- | modules/Pod::To::BigPage (renamed from modules/perl6-pod-to-bigpage) | 0 | ||||
m--------- | modules/Pod::To::HTML | 0 | ||||
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/TAP | 0 | ||||
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::Mock | 0 | ||||
m--------- | modules/Test::Output | 0 | ||||
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/URI | 0 | ||||
m--------- | modules/XML::Writer (renamed from modules/xml-writer) | 0 | ||||
m--------- | modules/app-prove6 | 0 | ||||
m--------- | modules/datetime-parse | 0 | ||||
m--------- | modules/debugger-ui-commandline | 0 | ||||
m--------- | modules/doc | 0 | ||||
m--------- | modules/getopt-long6 | 0 | ||||
m--------- | modules/http-useragent | 0 | ||||
m--------- | modules/json_fast | 0 | ||||
m--------- | modules/libdigest-perl6 | 0 | ||||
m--------- | modules/p6-pod-load | 0 | ||||
m--------- | modules/p6doc | 0 | ||||
m--------- | modules/perl6-Test-Output | 0 | ||||
m--------- | modules/perl6-encode | 0 | ||||
m--------- | modules/perl6-lwp-simple | 0 | ||||
m--------- | modules/tap-harness6 | 0 | ||||
m--------- | modules/test-mock | 0 | ||||
m--------- | modules/uri | 0 | ||||
m--------- | modules/zef | 0 | ||||
-rw-r--r-- | tools/build/Makefile.in | 2 | ||||
-rw-r--r-- | tools/build/module-install.pl | 4 | ||||
-rw-r--r-- | tools/lib/NQP/Configure.pm | 3 | ||||
-rw-r--r-- | tools/star/Makefile | 97 |
88 files changed, 365 insertions, 276 deletions
@@ -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 |