1{ lib, stdenv, ruby, rake, fetchFromGitHub, testers }:
2
3stdenv.mkDerivation (finalAttrs: {
4 pname = "mruby";
5 version = "3.3.0";
6
7 src = fetchFromGitHub {
8 owner = "mruby";
9 repo = "mruby";
10 rev = finalAttrs.version;
11 sha256 = "sha256-rCoEC1ioX6bOocPoPi+Lsn4PM8gY0DjKja1/MJvJ1n8=";
12 };
13
14 nativeBuildInputs = [ rake ];
15
16 nativeCheckInputs = [ ruby ];
17
18 # Necessary so it uses `gcc` instead of `ld` for linking.
19 # https://github.com/mruby/mruby/blob/e502fd88b988b0a8d9f31b928eb322eae269c45a/tasks/toolchains/gcc.rake#L30
20 preBuild = "unset LD";
21
22 installPhase = ''
23 mkdir $out
24 cp -R include build/host/{bin,lib} $out
25 '';
26
27 doCheck = true;
28
29 checkTarget = "test";
30
31 passthru.tests = {
32 version = testers.testVersion {
33 package = finalAttrs.finalPackage;
34 };
35 };
36
37 meta = with lib; {
38 description = "An embeddable implementation of the Ruby language";
39 homepage = "https://mruby.org";
40 maintainers = with maintainers; [ nicknovitski ];
41 license = licenses.mit;
42 platforms = platforms.all;
43 mainProgram = "mruby";
44 };
45})