From 23211617237d206f0efc677e625f3d03614550b5 Mon Sep 17 00:00:00 2001 From: Fabio Mascarenhas Date: Sat, 20 Mar 2010 15:34:47 -0300 Subject: files for Lua for Windows support --- lfw/7z.dll | Bin 0 -> 858624 bytes lfw/7z.exe | Bin 0 -> 161792 bytes lfw/lua/luarocks/config.lua | 16 ++ lfw/luarocks-admin.bat | 4 + lfw/luarocks-admin.lua | 16 ++ lfw/luarocks.bat | 4 + lfw/luarocks.lua | 20 ++ lfw/luarocks_config.lua | 10 + lfw/rocks/index.html | 87 +++++++ .../luafilesystem/1.5.0-1/doc/us/examples.html | 103 ++++++++ lfw/rocks/luafilesystem/1.5.0-1/doc/us/index.html | 192 +++++++++++++++ .../luafilesystem/1.5.0-1/doc/us/license.html | 122 ++++++++++ .../luafilesystem/1.5.0-1/doc/us/luafilesystem.png | Bin 0 -> 8535 bytes lfw/rocks/luafilesystem/1.5.0-1/doc/us/manual.html | 271 +++++++++++++++++++++ .../1.5.0-1/luafilesystem-1.5.0-1.rockspec | 27 ++ lfw/rocks/luafilesystem/1.5.0-1/rock_manifest | 18 ++ lfw/rocks/luafilesystem/1.5.0-1/tests/test.lua | 130 ++++++++++ .../luasocket/2.0.2-3/luasocket-2.0.2-3.rockspec | 34 +++ lfw/rocks/luasocket/2.0.2-3/rock_manifest | 23 ++ lfw/rocks/luazip/1.2.3-2/luazip-1.2.3-2.rockspec | 37 +++ lfw/rocks/luazip/1.2.3-2/rock_manifest | 6 + lfw/rocks/manifest | 159 ++++++++++++ lfw/rocks/md5/1.1.2-1/md5-1.1.2-1.rockspec | 39 +++ lfw/rocks/md5/1.1.2-1/rock_manifest | 12 + 24 files changed, 1330 insertions(+) create mode 100644 lfw/7z.dll create mode 100644 lfw/7z.exe create mode 100644 lfw/lua/luarocks/config.lua create mode 100644 lfw/luarocks-admin.bat create mode 100644 lfw/luarocks-admin.lua create mode 100644 lfw/luarocks.bat create mode 100644 lfw/luarocks.lua create mode 100644 lfw/luarocks_config.lua create mode 100644 lfw/rocks/index.html create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/doc/us/examples.html create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/doc/us/index.html create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/doc/us/license.html create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/doc/us/luafilesystem.png create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/doc/us/manual.html create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/luafilesystem-1.5.0-1.rockspec create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/rock_manifest create mode 100644 lfw/rocks/luafilesystem/1.5.0-1/tests/test.lua create mode 100644 lfw/rocks/luasocket/2.0.2-3/luasocket-2.0.2-3.rockspec create mode 100644 lfw/rocks/luasocket/2.0.2-3/rock_manifest create mode 100644 lfw/rocks/luazip/1.2.3-2/luazip-1.2.3-2.rockspec create mode 100644 lfw/rocks/luazip/1.2.3-2/rock_manifest create mode 100644 lfw/rocks/manifest create mode 100644 lfw/rocks/md5/1.1.2-1/md5-1.1.2-1.rockspec create mode 100644 lfw/rocks/md5/1.1.2-1/rock_manifest diff --git a/lfw/7z.dll b/lfw/7z.dll new file mode 100644 index 00000000..c0ff7fbe Binary files /dev/null and b/lfw/7z.dll differ diff --git a/lfw/7z.exe b/lfw/7z.exe new file mode 100644 index 00000000..5e3d6f9c Binary files /dev/null and b/lfw/7z.exe differ diff --git a/lfw/lua/luarocks/config.lua b/lfw/lua/luarocks/config.lua new file mode 100644 index 00000000..fd0e2fb9 --- /dev/null +++ b/lfw/lua/luarocks/config.lua @@ -0,0 +1,16 @@ +local os = os + +module("luarocks.config") +LFW_ROOT = os.getenv("LUA_DEV") +LUA_INCDIR=LFW_ROOT..[[\include]] +LUA_LIBDIR=LFW_ROOT..[[\lib]] +LUA_BINDIR=LFW_ROOT +LUA_INTERPRETER=[[lua]] +LUAROCKS_UNAME_S=[[WindowsNT]] +LUAROCKS_UNAME_M=[[x86]] +LUAROCKS_SYSCONFIG=LFW_ROOT..[[\luarocks_config.lua]] +LUAROCKS_ROCKS_TREE=LFW_ROOT +LUAROCKS_PREFIX=LFW_ROOT +LUAROCKS_DOWNLOADER=[[wget]] +LUAROCKS_MD5CHECKER=[[md5sum]] + diff --git a/lfw/luarocks-admin.bat b/lfw/luarocks-admin.bat new file mode 100644 index 00000000..fb95d0fa --- /dev/null +++ b/lfw/luarocks-admin.bat @@ -0,0 +1,4 @@ +@ECHO OFF +SETLOCAL +"%LUA_DEV%\lua" "%LUA_DEV%\luarocks-admin.lua" %* +ENDLOCAL diff --git a/lfw/luarocks-admin.lua b/lfw/luarocks-admin.lua new file mode 100644 index 00000000..4f7a9a2f --- /dev/null +++ b/lfw/luarocks-admin.lua @@ -0,0 +1,16 @@ +#!/usr/local/bin/lua + +local command_line = require("luarocks.command_line") + +program_name = "luarocks-admin" +program_description = "LuaRocks repository administration interface" + +commands = { +} + +commands.help = require("luarocks.help") +commands.make_manifest = require("luarocks.make_manifest") +commands.add = require("luarocks.add") +commands.refresh_cache = require("luarocks.refresh_cache") + +command_line.run_command(...) diff --git a/lfw/luarocks.bat b/lfw/luarocks.bat new file mode 100644 index 00000000..44360aa5 --- /dev/null +++ b/lfw/luarocks.bat @@ -0,0 +1,4 @@ +@ECHO OFF +SETLOCAL +"%LUA_DEV%\lua" "%LUA_DEV%\luarocks.lua" %* +ENDLOCAL diff --git a/lfw/luarocks.lua b/lfw/luarocks.lua new file mode 100644 index 00000000..1c781254 --- /dev/null +++ b/lfw/luarocks.lua @@ -0,0 +1,20 @@ +#!/usr/local/bin/lua + +local command_line = require("luarocks.command_line") + +program_name = "luarocks" +program_description = "LuaRocks main command-line interface" + +commands = {} +commands.help = require("luarocks.help") +commands.pack = require("luarocks.pack") +commands.unpack = require("luarocks.unpack") +commands.build = require("luarocks.build") +commands.install = require("luarocks.install") +commands.search = require("luarocks.search") +commands.list = require("luarocks.list") +commands.remove = require("luarocks.remove") +commands.make = require("luarocks.make") +commands.download = require("luarocks.download") + +command_line.run_command(...) diff --git a/lfw/luarocks_config.lua b/lfw/luarocks_config.lua new file mode 100644 index 00000000..86de0253 --- /dev/null +++ b/lfw/luarocks_config.lua @@ -0,0 +1,10 @@ +local LFW_ROOT = config.LFW_ROOT +rocks_servers = { + [[http://luarocks.org/repositories/rocks]] +} +rocks_trees = { + { root = LFW_ROOT, rocks_dir = LFW_ROOT..[[\rocks]], + bin_dir = LFW_ROOT..[[\utils]], lua_dir = LFW_ROOT..[[\lua]], + lib_dir = LFW_ROOT..[[\clibs]] } +} +variables.WRAPPER = LFW_ROOT..[[rclauncher.obj]] diff --git a/lfw/rocks/index.html b/lfw/rocks/index.html new file mode 100644 index 00000000..d6baff47 --- /dev/null +++ b/lfw/rocks/index.html @@ -0,0 +1,87 @@ + + + +Available rocks + + + + +

