docs/readme.mdwn
author Myhailo Danylenko <isbear@ukrpost.net>
Sat, 05 Mar 2016 18:34:07 +0200
changeset 148 b222f4d111d9
parent 144 690b5524b895
permissions -rw-r--r--
lua: Add support for lua 5.3 (v0.0.4)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
     2
# Lua scripting for MCabber
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     3
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
     4
This module creates lua 5.1, 5.2 or 5.3 interpreter environment and puts some
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
     5
lua functions inside for your code to interact with mcabber.
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
     6
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
     7
Module provides mcabber command `/lua5.1`, `/lua5.2` or `/lua5.3` respectively
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
     8
and adds an alias `/lua` for that command. This command evaluates argument as
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
     9
lua code in created by module environment.
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    10
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    11
Note: If you load multiple versions, alial will point to the one, loaded last.
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    12
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    13
Lua functions, available in environment are described in api reference, built
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    14
with `docgen` help. It is also available
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    15
[[online|http://www.isbear.org.ua/docs/mcabber-lua/api/]].
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    16
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    17
In `examples` dir there are some example scripts, that may be used as is or for
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    18
reference. See also `README` in `examples` dir. They may be outdated, though.
87
36d94f12811b Small update to README
Myhailo Danylenko <isbear@ukrpost.net>
parents: 3
diff changeset
    19
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    20
# Installation
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    21
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    22
To install it, you need:
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    23
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    24
 * mcabber headers
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    25
 * liblua
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    26
 * glib
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    27
 * gmodule
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    28
 * docgen (optional, for documentation)
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    29
 * cmake
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    30
 * make
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    31
 * c compiler (gcc)
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    32
 * linker (binutils)
3
a5f864d4207f Fixes for build system
Myhailo Danylenko <isbear@ukrpost.net>
parents: 0
diff changeset
    33
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    34
Then do:
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    35
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    36
    $ mkdir build
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    37
    $ cd build
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    38
    $ cmake ..
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    39
    $ make edit_cache
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    40
    $ make
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    41
    # make install
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    42
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    43
Debian users can instead of make install do:
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    44
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    45
    $ make package
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    46
    # dpkg -i mcabber-mod-lua5.?_*.deb
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    47
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    48
Users of other distributions can select appropriate package generator,
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    49
using cache editor.
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    50
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    51
# Building options
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    52
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    53
Through `make edit_cache` action you can adjust module parameters.  Notably:
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    54
you can specify needed lua version with `WANT_LUA` variable, though you'll
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    55
need to do that from command line at first cache generation
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    56
(-DWANT_LUA=LUAX.X), otherwise cmake will not re-discover lua package; you can
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    57
disable aliasing `lua` command at module loading time by unsetting
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    58
`ENABLE_LUA_ALIAS`; you can adjust mcabber option names to be
144
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    59
version-specific, if you need both versions running simultaneously via
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    60
`OPT_MLUA_RC` and `OPT_MLUA_DEBUG`.
690b5524b895 v0.0.3 Module and command names include lua version
Myhailo Danylenko <isbear@ukrpost.net>
parents: 129
diff changeset
    61
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    62
# License
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    63
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    64
This code underlies terms of GNU GPL v2 or later. You can find it in
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    65
file COPYING from this distribution or on a GNU web-site
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    66
<http://www.gnu.org/licenses/>.
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    67
129
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    68
# Contact
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    69
ea30cf6c5bea Rearrange documentation
Myhailo Danylenko <isbear@ukrpost.net>
parents: 93
diff changeset
    70
I will be happy to get feedback, patches, suggestions, etc.
93
0a10228296c1 New module loading scheme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    71
You can send me email or contact via jabber <isbear@unixzone.org.ua>.
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    72
148
b222f4d111d9 lua: Add support for lua 5.3 (v0.0.4)
Myhailo Danylenko <isbear@ukrpost.net>
parents: 144
diff changeset
    73
  -- Myhailo Danylenko <risbea@gmail.com>
0
65cbecad22b4 Initial commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    74