Hi List,
the attached patch adds LuaJIT 1 & 2.
it needs more work about platforms (OS & cpu)
1) for LuaJIT 2
assert x86 or x64
2) for LuaJIT 1
assert x86
3) for LuaJIT 1 & Lua 5
replace
buildFlags = "linux"; # TODO: support for non-linux systems
by something like:
buildFlags = if linux then "linux"
else if freebsd then "freebsd"
else if (openbsd || netbsd) then "bsd"
else if darwin then "macosx"
else if cygwin then "posix"
else "generic"
François
From b2f4b743a6cb618242efd4fcbf5dcbcdbeb51bc9 Mon Sep 17 00:00:00 2001
From: fperrad <[email protected]>
Date: Wed, 31 Mar 2010 16:20:41 +0200
Subject: [PATCH 1/2] add LuaJIT
---
pkgs/development/interpreters/luajit/1.nix | 26 ++++++++++++++
pkgs/development/interpreters/luajit/2.nix | 21 ++++++++++++
.../interpreters/luajit/install-beta.patch | 35 ++++++++++++++++++++
pkgs/development/interpreters/luajit/prefix.patch | 13 +++++++
pkgs/top-level/all-packages.nix | 8 ++++
5 files changed, 103 insertions(+), 0 deletions(-)
create mode 100644 pkgs/development/interpreters/luajit/1.nix
create mode 100644 pkgs/development/interpreters/luajit/2.nix
create mode 100644 pkgs/development/interpreters/luajit/install-beta.patch
create mode 100644 pkgs/development/interpreters/luajit/prefix.patch
diff --git a/pkgs/development/interpreters/luajit/1.nix b/pkgs/development/interpreters/luajit/1.nix
new file mode 100644
index 0000000..040da26
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/1.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ncurses, readline}:
+
+stdenv.mkDerivation {
+ name = "luajit-1.1.6";
+
+ # assert x86
+
+ src = fetchurl {
+ url = http://luajit.org/download/LuaJIT-1.1.6.tar.gz;
+ md5 = "945b99728ee935294d5b45660dd045fe";
+ };
+ buildFlags = "linux"; # TODO: support for non-linux systems
+ installFlags = "install INSTALL_TOP=\${out}";
+ buildInputs = [ ncurses readline ];
+
+ meta = {
+ description = "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.";
+ longDescription = ''
+ LuaJIT is based on the Lua 5.1.x virtual machine and bytecode
+ interpreter from lua.org. It compiles bytecode to native x86 (i386+)
+ machine code to speed up the execution of Lua programs.
+ '';
+ homepage = http://www.luajit.org/;
+ license = "MIT";
+ };
+}
diff --git a/pkgs/development/interpreters/luajit/2.nix b/pkgs/development/interpreters/luajit/2.nix
new file mode 100644
index 0000000..aa0a6d5
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/2.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, ncurses, readline}:
+
+stdenv.mkDerivation {
+ name = "luajit-2.0.0-beta4";
+
+ # assert x86 or x64
+
+ src = fetchurl {
+ url = http://luajit.org/download/LuaJIT-2.0.0-beta4.tar.gz;
+ md5 = "5c5a9305b3e06765e1dae138e1a95c3a";
+ };
+ patches = [ ./prefix.patch ./install-beta.patch ];
+ installFlags = "install DESTDIR=\${out}";
+ buildInputs = [ ncurses readline ];
+
+ meta = {
+ description = "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.";
+ homepage = http://www.luajit.org/;
+ license = "MIT";
+ };
+}
diff --git a/pkgs/development/interpreters/luajit/install-beta.patch b/pkgs/development/interpreters/luajit/install-beta.patch
new file mode 100644
index 0000000..59ab190
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/install-beta.patch
@@ -0,0 +1,35 @@
+diff --git a/Makefile b/Makefile
+index a4a356e..19b9ad9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,8 +40,7 @@ INSTALL_CMOD= $(INSTALL_LIB)/lua/$(ABIVER)
+ INSTALL_MAN= $(INSTALL_SHARE)/man/man1
+ INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
+
+-INSTALL_TNAME= luajit-$(VERSION)
+-INSTALL_TSYMNAME= luajit
++INSTALL_TNAME= luajit
+ INSTALL_ANAME= libluajit-$(ABIVER).a
+ INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
+ INSTALL_SOSHORT= libluajit-$(ABIVER).so
+@@ -55,7 +54,6 @@ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
+-INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
+ INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
+
+ INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
+@@ -113,12 +111,6 @@ install: $(INSTALL_DEP)
+ cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
+ cd lib && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
+ @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
+- @echo ""
+- @echo "Note: the beta releases deliberately do NOT install a symlink for luajit"
+- @echo "You can do this now by running this command (with sudo):"
+- @echo ""
+- @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
+- @echo ""
+
+ ##############################################################################
+
diff --git a/pkgs/development/interpreters/luajit/prefix.patch b/pkgs/development/interpreters/luajit/prefix.patch
new file mode 100644
index 0000000..604e885
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/prefix.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index a4a356e..7c2e662 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,7 +25,7 @@ NODOTABIVER= 51
+ # Change the installation path as needed and modify src/luaconf.h accordingly.
+ # Note: PREFIX must be an absolute path!
+ #
+-export PREFIX= /usr/local
++export PREFIX=
+ ##############################################################################
+
+ DPREFIX= $(DESTDIR)$(PREFIX)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 69d38ae..70e4ffb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2590,6 +2590,14 @@ let
inherit fetchurl stdenv ncurses readline;
};
+ luajit = import ../development/interpreters/luajit/1.nix {
+ inherit fetchurl stdenv ncurses readline;
+ };
+
+ luajit2 = import ../development/interpreters/luajit/2.nix {
+ inherit fetchurl stdenv ncurses readline;
+ };
+
maude = import ../development/interpreters/maude {
inherit fetchurl stdenv flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper;
};
--
1.6.3.3
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev