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.
This commit is contained in:
Stig Palmquist 2019-12-29 04:10:33 +01:00 committed by Frederik Rietdijk
parent d108ba9ded
commit e66cbc5f65
5 changed files with 107 additions and 16 deletions

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -9394,9 +9394,12 @@ in
};
racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { };
rakudo = callPackage ../development/interpreters/rakudo {
rakudo = callPackage ../development/interpreters/rakudo {};
moarvm = callPackage ../development/interpreters/rakudo/moarvm.nix {
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
};
nqp = callPackage ../development/interpreters/rakudo/nqp.nix { };
zef = callPackage ../development/interpreters/rakudo/zef.nix { };
rascal = callPackage ../development/interpreters/rascal { };