diff options
Diffstat (limited to 'pkgs/development/compilers/terra/default.nix')
-rw-r--r-- | pkgs/development/compilers/terra/default.nix | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix index dea6df1b7aa..6d87d4bbd49 100644 --- a/pkgs/development/compilers/terra/default.nix +++ b/pkgs/development/compilers/terra/default.nix @@ -1,29 +1,40 @@ -{ stdenv, fetchFromGitHub, fetchurl, llvmPackages, ncurses, lua }: +{ stdenv, fetchurl, fetchFromGitHub +, llvmPackages, ncurses, lua +}: let luajitArchive = "LuaJIT-2.0.5.tar.gz"; luajitSrc = fetchurl { - url = "http://luajit.org/download/${luajitArchive}"; + url = "http://luajit.org/download/${luajitArchive}"; sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7"; }; in - stdenv.mkDerivation rec { - pname = "terra-git"; - version = "1.0.0-beta1"; + pname = "terra"; + version = "1.0.0pre1175_${builtins.substring 0 7 src.rev}"; src = fetchFromGitHub { - owner = "zdevito"; - repo = "terra"; - rev = "release-${version}"; - sha256 = "1blv3mbmlwb6fxkck6487ck4qq67cbwq6s1zlp86hy2wckgf8q2c"; + 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 Makefile \ + --replace '-lcurses' '-lncurses' + + substituteInPlace src/terralib.lua \ + --subst-var-by NIX_LIBC_INCLUDE ${stdenv.cc.libc.dev}/include ''; preBuild = '' @@ -36,6 +47,8 @@ stdenv.mkDerivation rec { cp ${luajitSrc} build/${luajitArchive} ''; + checkPhase = "(cd tests && ../terra run)"; + installPhase = '' install -Dm755 -t $bin/bin release/bin/terra install -Dm755 -t $out/lib release/lib/terra${stdenv.hostPlatform.extensions.sharedLibrary} @@ -45,13 +58,11 @@ stdenv.mkDerivation rec { cp -rv release/include/terra $dev/include ''; - buildInputs = with llvmPackages; [ lua llvm clang-unwrapped ncurses ]; - meta = with stdenv.lib; { description = "A low-level counterpart to Lua"; - homepage = http://terralang.org/; - platforms = platforms.x86_64; - maintainers = with maintainers; [ jb55 ]; - license = licenses.mit; + homepage = http://terralang.org/; + platforms = platforms.x86_64; + maintainers = with maintainers; [ jb55 thoughtpolice ]; + license = licenses.mit; }; } |