nixpkgs/pkgs/development/interpreters/lua-5/default.nix
Eelco Dolstra c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00

52 lines
1.6 KiB
Nix

{stdenv, fetchurl, ncurses, readline}:
stdenv.mkDerivation {
name = "lua-5.1.4";
src = fetchurl {
url = "http://www.lua.org/ftp/lua-5.1.4.tar.gz";
sha256 = "0fmgk100ficm1jbm4ga9xy484v4cm89wsdfckdybb9gjx8jy4f5h";
};
NIX_CFLAGS_COMPILE = "-fPIC";
buildFlags = if stdenv.isLinux then "linux" else
if stdenv.isDarwin then "macosx" else
if stdenv.isFreeBSD then "freebsd" else
if stdenv.isBSD then "bsd" else
"posix";
installFlags = "install INSTALL_TOP=\${out}";
postInstall = ''
sed -i -e "s@/usr/local@$out@" etc/lua.pc
sed -i -e "s@-llua -lm@-llua -lm -ldl@" etc/lua.pc
mkdir -p "$out/lib/pkgconfig"
install -m 644 etc/lua.pc $out/lib/pkgconfig/lua.pc
'';
buildInputs = [ ncurses readline ];
crossAttrs = {
preBuild = ''
sed -i -e "s/ gcc/$crossConfig-gcc/" \
-e "s/ ar/$crossConfig-ar/" \
-e "s/ ranlib/$crossConfig-ranlib/" \
src/Makefile
'';
dontStrip = true;
};
meta = {
homepage = "http://www.lua.org";
description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
longDescription = ''
Lua combines simple procedural syntax with powerful data
description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, runs by interpreting bytecode
for a register-based virtual machine, and has automatic memory
management with incremental garbage collection, making it ideal
for configuration, scripting, and rapid prototyping.
'';
license = "MIT";
platforms = stdenv.lib.platforms.unix;
maintainers = [];
};
}