{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 = []; }; }