Commit Graph

98 Commits

Author SHA1 Message Date
Fabian Grünbichler
0d64d1093e perlmod-macro: bump to 0.8.3 2023-10-03 08:36:28 +02:00
Wolfgang Bumiller
cb86559d13 update to syn-2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-10-02 13:31:09 +02:00
Wolfgang Bumiller
b32c4fd40a bump perlmod to 0.13.3-1 and perlmod-macro to 0.8.2-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-26 09:59:42 +02:00
Wolfgang Bumiller
4600b0779f macro: move 'boot' call into the 'Once' section
This also means boot function call chains must not cause circular
dependencies at all without a way to mitigate this in code. If this
should ever be a problem, we can move it out again, but this should
rather not be necessary.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-26 09:58:01 +02:00
Wolfgang Bumiller
82b4d14ad3 macro: upgrade boot attribute to a full path
This is a lot more flexible than just a single ident.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-26 09:37:59 +02:00
Wolfgang Bumiller
e2d4ad4e96 macro: update docs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 13:46:39 +02:00
Wolfgang Bumiller
1017735ad0 macro: add 'boot' attribute to packages
This is supposed to be a function executed after the 'boot' method has
finished registering the XS callbacks.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 13:40:43 +02:00
Wolfgang Bumiller
63fcccaa50 macro: allow calling boot fns with None as parameter
This allows using them from other modules for initialization.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 13:32:47 +02:00
Wolfgang Bumiller
b94cbb8f16 macro: ensure bootstrap functions happen only once
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 13:31:37 +02:00
Wolfgang Bumiller
5dbce0d3d3 bump perlmod to 0.13.2-1 and perlmod-macro to 0.8.1-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 10:18:11 +02:00
Wolfgang Bumiller
0339198faf use workspace package variables
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 10:17:51 +02:00
Wolfgang Bumiller
56bb74b196 add ability to set the errno value
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-02 14:43:47 +02:00
Wolfgang Bumiller
2aa0c70d0d macro: add serialize_error attribute
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-02 11:45:20 +02:00
Wolfgang Bumiller
f381c740b4 macro: fix syntax error in non-result tuple case
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-02 10:41:32 +02:00
Wolfgang Bumiller
4b3ab550d2 bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-04-25 10:00:15 +02:00
Wolfgang Bumiller
76f6a079eb clippy fixes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-12-09 11:24:34 +01:00
Wolfgang Bumiller
f8b49fc1be clippy fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-09-22 10:00:33 +02:00
Wolfgang Bumiller
02e4344e7e clippy fixes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-08-01 10:41:11 +02:00
Wolfgang Bumiller
4d84aec490 clippy: don't explicitly drop args in generated code
While code seems to still compile, this was initially done
to explicitly get rid of potential borrows and doesn't seem
to be necessary anymore?

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-06-10 11:51:42 +02:00
Wolfgang Bumiller
67c90f2d75 bump perlmod to 0.12.0-1 and perlmod-macro to 0.8.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-28 11:09:07 +01:00
Wolfgang Bumiller
c15e1e1456 macro: add a write attribute to packages
the .pm file now gets written if either 'write=true' or
'file' is set, setting just 'lib' won't trigger a write
anymore

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-25 15:45:56 +01:00
Wolfgang Bumiller
08c14b8fc5 macro: rename boot symbol to boot_<module>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:44:03 +01:00
Wolfgang Bumiller
daf4841996 macro: only write package files if requested
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:44:03 +01:00
Wolfgang Bumiller
a51cd47f9e macro: drop span hack from error handling
copying the input doesn't seem to be required anymore

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:43:42 +01:00
Wolfgang Bumiller
cd52146822 bump perlmod & macro to 0.11.0-1 and 0.7.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-25 09:36:20 +01:00
Wolfgang Bumiller
8bb0c091bc cargo fmt
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-10 12:50:11 +01:00
Wolfgang Bumiller
2812f550d9 macro: pass 'cv' as Value
to reduce the amount of required unsafe blocks

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 15:59:33 +01:00
Wolfgang Bumiller
c25b213cc5 macro: use raw pointer for CV parameter
so generated xsubs are actually compatible with
Value::new_xsub

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 15:54:50 +01:00
Wolfgang Bumiller
e5c95f0414 macro: fix multiplicity parameter type
use ffi::Interpreter, same as what perlmod does via the
perl_fn macro

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 15:51:33 +01:00
Wolfgang Bumiller
77171723e3 macro: expose the 'cv' as parameter on exports
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 09:12:00 +01:00
Wolfgang Bumiller
9bf583ca64 macro: export: copy use chosen visibility
when using the export macro directly without a package we
previously always used
    #[no_mangle]
    pub extern "C"
now instead of 'pub' we copy the original function's
visibility

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-23 10:40:59 +01:00
Wolfgang Bumiller
100414d678 macro: fixup export visibility
commi 5491907876 was incomplete, this fixes up the
remaining 2 cases

Fixes: 5491907876 ("don't export xs wrappers from modules")
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-23 10:40:59 +01:00
Wolfgang Bumiller
86f538fe3f bump perlmod to 0.10.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-14 13:53:54 +01:00
Wolfgang Bumiller
e68855945d drop imports already in 2021 prelude
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-01 14:13:44 +01:00
Wolfgang Bumiller
381751a4e8 upgrade to edition 2021
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-01 13:48:40 +01:00
Wolfgang Bumiller
b44db4281d bump perlmod to 0.9.0 and perlmod-macro to 0.6.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-26 14:05:44 +01:00
Wolfgang Bumiller
4b5b75f1d8 macro: implement prototypes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-25 10:16:39 +01:00
Wolfgang Bumiller
4dc236a2d4 macro: allow optional option parameters
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-24 20:59:27 +01:00
Wolfgang Bumiller
5491907876 don't export xs wrappers from modules
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-24 20:45:11 +01:00
Wolfgang Bumiller
d6b0097481 macro: fix missing parameter name in error message
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-24 11:57:36 +01:00
Wolfgang Bumiller
5be6fc8362 bump perlmod-macro to 0.5.0-1 and perlmod to 0.8.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-28 09:22:39 +02:00
Wolfgang Bumiller
4632042632 perlmod, macro: detect perl's MULTIPLICITY flag
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 15:41:51 +02:00
Wolfgang Bumiller
4a0e18d9b3 calling convention 'fixup'
if we ever want to support mgvtbl methods we may need to add
support for detecting the pTHX_ parameter into our build.rs
scripts

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 13:47:58 +02:00
Wolfgang Bumiller
35762913de bump perlmod to 0.7.2 and perlmod-macro to 0.4.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-25 10:16:21 +02:00
Wolfgang Bumiller
83f19b9599 macro: implement bootstrap function in rust
with this, the generated .pm files don't contain any
exports anymore

when implementing a `perlmod-bindgen` utility to generate
.pm files, we can now also deprecate the `lib =` module
attribute on the `package` proc macro

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-21 11:28:29 +02:00
Wolfgang Bumiller
ebe0ba6487 bump perlmod version to 0.7.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-19 10:33:36 +02:00
Wolfgang Bumiller
449d746871 perlmod-macro: improve error handling
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:52:58 +02:00
Wolfgang Bumiller
f888c202cc perlmod-macro: drop anyhow dependency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:45:57 +02:00
Wolfgang Bumiller
b8ef338c1c bump perlmod-macro to 0.4.0 and perlmod to 0.6.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:14:00 +02:00
Wolfgang Bumiller
814014b874 macro: support env vars in package attributes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-13 12:52:02 +02:00