{ stdenv, fetchurl, fetchFromGitHub , llvmPackages, ncurses, lua }: let luajitArchive = "LuaJIT-2.0.5.tar.gz"; luajitSrc = fetchurl { url = "http://luajit.org/download/${luajitArchive}"; sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7"; }; in stdenv.mkDerivation rec { pname = "terra"; version = "1.0.0pre1175_${builtins.substring 0 7 src.rev}"; src = fetchFromGitHub { owner = "zdevito"; repo = "terra"; rev = "ef6a75ffee15a30f3c74f4e6943851cfbc0fec3d"; sha256 = "0aky17vbv3d9zng34hp17p9zb00dbzwhvzsdjzrrqvk9lmyvix0s"; }; nativeBuildInputs = [ lua ]; buildInputs = with llvmPackages; [ llvm clang-unwrapped ncurses ]; doCheck = true; enableParallelBuilding = true; hardeningDisable = [ "fortify" ]; outputs = [ "bin" "dev" "out" "static" ]; patches = [ ./nix-cflags.patch ]; postPatch = '' substituteInPlace Makefile \ --replace '-lcurses' '-lncurses' substituteInPlace src/terralib.lua \ --subst-var-by NIX_LIBC_INCLUDE ${stdenv.lib.getDev stdenv.cc.libc}/include ''; preBuild = '' cat >Makefile.inc<