From f2f7b6ffec7bf657966353c850d25c6ab218ff7c Mon Sep 17 00:00:00 2001 From: Vika Date: Tue, 22 Oct 2024 21:52:10 +0300 Subject: vendor libsecret The libsecret-rs crate is unmaintained, so I'm vendoring it for now. Bumping the glib version turned out to be enough. The exact process I used was: 1. Cloning the repository 2. Making changes 3. `cargo build` to ensure it works 4. `cargo package --no-verify` (b/c it tries to build all crates separately instead of the entire workspace as a whole) 5. `mkdir libsecret/sys -p` 6. `tar --strip-components 1 -C libsecret -xvf ../libsecret-rs/target/package/libsecret-0.6.0.crate` 7. `tar --strip-components 1 -C libsecret/sys -xvf ../libsecret-rs/target/package/libsecret-sys-0.6.0.crate` Then `Cargo.toml` is modified to ensure the libsecret and its `-sys` crate build out of my vendored sources. In the future, if I gain maintainership of the `libsecret` crate, I could just revert this commit to make it point back to the upstream. --- libsecret/src/auto/functions.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 libsecret/src/auto/functions.rs (limited to 'libsecret/src/auto/functions.rs') diff --git a/libsecret/src/auto/functions.rs b/libsecret/src/auto/functions.rs new file mode 100644 index 0000000..173139f --- /dev/null +++ b/libsecret/src/auto/functions.rs @@ -0,0 +1,41 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from +// from gir-files (https://github.com/gtk-rs/gir-files.git) +// DO NOT EDIT + +#[cfg(feature = "v0_19")] +#[cfg_attr(docsrs, doc(cfg(feature = "v0_19")))] +use crate::{Retrievable, Value}; +#[cfg(feature = "v0_18_6")] +#[cfg_attr(docsrs, doc(cfg(feature = "v0_18_6")))] +use crate::{Schema, SchemaType}; +use glib::{prelude::*, translate::*}; + +//#[cfg(feature = "v0_21_2")] +//#[cfg_attr(docsrs, doc(cfg(feature = "v0_21_2")))] +//#[doc(alias = "secret_attributes_validate")] +//pub fn attributes_validate(schema: &Schema, attributes: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 25 }/TypeId { ns_id: 0, id: 25 }) -> Result<(), glib::Error> { +// unsafe { TODO: call ffi:secret_attributes_validate() } +//} + +#[cfg(feature = "v0_18_6")] +#[cfg_attr(docsrs, doc(cfg(feature = "v0_18_6")))] +#[doc(alias = "secret_get_schema")] +#[doc(alias = "get_schema")] +pub fn schema(type_: SchemaType) -> Schema { + unsafe { from_glib_none(ffi::secret_get_schema(type_.into_glib())) } +} + +#[doc(alias = "secret_password_free")] +pub fn password_free(password: Option<&str>) { + unsafe { + ffi::secret_password_free(password.to_glib_none().0); + } +} + +#[doc(alias = "secret_password_wipe")] +pub fn password_wipe(password: Option<&str>) { + unsafe { + ffi::secret_password_wipe(password.to_glib_none().0); + } +} -- cgit 1.4.1