nixpkgs/pkgs/development/compilers/mruby/default.nix
Samuel Dionne-Riel f847155014 mruby: Fixes build on Linux
I'm not sure of the semantics of `gcc` vs. `ld` for linking, but it
makes the difference between working and:

```
/nix/store/gpc2wld1s0c6qzx9326cwn1wcx29xzsj-binutils-2.30/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000401100
```
2018-08-10 19:07:17 -04:00

33 lines
886 B
Nix

{ stdenv, ruby, bison, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "mruby-${version}";
version = "1.4.1";
src = fetchFromGitHub {
owner = "mruby";
repo = "mruby";
rev = version;
sha256 = "0pw72acbqgs4n1qa297nnja23v9hxz9g7190yfx9kwm7mgbllmww";
};
nativeBuildInputs = [ ruby bison ];
# 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;
installPhase = ''
mkdir $out
cp -R build/host/{bin,lib} $out
'';
meta = with stdenv.lib; {
description = "An embeddable implementation of the Ruby language";
homepage = https://mruby.org;
maintainers = [ maintainers.nicknovitski ];
license = licenses.mit;
platforms = platforms.unix;
};
}