Giter VIP home page Giter VIP logo

rakudo-pkg's Introduction

rakudo-pkg

Build Status

rakudo-pkg is a framework for easily creating OS-native packages for Rakudo Perl 6. Because Docker containers are used, all the packages can created on any recent Linux envrionment.

If you're an end-user looking for native Rakudo Linux packages (debs and rpms), you'll find them in the releases tab. The difference with Rakudo Star for Linux is that that distribution does not provide pre-compiled packages (it compiles Rakudo at install time) and that it contains a selection of modules. The objective of our packages it to be small by design (e.g. usable in Docker). In consequence, they don't provide any pre-installed modules. A script is included to install zef, the Perl 6 module package manager.

About the packages

The packages are minimalistic by design: they don't run any pre/post scripts and all the files are installed in /opt/rakudo.

At the moment the following packages are provided:

  • Centos (amd64): 7
  • Debian (amd64): 8, 9
  • Fedora (amd64): 25, 26
  • Ubuntu (amd64): 16.04, 16.10 (EOL), 17.04, 17.10
  • Ubuntu (i386) : 16.04, 16.10 (EOL), 17.04, 17.10
    Beware that 32-bit rakudo binaries are not JIT enabled (upstream).

You'll have to add /opt/rakudo/bin to your PATH. Add this to your .bashrc (or corresponding environment script for other shells):

export PATH=/opt/rakudo/bin:$PATH

Install the Zef Module Manager and modules

In /opt/rakudo/bin you'll find two additional scripts to install the Zef Perl 6 module manager:

install_zef_as_user: install it in ~/.perl6
install_zef_as_root: install it in /opt/rakudo as root (use sudo)

If you're using the Windows Subsystem for Linux (aka Ubuntu on Windows 10), you need to strip the moarvm library of (unused) functionalities that Windows does not implement yet. The script is only present on the Ubuntu 16.04 packages:

/opt/rakudo/bin/fix_windows10

You'll need to add the bin directories to your PATH (as the scripts will print).

Building your own packages

If you prefer to build your own packages instead the ones offered in the releases tab, you can use the wrapper scripts supplied in bin.

Create an image for the desired distribution:

./create_container.pl -h
./create_container.pl --dockerfile ../docker/Dockerfile-ubuntu-amd64-16.04

Create a package:

./pkg_rakudo.pl -h
./pkg_rakudo.pl --os ubuntu --os-version 16.04 --rakudo 2016.07 --pkg-rev 01 --dir /var/tmp

Contributing

See CONTRIBUTING.md.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.