diff options
author | Stig Palmquist <stig@stig.io> | 2019-12-29 04:10:33 +0100 |
---|---|---|
committer | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2020-02-10 20:34:04 +0100 |
commit | e66cbc5f6544c8475626b27a74a859e39790d1c2 (patch) | |
tree | 0d0ea1b7ff243539ebc02d20c6e1f2ad45c57148 /pkgs/development/interpreters/rakudo | |
parent | d108ba9ded169e857a2807df4a97ceb611da085f (diff) |
rakudo: 2017.01 -> 2020.01
dependencies:
- moarvm: init at 2020.01.1
- nqp: init at 2020.01
- zef: init 0.8.2
Replaced the rakudo-star distribution with packages for raku, moarvm, nqp and
zef.
Diffstat (limited to 'pkgs/development/interpreters/rakudo')
-rw-r--r-- | pkgs/development/interpreters/rakudo/default.nix | 30 | ||||
-rw-r--r-- | pkgs/development/interpreters/rakudo/moarvm.nix | 25 | ||||
-rw-r--r-- | pkgs/development/interpreters/rakudo/nqp.nix | 29 | ||||
-rw-r--r-- | pkgs/development/interpreters/rakudo/zef.nix | 34 |
4 files changed, 103 insertions, 15 deletions
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix index ab5493e8a9d0..1f832efee89a 100644 --- a/pkgs/development/interpreters/rakudo/default.nix +++ b/pkgs/development/interpreters/rakudo/default.nix @@ -1,29 +1,29 @@ -{ stdenv, fetchurl, perl, icu, zlib, gmp, readline -, CoreServices, ApplicationServices }: +{ stdenv, fetchurl, perl, icu, zlib, gmp, lib, nqp }: stdenv.mkDerivation rec { - pname = "rakudo-star"; - version = "2017.01"; + pname = "rakudo"; + version = "2020.01"; src = fetchurl { - url = "http://rakudo.org/downloads/star/${pname}-${version}.tar.gz"; - sha256 = "07zjqdzxm30pmjqwlnr669d75bsbimy09sk0dvgm0pnn3zr92fjq"; + url = "https://github.com/rakudo/rakudo/releases/download/${version}/rakudo-${version}.tar.gz"; + sha256 = "1c63ns90zy13gyj0l27k63q7dv08w4589w605nywd7pplbygq0if"; }; - buildInputs = [ icu zlib gmp readline perl ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]; + buildInputs = [ icu zlib gmp perl ]; configureScript = "perl ./Configure.pl"; - configureFlags = - [ "--backends=moar" - "--gen-moar" - "--gen-nqp" - ]; + configureFlags = [ + "--backends=moar" + "--with-nqp=${nqp}/bin/nqp" + ]; + + # Some tests fail on Darwin + doCheck = !stdenv.isDarwin; meta = with stdenv.lib; { - description = "A Perl 6 implementation"; + description = "Raku implementation on top of Moar virtual machine"; homepage = https://www.rakudo.org; license = licenses.artistic2; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice vrthra ]; + maintainers = with maintainers; [ thoughtpolice vrthra sgo ]; }; } diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix new file mode 100644 index 000000000000..48430ef548be --- /dev/null +++ b/pkgs/development/interpreters/rakudo/moarvm.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, perl +, CoreServices, ApplicationServices }: + +stdenv.mkDerivation rec { + pname = "moarvm"; + version = "2020.01.1"; + + src = fetchurl { + url = "https://github.com/MoarVM/MoarVM/releases/download/${version}/MoarVM-${version}.tar.gz"; + sha256 = "11rmlps6r3nqa9m2yyv9i2imahirsqmxbfay71f3gs4ql121xdnw"; + }; + + buildInputs = [ perl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]; + doCheck = false; # MoarVM does not come with its own test suite + + configureScript = "${perl}/bin/perl ./Configure.pl"; + + meta = with stdenv.lib; { + description = "VM with adaptive optimization and JIT compilation, built for Rakudo"; + homepage = "https://github.com/MoarVM/MoarVM"; + license = licenses.artistic2; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice vrthra sgo ]; + }; +} diff --git a/pkgs/development/interpreters/rakudo/nqp.nix b/pkgs/development/interpreters/rakudo/nqp.nix new file mode 100644 index 000000000000..5a93a7f9dad9 --- /dev/null +++ b/pkgs/development/interpreters/rakudo/nqp.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, perl, lib, moarvm }: + +stdenv.mkDerivation rec { + pname = "nqp"; + version = "2020.01"; + + src = fetchurl { + url = "https://github.com/perl6/nqp/releases/download/${version}/nqp-${version}.tar.gz"; + sha256 = "0nwn6a9i9akw1zmywhkn631gqy8l4dvy50d6id63zir28ccrrk2c"; + }; + + buildInputs = [ perl ]; + + configureScript = "${perl}/bin/perl ./Configure.pl"; + configureFlags = [ + "--backends=moar" + "--with-moar=${moarvm}/bin/moar" + ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Not Quite Perl -- a lightweight Raku-like environment for virtual machines"; + homepage = "https://github.com/perl6/nqp"; + license = licenses.artistic2; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice vrthra sgo ]; + }; +} diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix new file mode 100644 index 000000000000..5c3597cf289c --- /dev/null +++ b/pkgs/development/interpreters/rakudo/zef.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, rakudo, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "zef"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "ugexe"; + repo = "zef"; + rev = "v${version}"; + sha256 = "064nbl2hz55mpxdcy9zi39s2z6bad3bj73xsna966a7hzkls0a70"; + }; + + buildInputs = [ rakudo makeWrapper ]; + + installPhase = '' + mkdir -p "$out" + # TODO: Find better solution. zef stores cache stuff in $HOME with the + # default config. + env HOME=$TMPDIR ${rakudo}/bin/raku -I. ./bin/zef --/depends --/test-depends --/build-depends --install-to=$out install . + ''; + + postFixup ='' + wrapProgram $out/bin/zef --prefix RAKUDOLIB , "inst#$out" + ''; + + meta = with stdenv.lib; { + description = "Raku / Perl6 Module Management"; + homepage = "https://github.com/ugexe/zef"; + license = licenses.artistic2; + platforms = platforms.unix; + maintainers = with maintainers; [ sgo ]; + }; +} |