--- layout: project title: LoneStar date: 2018-07-01T00:00:00Z langs: Bash license: AGPLv3 repo: https://git.tyil.nl/tyil/lonestar --- {% markdown %} LoneStar is a simple program, written in Bash, to download and install [the Rakudo Star Perl 6 distribution](https://rakudo.org). As of the moment of writing this program, Rakudo Star Perl 6 binaries cannot easily be moved around on the OS, making regular installation methods more troublesome than they ought to be. To deal with the installation issue, I wrote LoneStar, to just take care of it. I chose to use Bash to ensure it can run on a wide range of GNU+Linux systems without much trouble. {% endmarkdown %} {% markdown %} ## Installation LoneStar is given a `Makefile` which can take care of installation. However, it does not _need_ to be installed if you just want to try it out first. I would recommend installation anyway, in order to make easy use of the `init` subcommand (which will update you `$PATH` to include the Perl 6 executables for you). You can clone the repo using git, and use `make` to install it: {% endmarkdown %} {% highlight sh %} cd "$(mktemp -d)" git clone https://gitlab.com/tyil/lonestar . make DESTDIR=/usr/local install {% endhighlight %} {% markdown %} Some shells will require you to _rehash the $PATH_. On Bash, this is done using `hash -r`. Zsh users should run `rehash`. Other shell users may have to consult their respective shell's manual. With newer shells, this is oftentimes not necessary, though. ## Usage You can invoke `lonestar` without any parameters to get a list of subcommands it will accept, together with optional parameters. To just get the latest Rakudo Star Perl 6 distribution installed, use the `install` subcommand. {% endmarkdown %} {% highlight sh %} lonestar install {% endhighlight %} {% markdown %} Once it has been installed, you can update your `$PATH` with `init`. {% endmarkdown %} {% highlight sh %} eval $(lonestar init) {% endhighlight %} {% markdown %} This will make sure the directory containing the `perl6` program will be searched whenever you want to run a Perl 6 program. It also includes the directory that contains all executable modules that have been installed. Consequentally, this will make the module installer `zef` available to you. You can confirm whether Perl 6 works by retrieving the current version. {% endmarkdown %} {% highlight sh %} perl6 --version {% endhighlight %} If this command did not fail, you should be good to go! {% markdown %} ## Issues and feedback If you have any issues or feedback on this program, please contact me via any of the channels listed on the homepage of my blog. {% endmarkdown %}