Available rocks

+

+Lua modules available from this location for use with LuaRocks: +

+ + + + + + + + + + + + + +
+

luafilesystem -
+


+latest sources | License:

+
+1.5.0-1: installed
+

luasocket -
+


+latest sources | License:

+
+2.0.2-3: installed
+

luazip -
+


+latest sources | License:

+
+1.2.3-2: installed
+

md5 -
+


+latest sources | License:

+
+1.1.2-1: installed
+

+manifest file +

+ + diff --git a/lfw/rocks/luafilesystem/1.5.0-1/doc/us/examples.html b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/examples.html new file mode 100644 index 00000000..746df62b --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/examples.html @@ -0,0 +1,103 @@ + + + + LuaFileSystem + + + + + + +
+ +
+ +
LuaFileSystem
+
File System Library for the Lua Programming Language
+
+ +
+ + + +
+ +

Examples

+ +

Directory iterator

+ +

The following example iterates over a directory and recursively lists the +attributes for each file inside it.

+ +
+require"lfs"
+
+function attrdir (path)
+    for file in lfs.dir(path) do
+        if file ~= "." and file ~= ".." then
+            local f = path..'/'..file
+            print ("\t "..f)
+            local attr = lfs.attributes (f)
+            assert (type(attr) == "table")
+            if attr.mode == "directory" then
+                attrdir (f)
+            else
+                for name, value in pairs(attr) do
+                    print (name, value)
+                end
+            end
+        end
+    end
+end
+
+attrdir (".")
+
+ +
+ +
+ +
+

Valid XHTML 1.0!

+

