lol
1{
2 stdenv,
3 fetchFromGitHub,
4 perl,
5 lib,
6 moarvm,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "nqp";
11 version = "2025.06.1";
12
13 # nixpkgs-update: no auto update
14 src = fetchFromGitHub {
15 owner = "raku";
16 repo = "nqp";
17 rev = version;
18 hash = "sha256-zM3JilRBbx2r8s+dj9Yn8m2SQfQFnn1bxOUiz3Q7FT8=";
19 fetchSubmodules = true;
20 };
21
22 buildInputs = [ perl ];
23
24 configureScript = "${perl}/bin/perl ./Configure.pl";
25
26 # Fix for issue where nqp expects to find files from moarvm in the same output:
27 # https://github.com/Raku/nqp/commit/e6e069507de135cc71f77524455fc6b03b765b2f
28 #
29 preBuild = ''
30 share_dir="share/nqp/lib/MAST"
31 mkdir -p $out/$share_dir
32 ln -fs ${moarvm}/$share_dir/{Nodes,Ops}.nqp $out/$share_dir
33 '';
34
35 configureFlags = [
36 "--backends=moar"
37 "--with-moar=${moarvm}/bin/moar"
38 ];
39
40 doCheck = true;
41
42 meta = {
43 description = "Lightweight Raku-like environment for virtual machines";
44 homepage = "https://github.com/Raku/nqp";
45 license = lib.licenses.artistic2;
46 platforms = lib.platforms.unix;
47 maintainers = with lib.maintainers; [
48 thoughtpolice
49 sgo
50 prince213
51 ];
52 };
53}