Alex Orlenko
0e73ae18f4
Update CI
2021-01-16 13:32:38 +00:00
Alex Orlenko
e62fd400d7
Remove unused exports from glue.{c,rs} && Fix some clippy warnings
2021-01-16 13:31:45 +00:00
Alex Orlenko
1c79f646de
Update README
2021-01-16 13:31:34 +00:00
Alex Orlenko
7f5fd36a2b
Merge pull request #26 from wez/cross
...
Support cross compilation
2021-01-14 15:35:35 +00:00
Wez Furlong
faf19e4a06
Allow luajit to build in the pointer size cross compilation case
2021-01-13 20:01:12 -08:00
Wez Furlong
24d9099ef7
install more bits for cross compilation jobs
2021-01-13 10:38:08 -08:00
Wez Furlong
84003f31e7
Add CI for cross compilation cases
2021-01-13 10:18:53 -08:00
Wez Furlong
e0d9ec41e2
Support cross compilation
...
This commit teaches the build script to recognize when it is
cross-compiling and switch to an alternative approach for generating
the `glue.rs` module.
It defaults to the equivalent logic found in the lua headers to
set the default types and parameters.
Notably: it doesn't statically produce the default lua paths as we
cannot know these without either executing the code (not guaranteed
possible when cross compiling) or regexing out the paths from the
headers (a bit brittle). An alternative approach might be to use
something like `lazy_static` to ask the library for its compiled in
values once at runtime.
I've tested this with:
```
cargo build --target armv7-unknown-linux-gnueabihf --features lua51,vendored
cargo build --target armv7-unknown-linux-gnueabihf --features lua52,vendored
cargo build --target armv7-unknown-linux-gnueabihf --features lua53,vendored
cargo build --target armv7-unknown-linux-gnueabihf --features lua54,vendored
cargo build --target armv7-unknown-linux-gnueabihf --features luajit,vendored
```
All except luajit compile. Luajit itself doesn't cross compile, so I
don't think we can ever reasonably get that to work.
I haven't tried to run any of this yet; my use case is actually for mac
(https://github.com/wez/wezterm/pull/426 ) so I need to commit this and
try patching it in over there before I can see if that truly worked
end-to-end.
refs: https://github.com/khvzak/mlua/issues/14
2021-01-13 09:55:53 -08:00
Alex Orlenko
618874ef3c
v0.5.0
2020-12-31 13:39:42 +00:00
Alex Orlenko
9f82cbe0c5
Update documentation
2020-12-31 13:39:38 +00:00
Alex Orlenko
1a81f8d447
Update compile tests
2020-12-29 23:20:06 +00:00
Alex Orlenko
bedd430eb5
Re-export mlua_derive
2020-12-29 22:26:15 +00:00
Alex Orlenko
afc41ab23c
Add serialization example & update others
2020-12-29 21:39:34 +00:00
Alex Orlenko
c5d0ccc433
Add `reqwest` http client example to fetch json
2020-12-28 15:21:45 +00:00
Alex Orlenko
ce8955f5b9
Don't try to disable c modules without `package` loaded. Fix #24
2020-12-22 23:05:08 +00:00
Alex Orlenko
368c4428eb
Wider lua-src and luajit-src versions
2020-12-14 00:51:35 +00:00
Alex Orlenko
6e2b687cb7
Serde support (serialize feature flag)
2020-12-14 00:51:26 +00:00
Alex Orlenko
661f8e592a
Update num-traits dependency
...
Fix f32-to-f64 conversion tests
2020-11-04 21:22:24 +00:00
Alex Orlenko
c8a7aa947c
Update compile tests (temporary set TRYBUILD=overwrite)
2020-10-27 23:39:52 +00:00
Alex Orlenko
a52135b62d
Update compile tests error messages
2020-09-28 23:24:53 +01:00
Alex Orlenko
68378a3957
Merge pull request #15 from kaikalii/master
...
impl `ToLua` and `FromLua` for `HashSet` and `BTreeSet`
2020-09-28 23:14:17 +01:00
Kai Schmidt
c65058a40a
impl `ToLua` and `FromLua` for `HashSet` and `BTreeSet`
2020-09-27 17:54:47 -07:00
Alex Orlenko
93d63cef35
v0.4.2
2020-08-17 12:17:08 +01:00
Alex Orlenko
b743245aba
Update CHANGELOG
2020-08-17 11:14:40 +01:00
Alex Orlenko
a172c021c9
Update `set_memory_limit` doc
2020-07-30 12:16:25 +01:00
Alex Orlenko
de2c5cd9a9
Fix compilation warnings on nightly rust
2020-07-28 21:10:55 +01:00
Alex Orlenko
d201beadc9
Add ChunkMode enum to mark chunks as text or binary
2020-07-28 21:04:21 +01:00
Alex Orlenko
dd58cdad52
Add Function::dump() to dump lua function to a binary chunk
2020-07-27 23:26:33 +01:00
Alex Orlenko
5c8a5e0a5a
Merge pull request #9 from HybridEidolon/bytecode-chunks
...
Make Lua::load load binary chunks when unsafe
2020-07-27 14:19:33 +01:00
Alex Orlenko
e07c53eafe
Update compile tests (2)
2020-07-27 13:51:21 +01:00
Alex Orlenko
ad619390e1
Run compile tests on macos (was ubuntu-18.04)
2020-07-27 11:34:48 +01:00
Alex Orlenko
350602ab6e
Update `lua-src` dependency to 5.4.0
2020-07-27 10:52:28 +01:00
Alex Orlenko
4b1bc88273
Update compile tests
2020-07-27 10:49:01 +01:00
Eidolon
883bf082b9
Make Lua::load load binary chunks when unsafe
2020-07-27 03:37:38 -05:00
Alex Orlenko
4265250cfd
0.4.1 release
...
Fix docs.rs build features
Update Cargo.toml description
2020-06-08 14:08:07 +01:00
Alex Orlenko
1d9fed2207
0.4.0 release
2020-06-08 02:28:26 +01:00
Alex Orlenko
a67cbafff1
Run LuaJIT 2.0.5 tests in 1 thread
...
Seems there is a race in a LuaJIT 2.0 that makes the tests unstable.
Works ok on LuaJIT 2.1 and all Lua.
2020-06-08 02:19:53 +01:00
Alex Orlenko
39bcb19ae7
Update dependencies
2020-06-08 00:22:53 +01:00
Alex Orlenko
efcaef3db7
Enable hooks support for LuaJIT
2020-06-07 20:38:19 +01:00
Alex Orlenko
0a13a9631d
Fix LuaJIT 2.1 libraries loading
2020-06-07 20:38:19 +01:00
Alex Orlenko
3d42bc4ca6
Refactor main_state handling
...
Don't allow to set hook if main_state is not available
Remove Lua 5.1 dirty hack
2020-06-07 20:38:19 +01:00
Alex Orlenko
2eb40deafd
Add test to check loading module from lua coroutine (thread)
2020-06-07 20:38:19 +01:00
Alex Orlenko
2595fe9885
Update CHANGELOG
2020-06-07 20:38:19 +01:00
Alex Orlenko
4865089a78
Update README
2020-06-07 20:38:19 +01:00
Alex Orlenko
a35b8dda68
Raise compile_error! instead of panic! in the build script
2020-06-07 20:38:19 +01:00
Alex Orlenko
95b9fe8dac
Fix clippy warnings
2020-06-07 20:38:19 +01:00
Alex Orlenko
5952a1f709
New `module` feature
...
Don't link module with Lua core (see: http://lua-users.org/wiki/BuildingModules )
Example and tests for modules
2020-06-07 20:38:11 +01:00
Alex Orlenko
73c7c94d75
Remove default feature `lua53`
2020-06-06 16:07:16 +01:00
Alex Orlenko
d5c22d989a
Dirty hack to get lua 5.1 main state
2020-06-06 16:07:16 +01:00
Alex Orlenko
a9a4cf13f1
Add `has_metamethod` to `AnyUserData`
2020-06-06 16:07:16 +01:00
Alex Orlenko
c3822219e0
Add hooks support (based on rlua v0.17 implementation)
...
This feature works on lua54, lua53, lua52 and lua51 only.
LuaJIT is unstable.
2020-06-06 16:07:16 +01:00
Alex Orlenko
f6da437d8b
Update docs
2020-06-06 16:07:16 +01:00
Alex Orlenko
2fd6757f39
Add LuaJIT 2.0.5 stable support
2020-06-06 16:07:16 +01:00
Alex Orlenko
56407fac0d
Update CHANGELOG
2020-06-06 16:07:13 +01:00
Alex Orlenko
d0fa03e9c8
Bump version to 0.4.0-beta.1
2020-06-06 16:05:35 +01:00
Alex Orlenko
cccec914ca
Remove deprecated Table::call
2020-05-15 01:48:57 +01:00
Alex Orlenko
687ecc9247
Update documentation
2020-05-15 01:48:57 +01:00
Alex Orlenko
79bfb112aa
Remove redundant lifetimes
2020-05-15 01:48:57 +01:00
Alex Orlenko
60c659ecff
Add async http server example
2020-05-15 01:48:57 +01:00
Alex Orlenko
9f2d598517
Add clippy check and fix clippy warnings
2020-05-15 01:48:56 +01:00
Alex Orlenko
1492790ece
Update compile tests to include async/send features
2020-05-12 03:16:29 +01:00
Alex Orlenko
e88f086ed8
Update github workflow
2020-05-12 02:14:48 +01:00
Alex Orlenko
5a9a308790
Provide safe and unsafe Lua modes:
...
- In safe mode Lua would not have ability to load C code via `require` or `package.loadlib`
- Unsafe mode allows everything.
2020-05-12 02:14:48 +01:00
Alex Orlenko
1b2b94c808
Use Rust allocator for new Lua states that allows to set memory limit
2020-05-12 02:14:48 +01:00
Alex Orlenko
526e7418d8
Add MetaMethod::Close to support Lua 5.4 to-be-closed variables
2020-05-12 02:14:47 +01:00
Alex Orlenko
24d4f04c0d
Add Lua 5.4 to github workflow
2020-05-11 02:43:34 +01:00
Alex Orlenko
539b569ff4
Add Lua 5.4 (rc2) support
2020-05-11 02:43:34 +01:00
Alex Orlenko
5c226b4915
Lua 5.4 FFI
2020-05-11 02:43:34 +01:00
Alex Orlenko
d366ce0dd4
Scope support (including async)
2020-05-11 02:43:34 +01:00
Alex Orlenko
2bd5c2f6ca
Hide Lua "Send" capability under the optional "send" feature flag
2020-05-11 02:43:34 +01:00
Alex Orlenko
7b0e4b4280
Add Send capability to Lua
2020-05-11 02:43:34 +01:00
Alex Orlenko
6e2bb73cff
Bind Futures lifetimes to 'lua rather than 'static.
...
Fix async examples.
2020-05-11 02:43:34 +01:00
Alex Orlenko
7efcee853d
Don't allow 'callback outlive 'lua
2020-05-11 02:43:33 +01:00
Alex Orlenko
e9c2b8d306
0.3.2 release
2020-04-29 16:32:16 +01:00
Alex Orlenko
d672e19365
Add ToLua implementation for slices and arrays
2020-04-29 16:12:58 +01:00
Alex Orlenko
bda399a5b4
Get yield function in the moment of async callback creation.
...
This is usefull to temporary override `coroutine.yield` prior to create_async_callback()
and then restore to original value.
2020-04-28 14:29:36 +01:00
Alex Orlenko
fe5e87b0f5
Fix bugs with metatable cache:
...
- Don't use thread_local as Lua can be created in one thread and executed in another (in module mode);
- Make per state storage without luaL_ref;
2020-04-28 14:29:14 +01:00
Alex Orlenko
0f32e9cb43
0.3.1 release
2020-04-20 01:55:57 +01:00
Alex Orlenko
0efa0fcb6a
Update documentation
2020-04-20 01:52:01 +01:00
Alex Orlenko
4e19ae6ccf
Update tests (async and table)
2020-04-20 01:14:34 +01:00
Alex Orlenko
c826798a6d
Minor refactor
2020-04-19 16:51:35 +01:00
Alex Orlenko
ee08050c1f
Add TableExt trait with call_method/function methods
2020-04-19 16:15:16 +01:00
Alex Orlenko
d8897d867b
Update examples
2020-04-19 01:23:42 +01:00
Alex Orlenko
222f4df668
Add family of `call_async` function
...
Update documentation
Move async tests to a separate file
2020-04-18 21:26:12 +01:00
Alex Orlenko
afaa0eb639
0.3.0 release
2020-04-17 23:55:58 +01:00
Alex Orlenko
db5ad6bc60
Include async build/test to github workflow
2020-04-17 23:55:58 +01:00
Alex Orlenko
ef06c5eec9
Update Cargo.toml
2020-04-17 23:55:57 +01:00
Alex Orlenko
f7dc9da107
Update README
...
Cargo fmt and minor changes
2020-04-17 22:52:34 +01:00
Alex Orlenko
47e8a80c1c
v0.3.0-alpha.1 with async support
...
Squashed commit of the async branch.
2020-04-17 22:39:50 +01:00
Alex Orlenko
1a788c48f1
Cherry-pick changes from rlua:
...
- Make Value::type_name() public
- Update CallbackError and ExternalError Display impl
2020-04-15 21:23:00 +01:00
Alex Orlenko
d8b9c46d28
0.2.2 release
2020-02-09 22:21:34 +00:00
Alex Orlenko
9bd6d6fa92
Fix compile fail tests
2020-02-09 22:09:42 +00:00
Alex Orlenko
ea6e6e00b2
Update README.md
2020-02-09 21:48:50 +00:00
Alex Orlenko
03ed7f6f99
Fix compile test
2020-01-27 21:57:12 +00:00
Alex Orlenko
d5bc9c8c24
Combine lua-vendored and luajit-vendored features into "vendored"
2020-01-27 21:21:50 +00:00
Alex Orlenko
5cd0b645c4
Merge branch 'github_actions'
2020-01-25 23:07:31 +00:00
Alex Orlenko
bf36eb72f8
Move from circele-ci to github actions
2020-01-25 22:35:47 +00:00
Alex Orlenko
1f7f8f62ab
Merge branch 'lua_vendored'
2020-01-25 20:49:00 +00:00
Alex Orlenko
e4dc773aa3
Remove `__ipairs` metamethod deprecated in lua 5.3 and not available by default
2020-01-25 20:47:36 +00:00
Alex Orlenko
07fc4642ae
Support vendored versions of Lua and LuaJIT
2020-01-25 20:47:31 +00:00