$Id: examples.html,v 1.8 2007/12/14 15:28:04 carregal Exp $

+
+ +
+ + + diff --git a/lfw/rocks/luafilesystem/1.5.0-1/doc/us/index.html b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/index.html new file mode 100644 index 00000000..43edefc5 --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/index.html @@ -0,0 +1,192 @@ + + + + LuaFileSystem + + + + + + +
+ +
+ +
LuaFileSystem
+
File System Library for the Lua Programming Language
+
+ +
+ + + +
+ +

Overview

+ +

LuaFileSystem is a Lua library +developed to complement the set of functions related to file +systems offered by the standard Lua distribution.

+ +

LuaFileSystem offers a portable way to access +the underlying directory structure and file attributes.

+ +

LuaFileSystem is free software and uses the same +license as Lua 5.1.

+ +

Status

+ +

Current version is 1.5.0. It was developed for Lua 5.1.

+ +

Download

+ +

LuaFileSystem source can be downloaded from its +Github +page.

+ +

History

+ +
+
Version 1.5.0 [20/Oct/2009]
+
  • Added explicit next and close methods to second return value of lfs.dir +(the directory object), for explicit iteration or explicit closing.
  • +
  • Added directory locking via lfs.lock_dir function (see the manual).
  • +
    Version 1.4.2 [03/Feb/2009]
    +
    +
      +
    • fixed bug [#13198] + lfs.attributes(filename, 'size') overflow on files > 2 Gb again (bug report and patch by KUBO Takehiro).
    • +
    • fixed bug [#39794] + Compile error on Solaris 10 (bug report and patch by Aaron B).
    • +
    • fixed compilation problems with Borland C.
    • +
    +
    + +
    Version 1.4.1 [07/May/2008]
    +
    +
      +
    • documentation review
    • +
    • fixed Windows compilation issues
    • +
    • fixed bug in the Windows tests (patch by Shmuel Zeigerman)
    • +
    • fixed bug [#2185] + lfs.attributes(filename, 'size') overflow on files > 2 Gb +
    • +
    +
    + +
    Version 1.4.0 [13/Feb/2008]
    +
    +
      +
    • added function + lfs.setmode + (works only in Windows systems).
    • +
    • lfs.attributes + raises an error if attribute does not exist
    • +
    +
    + +
    Version 1.3.0 [26/Oct/2007]
    +
    + +
    + +
    Version 1.2.1 [08/May/2007]
    +
    +
      +
    • compatible only with Lua 5.1 (Lua 5.0 support was dropped)
    • +
    +
    + +
    Version 1.2 [15/Mar/2006]
    +
    + +
    + +
    Version 1.1 [30/May/2005]
    +
    + +
    + +
    Version 1.0 [21/Jan/2005]
    +
    + +
    Version 1.0 Beta [10/Nov/2004]
    +
    +
    + +

    Credits

    + +

    LuaFileSystem was designed by Roberto Ierusalimschy, +André Carregal and Tomás Guisasola as part of the +Kepler Project, +which holds its copyright. LuaFileSystem is currently maintained by Fábio Mascarenhas.

    + +

    Contact us

    + +

    For more information please +contact us. +Comments are welcome!

    + +

    You can also reach other Kepler developers and users on the Kepler Project +mailing list.

    + +
    + +
    + +
    +

    Valid XHTML 1.0!

    +

    $Id: index.html,v 1.44 2009/02/04 21:21:33 carregal Exp $

    +
    + +
    + + + diff --git a/lfw/rocks/luafilesystem/1.5.0-1/doc/us/license.html b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/license.html new file mode 100644 index 00000000..4ecad4bd --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/license.html @@ -0,0 +1,122 @@ + + + + LuaFileSystem + + + + + + +
    + +
    + +
    LuaFileSystem
    +
    File System Library for the Lua Programming Language
    +
    + +
    + + + +
    + +

    License

    + +

    +LuaFileSystem is free software: it can be used for both academic +and commercial purposes at absolutely no cost. There are no +royalties or GNU-like "copyleft" restrictions. LuaFileSystem +qualifies as +Open Source +software. +Its licenses are compatible with +GPL. +LuaFileSystem is not in the public domain and the +Kepler Project +keep its copyright. +The legal details are below. +

    + +

    The spirit of the license is that you are free to use +LuaFileSystem for any purpose at no cost without having to ask us. +The only requirement is that if you do use LuaFileSystem, then you +should give us credit by including the appropriate copyright notice +somewhere in your product or its documentation.

    + +

    The LuaFileSystem library is designed and implemented by Roberto +Ierusalimschy, André Carregal and Tomás Guisasola. +The implementation is not derived from licensed software.

    + +
    +

    Copyright © 2003 Kepler Project.

    + +

    Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions:

    + +

    The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.

    + +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.

    + +
    + +
    + +
    +

    Valid XHTML 1.0!

    +

    $Id: license.html,v 1.13 2008/02/11 22:42:21 carregal Exp $

    +
    + +
    + + + diff --git a/lfw/rocks/luafilesystem/1.5.0-1/doc/us/luafilesystem.png b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/luafilesystem.png new file mode 100644 index 00000000..e1dd8c65 Binary files /dev/null and b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/luafilesystem.png differ diff --git a/lfw/rocks/luafilesystem/1.5.0-1/doc/us/manual.html b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/manual.html new file mode 100644 index 00000000..1409c404 --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/doc/us/manual.html @@ -0,0 +1,271 @@ + + + + LuaFileSystem + + + + + + +
    + +
    + +
    LuaFileSystem
    +
    File System Library for the Lua Programming Language
    +
    + +
    + + + +
    + +

    Introduction

    + +

    LuaFileSystem is a Lua library +developed to complement the set of functions related to file +systems offered by the standard Lua distribution.

    + +

    LuaFileSystem offers a portable way to access +the underlying directory structure and file attributes.

    + +

    Building

    + +

    +LuaFileSystem should be built with Lua 5.1 so the language library +and header files for the target version must be installed properly. +

    + +

    +LuaFileSystem offers a Makefile and a separate configuration file, +config, +which should be edited to suit your installation before running +make. +The file has some definitions like paths to the external libraries, +compiler options and the like. +

    + +

    On Windows, the C runtime used to compile LuaFileSystem must be the same +runtime that Lua uses, or some LuaFileSystem functions will not work.

    + +

    Installation

    + +

    The easiest way to install LuaFileSystem is to use LuaRocks:

    + +
    +luarocks install luafilesystem
    +
    + +

    If you prefer to install LuaFileSystem manually, the compiled binary should be copied to a directory in your +C path.

    + +

    Reference

    + +

    +LuaFileSystem offers the following functions: +

    + +
    +
    lfs.attributes (filepath [, aname])
    +
    Returns a table with the file attributes corresponding to + filepath (or nil followed by an error message + in case of error). + If the second optional argument is given, then only the value of the + named attribute is returned (this use is equivalent to + lfs.attributes(filepath).aname, but the table is not created + and only one attribute is retrieved from the O.S.). + The attributes are described as follows; + attribute mode is a string, all the others are numbers, + and the time related attributes use the same time reference of + os.time: +
    +
    dev
    +
    on Unix systems, this represents the device that the inode resides on. On Windows systems, + represents the drive number of the disk containing the file
    + +
    ino
    +
    on Unix systems, this represents the inode number. On Windows systems this has no meaning
    + +
    mode
    +
    string representing the associated protection mode (the values could be + file, directory, link, socket, + named pipe, char device, block device or + other)
    + +
    nlink
    +
    number of hard links to the file
    + +
    uid
    +
    user-id of owner (Unix only, always 0 on Windows)
    + +
    gid
    +
    group-id of owner (Unix only, always 0 on Windows)
    + +
    rdev
    +
    on Unix systems, represents the device type, for special file inodes. + On Windows systems represents the same as dev
    + +
    access
    +
    time of last access
    + +
    modification
    +
    time of last data modification
    + +
    change
    +
    time of last file status change
    + +
    size
    +
    file size, in bytes
    + +
    blocks
    +
    block allocated for file; (Unix only)
    + +
    blksize
    +
    optimal file system I/O blocksize; (Unix only)
    +
    + This function uses stat internally thus if the given + filepath is a symbolic link, it is followed (if it points to + another link the chain is followed recursively) and the information + is about the file it refers to. + To obtain information about the link itself, see function + lfs.symlinkattributes. +
    + +
    lfs.chdir (path)
    +
    Changes the current working directory to the given + path.
    + Returns true in case of success or nil plus an + error string.
    + +
    lfs.lock_dir(path, [seconds_stale])
    +
    Creates a lockfile (called lockfile.lfs) in path if it does not + exist and returns the lock. If the lock already exists checks it + it's stale, using the second parameter (default for the second + parameter is INT_MAX, which in practice means the lock will never + be stale. To free the the lock call lock:free().
    + In case of any errors it returns nil and the error message. In + particular, if the lock exists and is not stale it returns the + "File exists" message.
    + +
    lfs.currentdir ()
    +
    Returns a string with the current working directory or nil + plus an error string.
    + +
    iter, dir_obj = lfs.dir (path)
    +
    + Lua iterator over the entries of a given directory. + Each time the iterator is called with dir_obj it returns a directory entry's name as a string, or + nil if there are no more entries. You can also iterate by calling dir_obj:next(), and + explicitly close the directory before the iteration finished with dir_obj:close(). + Raises an error if path is not a directory. +
    + +
    lfs.lock (filehandle, mode[, start[, length]])
    +
    Locks a file or a part of it. This function works on open files; the + file handle should be specified as the first argument. + The string mode could be either + r (for a read/shared lock) or w (for a + write/exclusive lock). The optional arguments start + and length can be used to specify a starting point and + its length; both should be numbers.
    + Returns true if the operation was successful; in + case of error, it returns nil plus an error string. +
    + +
    lfs.mkdir (dirname)
    +
    Creates a new directory. The argument is the name of the new + directory.
    + Returns true if the operation was successful; + in case of error, it returns nil plus an error string. +
    + +
    lfs.rmdir (dirname)
    +
    Removes an existing directory. The argument is the name of the directory.
    + Returns true if the operation was successful; + in case of error, it returns nil plus an error string.
    + +
    lfs.setmode (file, mode)
    +
    Sets the writing mode for a file. The mode string can be either binary or text. + Returns the previous mode string for the file. This function is only available in Windows, so you may want to make sure that + lfs.setmode exists before using it. +
    + +
    lfs.symlinkattributes (filepath [, aname])
    +
    Identical to lfs.attributes except that + it obtains information about the link itself (not the file it refers to). + This function is not available in Windows so you may want to make sure that + lfs.symlinkattributes exists before using it. +
    + +
    lfs.touch (filepath [, atime [, mtime]])
    +
    Set access and modification times of a file. This function is + a bind to utime function. The first argument is the + filename, the second argument (atime) is the access time, + and the third argument (mtime) is the modification time. + Both times are provided in seconds (which should be generated with + Lua standard function os.time). + If the modification time is omitted, the access time provided is used; + if both times are omitted, the current time is used.
    + Returns true if the operation was successful; + in case of error, it returns nil plus an error string. +
    + +
    lfs.unlock (filehandle[, start[, length]])
    +
    Unlocks a file or a part of it. This function works on + open files; the file handle should be specified as the first + argument. The optional arguments start and + length can be used to specify a starting point and its + length; both should be numbers.
    + Returns true if the operation was successful; + in case of error, it returns nil plus an error string. +
    +
    + +
    + +
    + +
    +

    Valid XHTML 1.0!

    +

    $Id: manual.html,v 1.45 2009/06/03 20:53:55 mascarenhas Exp $

    +
    + +
    + + + diff --git a/lfw/rocks/luafilesystem/1.5.0-1/luafilesystem-1.5.0-1.rockspec b/lfw/rocks/luafilesystem/1.5.0-1/luafilesystem-1.5.0-1.rockspec new file mode 100644 index 00000000..1170ad25 --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/luafilesystem-1.5.0-1.rockspec @@ -0,0 +1,27 @@ +package = "LuaFileSystem" + +version = "1.5.0-1" + +source = { + url = "http://cloud.github.com/downloads/keplerproject/luafilesystem/luafilesystem-1.5.0.tar.gz", +} + +description = { + summary = "File System Library for the Lua Programming Language", + detailed = [[ + LuaFileSystem is a Lua library developed to complement the set of + functions related to file systems offered by the standard Lua + distribution. LuaFileSystem offers a portable way to access the + underlying directory structure and file attributes. + ]] +} + +dependencies = { + "lua >= 5.1" +} + +build = { + type = "module", + modules = { lfs = "src/lfs.c" }, + copy_directories = { "doc", "tests" } +} diff --git a/lfw/rocks/luafilesystem/1.5.0-1/rock_manifest b/lfw/rocks/luafilesystem/1.5.0-1/rock_manifest new file mode 100644 index 00000000..f04415b7 --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/rock_manifest @@ -0,0 +1,18 @@ +rock_manifest = { + doc={ + us={ + ['examples.html']='bc2c38e7bb14ee8a2c7dfde31d847589', + ['license.html']='d6b3b3fc89fc8e2632120161dbccb91c', + ['luafilesystem.png']='81e923e976e99f894ea0aa8b52baff29', + ['index.html']='3280eecd8a8213280ea6fc63aeca85d3', + ['manual.html']='4ce5fbcb073538cb5509c20e7fa4b13b' + } + }, + ['luafilesystem-1.5.0-1.rockspec']='f24df0bf7653276bcff6e80c53b45cb0', + lib={ + ['lfs.dll']='e0500be912db2d07f08b4c4de202046e' + }, + tests={ + ['test.lua']='ce1edc52d74c6d9a28aefb73c80c6f29' + } +} diff --git a/lfw/rocks/luafilesystem/1.5.0-1/tests/test.lua b/lfw/rocks/luafilesystem/1.5.0-1/tests/test.lua new file mode 100644 index 00000000..71110749 --- /dev/null +++ b/lfw/rocks/luafilesystem/1.5.0-1/tests/test.lua @@ -0,0 +1,130 @@ +#!/usr/local/bin/lua5.1 + +local tmp = "/tmp" +local sep = "/" +local upper = ".." + +require"lfs" +print (lfs._VERSION) + +function attrdir (path) + for file in lfs.dir(path) do + if file ~= "." and file ~= ".." then + local f = path..sep..file + print ("\t=> "..f.." <=") + local attr = lfs.attributes (f) + assert (type(attr) == "table") + if attr.mode == "directory" then + attrdir (f) + else + for name, value in pairs(attr) do + print (name, value) + end + end + end + end +end + +-- Checking changing directories +local current = assert (lfs.currentdir()) +local reldir = string.gsub (current, "^.*%"..sep.."([^"..sep.."])$", "%1") +assert (lfs.chdir (upper), "could not change to upper directory") +assert (lfs.chdir (reldir), "could not change back to current directory") +assert (lfs.currentdir() == current, "error trying to change directories") +assert (lfs.chdir ("this couldn't be an actual directory") == nil, "could change to a non-existent directory") + +-- Changing creating and removing directories +local tmpdir = current..sep.."lfs_tmp_dir" +local tmpfile = tmpdir..sep.."tmp_file" +-- Test for existence of a previous lfs_tmp_dir +-- that may have resulted from an interrupted test execution and remove it +if lfs.chdir (tmpdir) then + assert (lfs.chdir (upper), "could not change to upper directory") + assert (os.remove (tmpfile), "could not remove file from previous test") + assert (lfs.rmdir (tmpdir), "could not remove directory from previous test") +end + +-- tries to create a directory +assert (lfs.mkdir (tmpdir), "could not make a new directory") +local attrib, errmsg = lfs.attributes (tmpdir) +if not attrib then + error ("could not get attributes of file `"..tmpdir.."':\n"..errmsg) +end +local f = io.open(tmpfile, "w") +f:close() + +-- Change access time +local testdate = os.time({ year = 2007, day = 10, month = 2, hour=0}) +assert (lfs.touch (tmpfile, testdate)) +local new_att = assert (lfs.attributes (tmpfile)) +assert (new_att.access == testdate, "could not set access time") +assert (new_att.modification == testdate, "could not set modification time") + +-- Change access and modification time +local testdate1 = os.time({ year = 2007, day = 10, month = 2, hour=0}) +local testdate2 = os.time({ year = 2007, day = 11, month = 2, hour=0}) + +assert (lfs.touch (tmpfile, testdate2, testdate1)) +local new_att = assert (lfs.attributes (tmpfile)) +assert (new_att.access == testdate2, "could not set access time") +assert (new_att.modification == testdate1, "could not set modification time") + +local res, err = lfs.symlinkattributes(tmpfile) +if err ~= "symlinkattributes not supported on this platform" then + -- Checking symbolic link information (does not work in Windows) + assert (os.execute ("ln -s "..tmpfile.." _a_link_for_test_")) + assert (lfs.attributes"_a_link_for_test_".mode == "file") + assert (lfs.symlinkattributes"_a_link_for_test_".mode == "link") + assert (os.remove"_a_link_for_test_") +end + +if lfs.setmode then + -- Checking text/binary modes (works only in Windows) + local f = io.open(tmpfile, "w") + local result, mode = lfs.setmode(f, "binary") + assert((result and mode == "text") or (not result and mode == "setmode not supported on this platform")) + result, mode = lfs.setmode(f, "text") + assert((result and mode == "binary") or (not result and mode == "setmode not supported on this platform")) + f:close() +end + +-- Restore access time to current value +assert (lfs.touch (tmpfile, attrib.access, attrib.modification)) +new_att = assert (lfs.attributes (tmpfile)) +assert (new_att.access == attrib.access) +assert (new_att.modification == attrib.modification) + +-- Remove new file and directory +assert (os.remove (tmpfile), "could not remove new file") +assert (lfs.rmdir (tmpdir), "could not remove new directory") +assert (lfs.mkdir (tmpdir..sep.."lfs_tmp_dir") == nil, "could create a directory inside a non-existent one") + +-- Trying to get attributes of a non-existent file +assert (lfs.attributes ("this couldn't be an actual file") == nil, "could get attributes of a non-existent file") +assert (type(lfs.attributes (upper)) == "table", "couldn't get attributes of upper directory") + +-- Stressing directory iterator +count = 0 +for i = 1, 4000 do + for file in lfs.dir (tmp) do + count = count + 1 + end +end + +-- Stressing directory iterator, explicit version +count = 0 +for i = 1, 4000 do + local iter, dir = lfs.dir(tmp) + local file = dir:next() + while file do + count = count + 1 + file = dir:next() + end + assert(not pcall(dir.next, dir)) +end + +-- directory explicit close +local iter, dir = lfs.dir(tmp) +dir:close() +assert(not pcall(dir.next, dir)) +print"Ok!" diff --git a/lfw/rocks/luasocket/2.0.2-3/luasocket-2.0.2-3.rockspec b/lfw/rocks/luasocket/2.0.2-3/luasocket-2.0.2-3.rockspec new file mode 100644 index 00000000..aa1fa918 --- /dev/null +++ b/lfw/rocks/luasocket/2.0.2-3/luasocket-2.0.2-3.rockspec @@ -0,0 +1,34 @@ +package = "LuaSocket" +version = "2.0.2-3" +source = { + url = "http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz", + md5 = "41445b138deb7bcfe97bff957503da8e" +} +description = { + summary = "Network support for the Lua language", + detailed = [[ + LuaSocket is a Lua extension library that is composed by two parts: a C core + that provides support for the TCP and UDP transport layers, and a set of Lua + modules that add support for functionality commonly needed by applications + that deal with the Internet. + ]] +} +build = { + type = "make", + build_variables = { + CFLAGS = "$(CFLAGS) -DLUASOCKET_DEBUG -I$(LUA_INCDIR)", + LDFLAGS = "$(LIBFLAG) -O -fpic", + LD = "$(CC)" + }, + install_variables = { + INSTALL_TOP_SHARE = "$(LUADIR)", + INSTALL_TOP_LIB = "$(LIBDIR)" + }, + platforms = { + macosx = { + build_variables = { + CFLAGS = "$(CFLAGS) -DLUASOCKET_DEBUG -DUNIX_HAS_SUN_LEN -fno-common -I$(LUA_INCDIR)" + } + } + } +} diff --git a/lfw/rocks/luasocket/2.0.2-3/rock_manifest b/lfw/rocks/luasocket/2.0.2-3/rock_manifest new file mode 100644 index 00000000..08776c0a --- /dev/null +++ b/lfw/rocks/luasocket/2.0.2-3/rock_manifest @@ -0,0 +1,23 @@ +rock_manifest = { + ['luasocket-2.0.2-3.rockspec']='eb546dbbd806881232d4164ac2121d1a', + lua={ + ['ltn12.lua']='3dfc54ef5c4d74c9558b503ea5595d0d', + socket={ + ['ftp.lua']='a8fbe980f396bccfdaa5671a981e60cd', + ['url.lua']='2bb6b15f77e9fcf4fc028435d41ad748', + ['http.lua']='811e12534358f97907079ec49db9d753', + ['smtp.lua']='1d32e3dc5060e7e2f67b59e8f8376c63', + ['tp.lua']='b98814d6a43aa13dd01f78f3b573f4f6' + }, + ['mime.lua']='6042de20ee4cacb2089388f1038bb92b', + ['socket.lua']='f8d9f766ce71816a68c90bb12a29eed9' + }, + lib={ + socket={ + ['core.dll']='58a9887fb51f92e707c80f9ce4196d5c' + }, + mime={ + ['core.dll']='05efb07488c0ba45f35230b0066422f4' + } + } +} diff --git a/lfw/rocks/luazip/1.2.3-2/luazip-1.2.3-2.rockspec b/lfw/rocks/luazip/1.2.3-2/luazip-1.2.3-2.rockspec new file mode 100644 index 00000000..92a99872 --- /dev/null +++ b/lfw/rocks/luazip/1.2.3-2/luazip-1.2.3-2.rockspec @@ -0,0 +1,37 @@ +package = "LuaZip" +version = "1.2.3-2" +source = { + url = "http://luaforge.net/frs/download.php/2493/luazip-1.2.3.tar.gz" +} +description = { + summary = "Library for reading files inside zip files", + detailed = [[ + LuaZip is a lightweight Lua extension library used to read files + stored inside zip files. The API is very similar to the standard + Lua I/O library API. + ]], + license = "MIT/X11", + homepage = "http://www.keplerproject.org/luaexpat/" +} +dependencies = { + "lua >= 5.1" +} +external_dependencies = { + ZZIP = { + header = "zzip.h" + } +} +build = { + type = "make", + variables = { + LUA_VERSION_NUM="501", + }, + build_variables = { + LIB_OPTION = "$(LIBFLAG) -L$(ZZIP_LIBDIR)", + CFLAGS = "$(CFLAGS) -I$(LUA_INCDIR) -I$(ZZIP_INCDIR)", + }, + install_variables = { + LUA_LIBDIR = "$(LIBDIR)", + LUA_DIR = "$(LUADIR)" + } +} diff --git a/lfw/rocks/luazip/1.2.3-2/rock_manifest b/lfw/rocks/luazip/1.2.3-2/rock_manifest new file mode 100644 index 00000000..8b71eec7 --- /dev/null +++ b/lfw/rocks/luazip/1.2.3-2/rock_manifest @@ -0,0 +1,6 @@ +rock_manifest = { + lib={ + ['zip.dll']='2d450eb4b48a5d6fd8a7ce99f3e24e8e' + }, + ['luazip-1.2.3-2.rockspec']='b0086cd00fa9693c0083199e9b57e717' +} diff --git a/lfw/rocks/manifest b/lfw/rocks/manifest new file mode 100644 index 00000000..8f462a9c --- /dev/null +++ b/lfw/rocks/manifest @@ -0,0 +1,159 @@ +modules = { + ['socket.http']={ + 'luasocket/2.0.2-3' + }, + socket={ + 'luasocket/2.0.2-3' + }, + ['des56']={ + 'md5/1.1.2-1' + }, + ['md5.core']={ + 'md5/1.1.2-1' + }, + lfs={ + 'luafilesystem/1.5.0-1' + }, + ['md5']={ + 'md5/1.1.2-1' + }, + ['socket.ftp']={ + 'luasocket/2.0.2-3' + }, + ['socket.url']={ + 'luasocket/2.0.2-3' + }, + ['socket.smtp']={ + 'luasocket/2.0.2-3' + }, + ['mime.core']={ + 'luasocket/2.0.2-3' + }, + zip={ + 'luazip/1.2.3-2' + }, + ['ltn12']={ + 'luasocket/2.0.2-3' + }, + mime={ + 'luasocket/2.0.2-3' + }, + ['socket.tp']={ + 'luasocket/2.0.2-3' + }, + ['socket.core']={ + 'luasocket/2.0.2-3' + } +} +commands = {} +dependencies = { + luazip={ + ['1.2.3-2']={ + { + name='lua', + constraints={ + { + op='>=', + version={ + 5, 1, string='5.1' + } + } + } + } + } + }, + luafilesystem={ + ['1.5.0-1']={ + { + name='lua', + constraints={ + { + op='>=', + version={ + 5, 1, string='5.1' + } + } + } + } + } + }, + luasocket={ + ['2.0.2-3']={} + }, + ['md5']={ + ['1.1.2-1']={ + { + name='lua', + constraints={ + { + op='>=', + version={ + 5, 1, string='5.1' + } + } + } + } + } + } +} +repository = { + luafilesystem={ + ['1.5.0-1']={ + { + modules={ + lfs='lfs.dll' + }, + commands={}, + dependencies={}, + arch='installed' + } + } + }, + luazip={ + ['1.2.3-2']={ + { + modules={ + zip='zip.dll' + }, + commands={}, + dependencies={}, + arch='installed' + } + } + }, + luasocket={ + ['2.0.2-3']={ + { + modules={ + ['socket.http']='socket/http.lua', + socket='socket.lua', + ['socket.url']='socket/url.lua', + ['socket.smtp']='socket/smtp.lua', + ['socket.ftp']='socket/ftp.lua', + ['socket.core']='socket/core.dll', + ['ltn12']='ltn12.lua', + mime='mime.lua', + ['mime.core']='mime/core.dll', + ['socket.tp']='socket/tp.lua' + }, + commands={}, + dependencies={}, + arch='installed' + } + } + }, + ['md5']={ + ['1.1.2-1']={ + { + modules={ + ['md5.core']='md5/core.dll', + ['des56']='des56.dll', + ['md5']='md5.lua' + }, + commands={}, + dependencies={}, + arch='installed' + } + } + } +} diff --git a/lfw/rocks/md5/1.1.2-1/md5-1.1.2-1.rockspec b/lfw/rocks/md5/1.1.2-1/md5-1.1.2-1.rockspec new file mode 100644 index 00000000..66267018 --- /dev/null +++ b/lfw/rocks/md5/1.1.2-1/md5-1.1.2-1.rockspec @@ -0,0 +1,39 @@ +package = "MD5" +version = "1.1.2-1" +source = { + url = "" +} +description = { + summary = "Basic cryptographic library", + detailed = [[ + MD5 offers basic cryptographic facilities for Lua 5.1: + a hash (digest) function, a pair crypt/decrypt based on MD5 and CFB, + and a pair crypt/decrypt based on DES with 56-bit keys. + ]], + license = "MIT/X11", + homepage = "http://www.keplerproject.org/md5/" +} +dependencies = { + "lua >= 5.1" +} +build = { + type = "make", + variables = { + LUA_VERSION_NUM="501", + }, + build_variables = { + LIB_OPTION = "$(LIBFLAG)", + CFLAGS = "$(CFLAGS) -I$(LUA_INCDIR)", + }, + install_variables = { + LUA_LIBDIR = "$(LIBDIR)", + LUA_DIR = "$(LUADIR)" + }, + platforms = { + win32 = { + build_variables = { + LUA_LIB = "$(LUA_LIBDIR)\\lua5.1.lib" + } + } + } +} diff --git a/lfw/rocks/md5/1.1.2-1/rock_manifest b/lfw/rocks/md5/1.1.2-1/rock_manifest new file mode 100644 index 00000000..120edb5c --- /dev/null +++ b/lfw/rocks/md5/1.1.2-1/rock_manifest @@ -0,0 +1,12 @@ +rock_manifest = { + ['md5-1.1.2-1.rockspec']='a3953425b9c63515ae647a874fc07f96', + lua={ + ['md5.lua']='d4cd3727e9968f1cddbbe02d85288a9c' + }, + lib={ + ['des56.dll']='13ffbb58e4b1685d5d27b41840b88d43', + ['md5']={ + ['core.dll']='b925346324ca57f32d8c42541f881119' + } + } +} -- cgit v1.2.3-55-g6feb