|Patrick Spek 7e096a1ba8 Make build.sh the standard way for all build instructions||2 months ago|
|docker||2 months ago|
|util||2 months ago|
|README.md||2 months ago|
|build.sh||2 months ago|
This repository contains some utilities I use to build Perl
6. There’s a
Makefile available to make it
straightforward and easy to use. The main purpose of the tools in this
repository is to build
Docker images suitable
for running Perl 6 applications with. It can also be used to build a Perl 6
installation with a custom MoarVM,
NQP or Rakudo part (or
any or all of them) to test out certain patches or upcoming releases.
This image also contains Zef, the Perl 6 module manager, as this is incredibly useful for most usecases of this image.
To make building the images easier, there’s a
build.sh in the root’s
repository. Running it with no arguments will build all Dockerfiles from the
docker directory. You can supply it a bunch of names of the files in the
docker directory to only build specific images:
./build.sh alpine alpine-dev
By default, the images you build will not be pushed to
Dockerhub. To enable automatic pushing to Dockerhub,
$PUSH_IMAGES variable to a non-empty value:
In a similar fashion, it’s also possible to pass additional arguments to docker
$DOCKEROPTS. For instance, if you want to disable caching on the
Docker builds, set it to
This repository is built up to allow for experimentation with the Perl 6 base.
The branch and repository URLs can all be changed individually to build a Perl
6 using a specific branch for testing purposes. You can pass the following
build.sh to alter the build instructions:
MOAR_BRANCH- The branch to use of the
MOAR_REPO- The URL to pull the MoarVM repository from.
NQP_BRANCH- The branch to use of the
NQP_REPO- The URL to pull the NQP repository from.
RAKUDO_BRANCH- The branch to use of the
RAKUDO_REPO- The URL to pull the Rakudo repository from.
By default, the official upstream sources are used for
master is used as the branch. There are
also options to change the base image used by Docker, and to change the
resulting image’s name and tag:
BASE- The base Docker image to build the Perl 6 Docker image on. Currently only
debianare supported options. Defaults to
USER- The username to use for the resulting Docker image. Defaults to the running user’s
NAME- The name of the resulting Docker image. Defaults to
TAG- The tag of the resulting Docker. Defaults to
All code in this repository is made available under the terms of the GNU Affero General Public License, version 3 or later.