1{ stdenv, lua, fetchFromGitHub, fetchurl, which, llvm, clang, ncurses }:
2
3let luajitArchive = "LuaJIT-2.0.4.tar.gz";
4 luajitSrc = fetchurl {
5 url = "http://luajit.org/download/${luajitArchive}";
6 sha256 = "0zc0y7p6nx1c0pp4nhgbdgjljpfxsb5kgwp4ysz22l1p2bms83v2";
7 };
8in stdenv.mkDerivation rec {
9 name = "terra-git-${version}";
10 version = "2016-01-06";
11
12 src = fetchFromGitHub {
13 owner = "zdevito";
14 repo = "terra";
15 rev = "914cb98b8adcd50b2ec8205ef5d6914d3547e281";
16 sha256 = "1q0dm9gkx2lh2d2sfgly6j5nw32qigmlj3phdvjp26bz99cvxq46";
17 };
18
19 patchPhase = ''
20 substituteInPlace Makefile --replace \
21 '-lcurses' '-lncurses'
22 '';
23
24 configurePhase = ''
25 mkdir -p build
26 cp ${luajitSrc} build/${luajitArchive}
27 '';
28
29 installPhase = ''
30 mkdir -p $out
31 cp -r "release/"* $out
32 '';
33
34 buildInputs = [ which lua llvm clang ncurses ];
35
36 meta = with stdenv.lib; {
37 inherit (src.meta) homepage;
38 description = "A low-level counterpart to Lua";
39 maintainers = with maintainers; [ jb55 ];
40 license = licenses.mit;
41 };
42}