From e36b588f93035c06d9c99a464b05d81852006aeb Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Fri, 7 Jul 2017 10:44:33 +0200 Subject: luajit: add 2.0 version again The reason will be apparent from the followup commit. Also order the phases, quote shell variables, add myself to maintainers, etc. --- pkgs/development/interpreters/luajit/default.nix | 94 +++++++++++++++--------- 1 file changed, 60 insertions(+), 34 deletions(-) (limited to 'pkgs/development/interpreters/luajit') diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 1694e3e48509..cd47883001bf 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -1,41 +1,67 @@ { stdenv, fetchurl }: +rec { -stdenv.mkDerivation rec { - name = "luajit-${version}"; - version = "2.1.0-beta3"; - luaversion = "5.1"; + luajit = luajit_2_1; - src = fetchurl { - url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; - sha256 = "1hyrhpkwjqsv54hnnx4cl8vk44h9d6c9w0fz1jfjz00w255y7lhs"; + luajit_2_0 = generic { + version = "2.0.5"; + isStable = true; + sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7"; }; - enableParallelBuilding = true; - - patchPhase = '' - substituteInPlace Makefile \ - --replace /usr/local $out - - substituteInPlace src/Makefile --replace gcc cc - '' + stdenv.lib.optionalString (stdenv.cc.libc != null) - '' - substituteInPlace Makefile \ - --replace ldconfig ${stdenv.cc.libc.bin or stdenv.cc.libc}/bin/ldconfig - ''; - - configurePhase = false; - buildFlags = [ "amalg" ]; # Build highly optimized version - installPhase = '' - make install INSTALL_INC=$out/include PREFIX=$out - ln -s $out/bin/luajit* $out/bin/lua - ln -s $out/bin/luajit* $out/bin/luajit - ''; - - meta = with stdenv.lib; { - description = "High-performance JIT compiler for Lua 5.1"; - homepage = http://luajit.org; - license = licenses.mit; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers ; [ thoughtpolice smironov ]; + luajit_2_1 = generic { + version = "2.1.0-beta3"; + isStable = false; + sha256 = "1hyrhpkwjqsv54hnnx4cl8vk44h9d6c9w0fz1jfjz00w255y7lhs"; }; + + + generic = + { version, sha256 ? null, isStable + , name ? "luajit-${version}" + , src ? + (fetchurl { + url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; + inherit sha256; + }) + }: + + stdenv.mkDerivation rec { + inherit name version src; + + luaversion = "5.1"; + + patchPhase = '' + substituteInPlace Makefile \ + --replace /usr/local "$out" + + substituteInPlace src/Makefile --replace gcc cc + '' + stdenv.lib.optionalString (stdenv.cc.libc != null) + '' + substituteInPlace Makefile \ + --replace ldconfig ${stdenv.cc.libc.bin or stdenv.cc.libc}/bin/ldconfig + ''; + + configurePhase = false; + + buildFlags = [ "amalg" ]; # Build highly optimized version + enableParallelBuilding = true; + + installPhase = '' + make install INSTALL_INC="$out"/include PREFIX="$out" + ln -s "$out"/bin/luajit-* "$out"/bin/lua + '' + + stdenv.lib.optionalString (!isStable) + '' + ln -s "$out"/bin/luajit-* "$out"/bin/luajit + ''; + + meta = with stdenv.lib; { + description = "High-performance JIT compiler for Lua 5.1"; + homepage = http://luajit.org; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers ; [ thoughtpolice smironov vcunat ]; + }; + }; } -- cgit 1.4.1