Commit Graph

264 Commits

Author SHA1 Message Date
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
7b22916567 add 'instantiate_magic_result' to allow error handling
The previous `instantiate_magic!` macro contained a '?' and thus tried
to return with an error. This is inconvenient when trying to work with
specific serialized error types.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-25 10:22:32 +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
9a4968f9e8 perlmod-bin package for pm file generation
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 10:11: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
8d93a3de61 buildsys: make check should test test.pl output
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
be69408ca8 clippy fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-06-10 11:54:10 +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
218a1daf26 test: write modules at build time
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-29 10:55:41 +02:00
Wolfgang Bumiller
40d6ec96ea bump perlmod to 0.13.1-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-25 15:47:13 +01:00
Wolfgang Bumiller
cac2982a8b perlmod: expose ser::is_active
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-25 15:45:15 +01:00
Wolfgang Bumiller
f605d7cf0c bump perlmod to 0.13.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-04 09:03:48 +01:00
Wolfgang Bumiller
cd69debd78 fix utf8 support in substr_from_str_slice
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-02 13:47:03 +01:00
Wolfgang Bumiller
c9ec592f3e drop Result from substr_from_str_slice
and add `merge_str_slice` helper

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-02 12:46:48 +01:00
Wolfgang Bumiller
b61c34e6a7 bump perlmod to 0.12.2-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 15:17:24 +01:00
Wolfgang Bumiller
ff419b1922 allow string suffixes in substr_from_str_slice
the range check failed if the substr was a suffix due to the
range being exclusive on the end and end being the byte
after the last one

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 15:11:43 +01:00
Wolfgang Bumiller
73c3149eaa bump perlmod to 0.12.1-1
while this is technically an API break this is new and
not-yet used and we're in the 0.x versions after all...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 14:43:01 +01:00
Wolfgang Bumiller
24ca477715 move substr_from_str_slice from ScalarRef to Scalar
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 14:41:27 +01: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
68bc1c626f update readme
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
cf751e2164 experimental access to defstash
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:43:42 +01:00
Wolfgang Bumiller
a43bf932c7 experimental direct substr support
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-24 11:43:33 +01:00
Wolfgang Bumiller
de0edd74e3 fix 'cv' type in test
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-22 12:50:45 +01:00
Wolfgang Bumiller
a87395e67f doc updates
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-03 09:41:19 +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
481aa2fa5e doc fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-13 14:42:56 +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
2d5855cc5e rustfmt.toml: edition 2021
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-10 12:49:49 +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
fb27e167ba doc updates
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 09:12:00 +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
c7882155cf cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-07 09:11:41 +01:00
Wolfgang Bumiller
ebd82cb7ac perlmod: ffi: support visibility in perl_fn
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-04 09:55:53 +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
577f68753f perlmod: doc fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-23 10:40:59 +01:00
Wolfgang Bumiller
3e1adbd039 bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-17 14:24:44 +01:00