diff options
-rw-r--r-- | pkgs/development/interpreters/lua-5/5.1.nix | 2 | ||||
-rw-r--r-- | pkgs/development/interpreters/lua-5/5.2.nix | 66 | ||||
-rw-r--r-- | pkgs/development/interpreters/lua-5/default.nix | 51 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 3 |
4 files changed, 69 insertions, 53 deletions
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix index 8b1e1529095e..e161683daf6c 100644 --- a/pkgs/development/interpreters/lua-5/5.1.nix +++ b/pkgs/development/interpreters/lua-5/5.1.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, readline}: +{ stdenv, fetchurl, readline }: let dsoPatch = fetchurl { diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix new file mode 100644 index 000000000000..0ae4fbe322ad --- /dev/null +++ b/pkgs/development/interpreters/lua-5/5.2.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchurl, readline }: + +let + dsoPatch = fetchurl { + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/liblua.so.patch?h=packages/lua"; + sha256 = "1by1dy4ql61f5c6njq9ibf9kaqm3y633g2q8j54iyjr4cxvqwqz9"; + name = "lua-arch.patch"; + }; +in +stdenv.mkDerivation rec { + name = "lua-${version}"; + version = "5.2.2"; + + src = fetchurl { + url = "http://www.lua.org/ftp/${name}.tar.gz"; + sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz"; + }; + + buildInputs = [ readline ]; + + patches = [ dsoPatch ]; + + configurePhase = '' + makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-O2 -fPIC" LDLAGS="-fPIC" ) + installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.5.2" INSTALL_DATA='cp -d' ) + ''; + + postInstall = '' + mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig" + mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/" + rmdir $out/{share,lib}/lua/5.2 $out/{share,lib}/lua + mkdir -p "$out/lib/pkgconfig" + cat >"$out/lib/pkgconfig/lua.pc" <<EOF + prefix=$out + libdir=$out/lib + includedir=$out/include + INSTALL_BIN=$out/bin + INSTALL_INC=$out/include + INSTALL_LIB=$out/lib + INSTALL_MAN=$out/man/man1 + + Name: Lua + Description: An Extensible Extension Language + Version: ${version} + Requires: + Libs: -L$out/lib -llua -lm + Cflags: -I$out/include + EOF + ''; + + 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 = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix deleted file mode 100644 index c11a9d10d7b3..000000000000 --- a/pkgs/development/interpreters/lua-5/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{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 = []; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0d92ac38897..5d565c25ca08 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3120,9 +3120,10 @@ let love = callPackage ../development/interpreters/love {}; lua4 = callPackage ../development/interpreters/lua-4 { }; - lua5 = callPackage ../development/interpreters/lua-5 { }; lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { }; lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { }; + lua5_2 = callPackage ../development/interpreters/lua-5/5.2.nix { }; + lua5 = lua5_1; luarocks = callPackage ../development/tools/misc/luarocks { lua = lua5; |