summaryrefslogtreecommitdiffstats
path: root/pkgs/development/interpreters/rakudo
diff options
context:
space:
mode:
authorStig Palmquist <stig@stig.io>2019-12-29 04:10:33 +0100
committerFrederik Rietdijk <freddyrietdijk@fridh.nl>2020-02-10 20:34:04 +0100
commite66cbc5f6544c8475626b27a74a859e39790d1c2 (patch)
tree0d0ea1b7ff243539ebc02d20c6e1f2ad45c57148 /pkgs/development/interpreters/rakudo
parentd108ba9ded169e857a2807df4a97ceb611da085f (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.nix30
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix25
-rw-r--r--pkgs/development/interpreters/rakudo/nqp.nix29
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix34
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 ];
+ };
+}