summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-07-07 10:44:33 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-07-07 10:54:05 +0200
commite36b588f93035c06d9c99a464b05d81852006aeb (patch)
tree2448b0691c5855206f63642b4c9a5add29e6b55b /pkgs/development
parentc7739191daf5290cd7e1dd7d577bd4e0cfbed9f1 (diff)
downloadnixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar.gz
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar.bz2
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar.lz
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar.xz
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.tar.zst
nixlib-e36b588f93035c06d9c99a464b05d81852006aeb.zip
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.
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/interpreters/luajit/default.nix94
1 files changed, 60 insertions, 34 deletions
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 ];
+      };
+    };
 }