2022-05-14 00:01:08 +00:00
|
|
|
{ lib, stdenv, ruby, bison, rake, fetchFromGitHub }:
|
2018-08-09 20:24:56 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-05-13 02:27:38 +00:00
|
|
|
pname = "mruby";
|
2023-02-25 10:33:48 +00:00
|
|
|
version = "3.2.0";
|
2018-08-09 20:24:56 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mruby";
|
|
|
|
repo = "mruby";
|
|
|
|
rev = version;
|
2023-02-25 10:33:48 +00:00
|
|
|
sha256 = "sha256-MmrbWeg/G29YBvVrOtceTOZChrQ2kx9+apl7u7BiGjA=";
|
2018-08-09 20:24:56 +00:00
|
|
|
};
|
|
|
|
|
2020-06-26 09:48:35 +00:00
|
|
|
nativeBuildInputs = [ ruby bison rake ];
|
2018-08-09 20:24:56 +00:00
|
|
|
|
2018-08-09 23:10:24 +00:00
|
|
|
# Necessary so it uses `gcc` instead of `ld` for linking.
|
|
|
|
# https://github.com/mruby/mruby/blob/35be8b252495d92ca811d76996f03c470ee33380/tasks/toolchains/gcc.rake#L25
|
|
|
|
preBuild = if stdenv.isLinux then "unset LD" else null;
|
|
|
|
|
2018-08-09 20:24:56 +00:00
|
|
|
installPhase = ''
|
|
|
|
mkdir $out
|
2020-09-21 04:20:00 +00:00
|
|
|
cp -R include build/host/{bin,lib} $out
|
2018-08-09 20:24:56 +00:00
|
|
|
'';
|
|
|
|
|
2018-08-09 23:12:34 +00:00
|
|
|
doCheck = true;
|
|
|
|
|
2023-02-25 10:33:48 +00:00
|
|
|
checkPhase = ''
|
|
|
|
runHook preCheck
|
|
|
|
|
|
|
|
rake test
|
|
|
|
|
|
|
|
runHook postCheck
|
|
|
|
'';
|
|
|
|
|
2021-01-22 11:25:31 +00:00
|
|
|
meta = with lib; {
|
2018-08-09 20:24:56 +00:00
|
|
|
description = "An embeddable implementation of the Ruby language";
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "https://mruby.org";
|
2018-08-09 20:24:56 +00:00
|
|
|
maintainers = [ maintainers.nicknovitski ];
|
|
|
|
license = licenses.mit;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
}
|